启动ROS Master
$ rescore
启动小海龟仿真器
$ rosrun turtlesim turtlesim_node
启动海龟控制节点
$ rosrun turtlesim turtle_teleop_key
强制退出: CRTL+C
自动补全: TAB
图(Graph)概念概览
- 节点(Nodes):一个节点是ROS下面一个可执行程序,使用ROS与其他节点进行通信。
- 消息(Messages):将数据订阅或者发布到主题时使用数据类型结构。
- 主题(Topics):节点可以发布消息到主题,或者订阅主题来接收消息,以此实现和其他节点的数据交互。
- 主机节点(Master):主机节点提供命名服务,以帮助节点找到其他节点。
- ROS输出(rosout):在ROS中等价于stdout或者stderr(ROS中的标准输出)
- ROS核心(roscore):主机节点+标准输出+参数服务器。
可视化工具查看系统中运算的计算图,节点之间的关系
$ rqt_graph
查看节点列表
$ rosnode list
查看某节点信息
$ rosnode info <name>
查看所有topic列表
$ rostopic list
查看service列表
$ rosservice list
发布话题信息
-r 数字 以(数字)Hz的频率重复此命令
$ rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist"linear:
x:0.0
y:0.0
z:0.0
angular:
x:0.0
y:0.0
z:0.0"
发布服务请求(产生新海龟)
$ rosservice call/spawn "x:0.0
y:0.0
theta:0.0
name:' '"
话题记录,记录接下来的所有操作
-a 即all,把所有的操作 -O 打包压缩 <名字>
$ resbag record -a -O cmd_record
话题复现
$ rosbag play cmd_record.bag