【ROS2概论】
【ROS2概论】
ROS2在机器人中的作用:神经网络
将传感器的数据发送给决策系统,然后将决策系统的输出发送给执行器执行。
本质上用于快速搭建机器人的软件库(核心是通信)和工具集
ROS2系统架构
操作系统层:提供基础硬件驱动(网卡驱动、USB驱动、摄像头驱动)
DDS实现层:基于实时发布订阅协议
DDS接口层
ROS2客户端层
应用层
开发特色
核心通信机制
话题(Topic)通信:发布-订阅(Publish-Subscribe) 数据单向传递
服务(Service)通信:服务端(Service)和客户端(Client)
参数通信:主要用于机器人参数设置和读取
动作通信:处理客户端时可反馈处理进度并随时取消 用于复杂机器人行为
调试工具
RViz 三维可视化
rqt 可视化图标、图像数据
ros2 bag 数据记录和回放
建模与运动学工具
TF 运动学坐标转换与管理
URDF 描述机器人结构、关节、传感器等信息
开源工具
Gazebo 仿真工具
Navigation2 移动机器人导航
Moveit2 机械臂运动规划
调试:海龟模拟器
启动
ros2 run turtlesim turtlesim_node
ros2 run:使用ros2运行程序
turtlesim:程序包名称
turtlesim_node:可执行文件名称
控制方向
ros2 run turtlesim turtle_teleop_key
节点关系图rqt
【话题通信】
/turtle1/cmd_vel : 话题名称
起点:话题发布者
终点:话题订阅者