ROS机器人操作系统——ROS命令行工具的使用(三)

ROS机器人操作系统

文章目录

前言
一、启动小海龟
二、工具介绍
1.rqt_graph可视化工具
2.rosnode节点
三、rostopic话题
四、rosmsg查看数据结构
五、rosservice服务
五、话题记录复现
总结
前言

一、启动小海龟

启动ROS Master管理器

roscore


启动小海龟仿真器

rosrun turtlesim turtlesim_node


启动小海龟控制节点

rosrun turtlesim turtle_teleop_key

要把光标放在小海龟控制节点终端上才可以用上下左右控制小海龟移动

二、工具介绍

1.rqt_graph可视化工具

rqt开头的都是基于QT的可视化工具,可以直观的看到很多信息

rqt_graph:用于显示系统计算图的工具

通过这张图可以看到海龟是由两个节点和节点之间的话题组成的一个系统,turtleslm仿真器节点,teleop_turtle键盘控制节点,用turtle1/cmd_vel话题进行通讯。

2.rosnode节点

用于显示系统当中所有节点相关信息

有ping list info 等等
list 显示所有的节点

可以看到相关的节点,rosout是启动rosmaster启动后系统自动启动的节点

info 显示节点的具体信息

可以看到节点正在发布哪些话题,下面可以看到有小海龟的颜色,位置

也可以看到节点订阅了哪些话题,可以看到turtle1/cmd_vel,通过这个话题订阅进行节点之间的连接

三、rostopic话题


list 打印所有的话题列表

pub 发布数据给话题
输入rostopic pub /turtle1/cmd_vel按两次tab键进行补全

rostopic pub /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"

可以看到linear线速度和angular角速度

发布后小海龟向前运动一段距离,我们可以加上循环

-r 循环 ,10每10秒发布一次

四、rosmsg查看数据结构



可以看到Twist的数据结构

五、rosservice服务


可以看到所有的服务类型,例如spawn产生,用call调用发布请求

按两次tab键进行补全,x y是产生新的小海龟的坐标,theta角度 ,name名字

按下回车后会返回小海龟的名字


可以看到有两个小海龟了

五、话题记录复现

话题记录

rosbag record -a -O cmd_record

-a保存所有数据 -o name保存包的名字


可以看到有个文件保存了下来
话题复现

rosbag play cmd_record.bag

总结

今天初步了解了ROS的命令行的使用,相较于纯粹的硬件真的方便很多。