.jpg)
书: https://pan.baidu.com/s/1o53U8DJYBlzPKes4X47C8Q?pwd=ymj8
笔记如下:
- “ROS的核心思想是‘模块化通信’,节点(Node)通过话题(Topic)、服务(Service)和动作(Action)交互。”
- “
roscore
启动主节点,rosnode list
查看活跃节点,rostopic echo /topic
监听消息流。” - “消息类型(Message)定义接口规范,如
sensor_msgs/LaserScan
描述激光雷达数据。” - “
catkin_make
编译工作空间,package.xml
声明依赖,CMakeLists.txt
配置构建规则。” - “Rviz可视化传感器数据(如点云),
rqt_graph
动态显示节点通信拓扑。” - “URDF(Unified Robot Description Format)文件定义机器人模型,
<link>
描述部件,<joint>
指定连接关系。” - “Gazebo仿真中,
ros_control
插件实现关节控制,PID参数调优是关键。” - “
tf2
库管理坐标系变换,static_transform_publisher
发布静态坐标系关系。” - “导航栈(Navigation Stack)依赖
map_server
(地图)、amcl
(定位)和move_base
(路径规划)。” - “SLAM建图:
gmapping
或cartographer
处理激光数据,生成occupancy_grid
。” - “
rosbag record -a
录制数据包,rosbag play
回放,用于算法调试。” - “动作服务器(Action Server)支持长时间任务(如导航),可反馈进度和取消。”
- “
rosparam
存储全局参数,dynamic_reconfigure
实现运行时调参。” - “ROS-Industrial将ROS扩展到制造业,支持机械臂(如Fanuc、UR)的标准化接口。”
- “
roslaunch
启动多节点,<group>
分组管理,<include>
复用配置。” - “MoveIt!操控机械臂:
PlanningScene
设置环境,MoveGroupInterface
执行运动规划。” - “ROS 2的DDS通信取代TCPROS,支持实时性和分布式部署。”
- “
rosbridge
提供WebSocket接口,允许浏览器或移动端与ROS交互。” - “故障排查:
rosrun rqt_console rqt_console
查看日志,rostopic hz
检测消息频率。” - “开发准则:‘每个功能一个包,通信接口先设计,仿真验证再实机’。”