// 开启一个终端,启动ros
roscore
// 新开启一个终端,开启一个turtlesim节点
rosrun turtlesim turtlesim_node
// 新开启一个终端,启动键盘控制小海龟功能
rosrun turtlesim turtle_teleop_key
// 查看节点
rqt_graph
// 节点相关
rosnode
以下是rosnode的参数
// 话题相关
rostopic
以下是rostopic的参数
给小海龟发布指令:线性(linear)速度移动
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
将x轴方向的线性速度修改为1.0,会观察到小海龟移动一小段距离就停下来了(修改x的值时使用键盘左右键移动)
-r
设置循环执行频率,10代表每1秒钟发布10次,此时小海龟一直移动。撞墙终端会出现警告信息。ctrl+c停止该指令
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
//消息相关
rosmsg
以下是rosmsg的参数
// 服务相关
rosservice
以下时rosservice的参数
使用rosservice添加另外一只小海龟。左右方向键移动光标,修改参数
rosbag话题记录
a:all
rosbag record -a -O cmd_record
接着鼠标点击小海龟键盘控制的终端,键盘方向键让小海龟运动几下,产生一些数据。然后鼠标点击你输入rosbag命令的终端,ctrl+c退出。小海龟键盘控制终端是这个:
打开home文件夹,会看到cmd_record.bag文件。这个文件保存了我们刚才对小海龟的操作。
接下来找到启动roscore,turtlesim的终端,ctrl+c退出。再先后在相应终端重新启动roscore,turtlesim
退出后重新启动
复现rosbag记录写来的操作数据,在原来输入rosbag的终端输入
rosbag play cmd_record.bag
小海龟就会根据记录下的操作按照时间顺序执行