ROS2
文章平均质量分 78
ROS
Chris·Bosh
感谢你的关注,希望认识更多大佬。研究生在读,水论文方向视觉动态SLAM(SLAM太难了感觉毕不了业了),希望动这方面的大佬能够多多指点。
博客作为本人的学习笔记,学习历程以及本人学习过程中遇到的问题和解决办法,希望能对大家有所帮助。
展开
-
rikibot机器人调参
先看下面两步,按照另一个配置文件改!这个是模板,按照这个改上面的!原创 2024-03-25 13:38:49 · 586 阅读 · 0 评论 -
ROS2通信机制额外内容(2)
一个完整的机器人系统启动之后,其组成是比较复杂的,可能包含十几个、几十个甚至上百个节点,不同的节点可能又包含一个或多个通信对象(话题发布方、话题订阅方、服务端、客户端、动作服务端、动作客户端、参数服务端、参数客户端),通信时还需要使用到各种各样的msg、srv或action接口消息,那么在开发过程中,如何才能方便的获取这些节点、话题、服务、动作、参数以及接口相关的信息呢?①可以通过命令 -h 或 命令 --help的方式查看命令帮助文档,比如:ros2 node -h或 ros2 node --help。原创 2024-03-13 20:46:47 · 921 阅读 · 0 评论 -
ROS2通信机制额外内容(1)
经过前面四种通信机制的学习,ROS2的大致结构如下:当然,其中还有一些问题。原创 2024-03-12 20:57:31 · 1064 阅读 · 0 评论 -
ROS2参数服务的实现
保存参数的节点称之为参数服务端,调用参数的节点称之为参数客户端。参数客户端与参数服务端的交互是基于请求响应的,且参数通信的实现本质上对服务通信的进一步封装。导航实现时,会进行路径规划,路径规划主要包含,全局路径规划和本地路径规划,所谓全局路径规划就是设计一个从出发点到目标点的大致路径;上述场景中,就可以使用参数服务实现,在一个节点下保存车辆尺寸数据,其他节点可以访问该节点并操作这些数据。需求: 编写参数客户端, 获取或修改服务端参数。需求: 编写参数服务端, 设置并操作参数。然后colcon build。原创 2024-03-10 12:51:31 · 498 阅读 · 0 评论 -
ROS2动作通信的实现
就功能而言动作通信类似于服务通信,动作客户端可以发送请求到动作服务端,并接收动作服务端响应的最终结果,不过动作通信可以在请求响应过程中获取连续反馈,并且也可以向动作服务端发送任务取消请求;就底层实现而言动作通信是建立在话题通信和服务通信之上的,目标发送实现是对服务通信的封装,结果的获取也是对服务通信的封装,而连续反馈则是对话题通信的封装。需求:编写动作客户端实现,可以提交一个整型数据到服务端,并处理服务端的连续反馈以及最终返回结果。CMakeLists怎么该就不说了,前面两个已经说得很清楚了!原创 2024-03-09 20:24:23 · 686 阅读 · 0 评论 -
ROS2服务通信的实现
服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即:一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A。也就是数据分析节点A需要向相机相关节点B发送图片存储请求,节点B处理请求,并返回处理结果。机器人巡逻过程中,控制系统分析传感器数据发现可疑物体或人…此时需要拍摄照片并留存。别忘了修改CMakeLists文件。①创建并编辑 .srv文件;原创 2024-03-04 19:38:32 · 498 阅读 · 0 评论 -
ROS2通信机制的简介、话题通信的实现、rqt计算图
需求:以固定频率发布学生信息功能包cpp01_topic的src目录下,新建C++文件demo03_talker_stu.cpp源码:注意CMakeLists需要修改然后还是编译,运行,这里就不再演示!需求:订阅发布方发布的学生消息,并输出到终端。功能包cpp01_topic的src目录下,新建C++文件demo04_listener_stu.cpp源码:然后还是编译,运行,这里就不再演示!注意CMakeLists需要修改。原创 2024-03-03 17:30:39 · 1010 阅读 · 2 评论 -
ROS2体系框架
ROS2内置了三维可视化工具rviz2,它可以图形化的方式显示机器人模型或显示机器人系统中的一些抽象数据。ROS2是一个分布式架构,不同的ROS2设备之间可以方便的实现通信,这在多机器人设备协同中是极其重要的。通过launch文件,可以批量的启动ROS2节点,这是在构建大型项目时启动多节点的常用方式。rqt是一个图形化工具,它的功能与命令行工具类似,但是图形化的交互方式更为友好。在ROS2中提供了丰富的命令行工具,可以方便的调试程序、提高开发效率。ROS2中是如何控制机器人底盘运动的?原创 2024-03-01 17:18:42 · 726 阅读 · 0 评论 -
ROS2----运行helloworld、集成开发环境的搭建
每次终端中执行工作空间下的节点时,都需要调用. install/setup.bash指令或者source install/setup.bash指令,使用不便,优化策略是,可以将该指令的调用添加进~/setup.bash。上述指令执行完毕,将创建ws00_helloworld目录,且该目录下包含build、install、log、src共四个子级目录。vscode官网:https://code.visualstudio.com/Download。这样不在工作空间下,哪怕新建一个终端我们也可以直接运行了!原创 2024-02-29 21:13:42 · 654 阅读 · 0 评论