命令行
命令都是以ros开头的
- roscore -启动ROS Master
- rosrun -启动一个节点(打开一个新的终端) rosrun+功能包名+节点名
输入rosrun+功能包名+tab键 可以看到功能包内所有节点
以一个小海龟程序为例
- 在终端输入rosecore
- 新打开一个终端 输入rosrun turtlesim turtlesim_node 出现一个小海龟
- 打开一个新的终端rosrun turtlesim turtle_teleop_key 用上下左右键控制海龟运动
- 打开一个新的终端 rqt_graph 可以看到系统计算图,了解系统结构运作
- rosnode +回车 可以获取帮助信息
- rosnode list 把所有节点都列出来 其中出现rosout是系统默认
- rosnode info [节点名] 获取node具体信息
- rostopic list 列出当前系统话题列表
- rostopic pub [话题名称] [消息类型] [参数] 发布话题消息
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
ros单位都是米和弧度
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
-r 是频率rate 10是频率参数10次/秒
- rosservice list 输出服务列表
- rosservice call调用服务
生成一个新的turtle2
rosservice call /spawn "x:5.0
y:5.0
theta:0.0
name:'turtle2'"
- rosbag record 话题记录
rosbag record -a -o cmd_record
例如就可以把小海龟的运动记录下来
- rosbag info
rosbag info cmd_record.bag
可以看到这个bag文件记录了多少消息,记录的是哪个topic的消息,消息的类型是什么等。
至此利用rosbag采集(记录)数据工作就完成了
- rosbag play话题复现
rosbag play cmd_record.bag
网友评论