
头头のROS学习笔记
文章平均质量分 67
头头のROS学习笔记
煜个头头
哈工深在读研究生,本科华南理工大学。2021RoboMaster机甲大师赛华南虎电控组成员,热衷于机器人相关知识,也是个热爱生活的人!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用QT打包发布ROS程序
使用QT进行ROS上位机的开发是一件很高效的事情,但是一人高效不是高效,一个团队一起高效才是真的高效。这就要求开发出来的QT上位机可以以最快的速度出现在其他人的手中,并且正常工作。1. 生成Release文件(1) 选择生成Release文件(2) 修改项目配置将CMAKE_PREFIX_PATH的值修改为ROS的下载路径(3) 编译生成可执行文件点击QTcreator中的小锤子进行编译,编译生成的可执行文件放在了devel/lib/xxx(xxx为ros package名称) 路径下。2原创 2022-04-10 13:31:55 · 1290 阅读 · 4 评论 -
ROS学习笔记(9)---ros-navigation的应用
这篇文章用于记录如何理解及调用ROS中的导航功能包ros-navigation,对机器人做导航。1. 框架move_base定位:核心节点,是导航过程运动控制的最终执行机构。通过订阅move_base_simple/goal来获取目标点插件:global_planner:用于全局路径规划local_planner:用于局部路径规划golobal_costmap:全局代价地图用于描述全局环境信息local_costmap:局部代价地图用于描述局部环境信息recovery_behavior原创 2022-03-12 13:50:40 · 2487 阅读 · 0 评论 -
ROS学习笔记(8)---更合理地使用ROS框架
本文章用于记录本人在使用ROS进行开发的过程中,摸索出来的一套比较通用的ROS框架1. 文件框架由于ROS实际上就是一套通信架构,所以节点的功能实现与节点构成的通信网络是可以相互分离的。在工程较小的情况下,可以将功能实现与节点通信写在一个文件中。在工程较大的情况下,将实现与通信分离,并且最好将自定义msg单独出来,防止使用过程中功能包的相互包含。2. 节点示例代码/* Node.cpp */#include "ros_network/Node.h"void Node::Node_I.原创 2022-03-07 23:22:01 · 352 阅读 · 0 评论 -
ROS学习笔记(7)---自定义消息及应用
该文章用于记录ROS中如何更合理地使用自定义msg以及如何在不同功能包中进行调用1. 消息定义msg代码示例#Test.msgfloat32[] datafloat32 velgeometry_msgs/Pose posestring namei.在<package.xml>中添加功能包依赖<build_depend>message_generation</build_depend><exec_depend>message_runti.原创 2022-03-07 22:45:01 · 470 阅读 · 0 评论 -
ROS学习笔记(6)---功能包封装成库以及调用
在使用ROS功能包的时候,一个功能包有时候需要调用其他功能包中的函数或者类定义,所以需要将一个功能包封装成库以便其他功能包进行调用例:A功能包调用B功能包的类1. 将B功能包封装为库(1)修改CmakeLists.txtadd_library(lib_name src/code.cpp)(2)修改package.xml <export> <!-- Other tools can request additional information be placed her原创 2022-02-16 16:36:11 · 2486 阅读 · 0 评论 -
ROS学习笔记(5)---自定义消息的探究
这篇博客主要用于排坑1.消息定义的数据类型定义时一定要注意加入数据位数,如float类型应写为float322.同一个消息可以在多个功能包中使用,不需要重复定义例:在A功能包调用B功能包中的消息1.修改A功能包的package.xml#添加以下语句<build_depend>b_package</build_depend><build_export_depend>b_package</build_export_depend><exec原创 2022-02-15 23:33:22 · 489 阅读 · 0 评论 -
Webots和ROS联合仿真探索(三):搭建仿真环境和仿真模型(四轮差分小车)
说明:本篇文章用于介绍使用webots搭建简单的四轮差分小车模型,参考了多篇已有的文章,由于是第一次搭建,不准确之处欢迎批评指正。联系方式:2250017028@qq.com环境搭建可以参考该文章:webots环境搭建1.车身添加Robot节点,并将其配置为固定节点2. 添加外观和物理属性i.首先在children中添加Base_nodes/Shape节点,并配置appearance和geometry属性ii. 配置物理属性和碰撞属性物理属性使用默认参数即可,碰撞属性将上面的Shape原创 2021-11-04 20:32:47 · 1590 阅读 · 1 评论 -
Webots和ROS联合仿真探索(二):模型导入
模型导入方式:urdf文件导入关于sw模型如何生成urdf文件,可以参考我的另一篇文章sw模型生成urdf文件的详细流程1.安装urdf2webots功能包pip install urdf2webots2.模型转换在任一路径打开终端pythonfrom urdf2webots.importer import convert2urdf#path指urdf文件的路径convert2urdf('path')#exampleconvert2urdf('/home/jozenlee/catki原创 2021-10-27 01:25:55 · 1804 阅读 · 6 评论 -
sw模型生成urdf文件的详细流程
作为一个电控选手,本来觉着自己不会去碰solidworks,特别是从sw模型到urdf这个极度繁琐的过程。但是当我发现咸鱼上面一次转换需要50-70块,我就决定这活还是得自己做。期间遇到了很多bug,希望记录下来对需要做这个工作的人有一定的帮助。常用的快捷键按住鼠标中键——旋转模型Tab(Shift+Tab)——隐藏(显示)鼠标所在位置的零件。空格——选择视图显示所有隐藏1.第一步确定基准轴,坐标系注意事项:1.坐标系要2.第二步选择joint和link,3.第三步选择配置参数原创 2021-10-23 22:48:45 · 7168 阅读 · 11 评论 -
使用VScode搭建ROS开发调试环境
说明:由于VScode的扩展之多,ROS也有相关的拓展插件,通过该拓展可以实现使用VScode来运行和调试ROS中某个节点。第一步:创建工作空间参考我的另一篇文章ROS的安装和基础用法第二步:安装插件第三步:修改VScode配置文件c_cpp_propertiesjson文件:主要是添加路径。功能包相关的路径不用添加,这个只要正常创建功能包,对应的路径就会添加进去。{ "configurations": [ { "browse": { .原创 2021-10-12 02:28:24 · 1038 阅读 · 0 评论 -
基于ROS+Moveit搭建机器人控制系统(仿真+实体)(二):控制框架的搭建
搭建控制框架说明:该框架经过了多次迭代(目前也仍在进行),融合了gazebo以及网上绝大多数的控制框架,作了一定的改进,结构清晰,欢迎大家一起学习,有问题请私聊我,或者邮箱联系我2250017028@qq.com。1.框架图蓝色线表示正常的控制流程,红色线表示测试流程,即不考虑下位机的通信两者仅存其一。2.节点作用分析(只给出主要代码)trajectory_controller定位:接收上层的控制指令,将其转换为目标点信息。基于各关节位置/末端位姿进行路径规划。发布指令原创 2021-10-03 01:19:18 · 1959 阅读 · 0 评论 -
基于ROS+Moveit搭建机器人控制系统(仿真+实体)(一):修改moveit配置文件+搭建文件框架
基于ROS+Moveit搭建机器人控制系统(仿真+实体)项目介绍: 该项目是本人参与开发的一个六自由度机械臂(目前仍在开发中),这个系列都是关于该机械臂ROS部分的控制框架搭建,轨迹解算,下位机通信,外设控制(遥控器/键盘)等部分知识。底层的下位机控制也会涉及位控部分,力控目前能力不足(若后期资金充足,使用如海泰这种具有扭矩反馈的电机,也会考虑做,届时会更新相关的知识),关于更上层的视觉处理部分则不会涉及。有问题欢迎私信我,或者邮箱联系我2250017028@qq.com第一部分:修改moveit配置原创 2021-10-03 00:19:49 · 1870 阅读 · 0 评论 -
ROS学习笔记(4)---ROS的视觉应用
13.ROS中的视觉应用1.安装SDKsudo apt install ros-melodic-realsense2-camerasudo apt install ros-melodic-realsense2-description2.安装ROS驱动git clone https://github.com/IntelRealSense/realsense-ros.gitcd realsense-ros/git checkout `git tag | sort -V | grep -P "^2原创 2021-09-07 01:04:57 · 1016 阅读 · 0 评论 -
ROS学习笔记(3)---机械臂项目实战
1.URDF建模定位: 使用XML格式描述机器人模型的文件基本概念及语法(1)link[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XpfM1kHV-1630947457949)(https://z3.ax1x.com/2021/08/21/fxYEcQ.png)](2)joint[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yw34YH1u-1630947457952)(https://z3.ax1x.com/2021/08/21原创 2021-09-07 01:02:10 · 3286 阅读 · 3 评论 -
ROS学习笔记(2)---进阶用法学习
1.参数的使用与编程配置方法参考ROS学习笔记(1)中的话题示例常用的参数命令行#列出当前的参数rosparam list#显示某个参数值 rosparam get param_key #设置某个参数值 rosparam set param_key param_value #保存参数到文件 rosparam dump file_name #从文件读取参数 rosparam load file_name #删除参数 rosparam del原创 2021-09-07 00:56:24 · 620 阅读 · 0 评论 -
ROS学习笔记(1)---ROS的安装和基础用法
ROS安装按照官方所给的方法,在使用rosdep init和rosdep update命令时会非常慢,而且经常会失败,即便是科学上网也难以解决。所以我们采用下载源码+修改文件安装地址的方式来进行ROS的安装具体过程参考ROS安装ROS基础语法1.工作空间的创建(1)创建并初始化工作空间mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspace(2)编译工作空间,并生成安装空间cd ~/catkin_ws/catk原创 2021-09-07 00:51:01 · 993 阅读 · 0 评论