以小海龟为例子
1、启动ROS Master
roscore
这行命令行是用来启动ROS Master,ROS Master是ROS里面所有节点的管理器,也是我们在运行ros系统时首先运行的一个指令
2、启动小海龟仿真器
接下来我们使用rosrun来启动一个节点
rosrun turtlesim turtlesim_node
rosrun是用来运行某个功能包里面的某个节点的指令,后面需要跟俩个参数,一个是功能包名(也就是上面的turtlesim),另一个是功能包里面的节点名(也就是上面的turtlesim_node )
3、启动海龟控制节点
运行键盘控制节点
rosrun turtlesim turtle_teleop_key
介绍工具
rqt_graph
在ros里面,有一系列以rqt开头的工具,他们都是基于qt的可视化工具,利用他们我们可以得到一些很直观的信息。
而rqt_graph它是一个用来显示系统计算图对工具
可以看到,这个界面很清晰的列出来了ros系统里面运行的2个节点。
一个是turtlesim仿真器节点,一个是teleop_turtle键盘控制节点,2个节点之间通过 /turtle1/cmd_vel这个话题来通讯,话题里面的数据内容就是速度指令的内容
rosnode
rosnode是用来显示ros系统中所有节点的相关信息的指令
rostopic
rostopic是用来显示ros系统中所有话题的相关信息的指令
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: 2.0"
-r 10
的意思是以1秒钟发10次这个频率去发送数据
Twist
这个数据结构包括2部分,linear
(线速度)和angular
(角速度)
每个速度都包含x,y,z三个分量
话题记录与话题复现
-a的意思是-all选择记录全部数据
-O的意思是将这记录的数据保存为一个名字叫cmd_record的文件