学习资料参考:ROS机器人开发实践(胡春旭)
Launch 启动文件: 通过XML文件实现多节点的配置和启动 (真的好用)
简化一个节点一个终端的复杂情况
Launch File
- 同时启动多个节点
- 自动启动ROS Matser
- 每个节点的配置
基本元素
1. <launch> … </launch>
2. <node pkg="package-name" type="executable-name" name="node-name" />
参数设置
<param>
<rosparam> 将YAML格式文件全部加载
<arg> 仅限launch文件使用
重映射机制
嵌套复用
<include file="$(dirname/other.launch">
TF坐标变换:坐标系变换关系
TF功能包维护
TF功能包
- 树形结构
- 根据时间缓冲并维护多个坐标系
- 三维坐标系
- 世界坐标系(World Frame)
- 基坐标系(base Frame)
- 机械夹爪坐标系(Gripper Frame)
- 机器人头部坐标系(Head Frame)
- TF以时间为轴跟踪坐标系(默认10s内)
- 使用步骤
- 监听TF变换:接受并缓存,查询
- 广播TF变换:每个广播直接将坐标变换插入TF树中,不需要再进行同步
- TF工具
1. tf_monitor
2. tf_echo
3. static_transform_publisher
4. view_frames
Qt工具箱:机器人开发的可视化工具
rviz三维可视化平台
(订阅topic比如/scan就可以看到点云效果)
gazebo仿真环境
(自由度堪比minecraft)
rosbag数据记录与回放
(可以让机器人重复之前的动作)