【ROS入门21讲】ROS命令行工具的使用
本文章是针对bilibili古月居up的【ROS入门21讲】所作的笔记,笔记从第8讲开始,主要记录一些关键内容方便查阅。
视频连接:【ROS入门21讲】
课件及源码:
链接: https://pan.baidu.com/s/1UUGTN1DI-2eCeRc80OUKcg?pwd=e23b
提取码: e23b
常用指令
- rostopic
- rosservice
- rosnode
- rosparam
- rosmsg
- rossrv
以小海龟为例
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
执行rqt_graph
查看计算图。
1、查看话题列表
rosnode list
2、发布话题消息: -r 代表频率,这里意思是一秒执行10次。
用方向键控制小海龟就是调用的这个话题。
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"
3、发布服务请求:
rosservice
通过call
来获取服务信息,下列指令意思是:在x、y创建一个name为tutle2的小海龟,旋转角度为theta。
rosservice call /spawn "x: 5.0
y: 5.0
theta: 0.0
name: 'turtle2'"
记录数据与复现
为了减少反复进行实验,可以利用rosbag
将实验时的数据进行保存,这样就可以在室内通过记录的数据来进行复现。
1、话题记录数据
以小海龟为例:
rosbag
通过record
实现记录,-a
代表记录所有数据,-O
代表输出的数据文件的名称,默认生成在你的主目录。
rosbag record -a -O cmd_record
2、控制小海龟移动
这时候通过方向键控制小海龟移动,rosbag
会记录移动数据,ctrl+c退出。
3、话题复现数据
rosbag
通过play
实现话题数据的复现,执行以下指令:
rosbag play cmd_record.bag
总结
1、常用命令
2、查看ros命令的列表
3、可视化计算图
4、rostopic发布话题
5、rosbag记录话题数据
6、rosbag复现话题数据