ROS系统 常用命令行工具的使用

Posted ʚVVcatɞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS系统 常用命令行工具的使用相关的知识,希望对你有一定的参考价值。

启动ROS Master

roscore

启动小海龟仿真器

rosrun turtlesim turtlesim_node

启动海龟控制节点

rosrun turtlesim turtle_teleop_key

使用rqt_graph可视化工具查看系统汇总运行的计算图

rqt_graph

在这里插入图片描述
使用rosnode命令可以查看ros节点相关的信息。
1.rosnode list命令可以列出运行的ros节点

rosnode list

在这里插入图片描述
注:rosout为ROS默认的话题。

查看具体的节点信息

rosnode info /节点名称

例如:

rosnode info /teleop_turtle
rosnode info /rosout

在这里插入图片描述
在这里插入图片描述
通过以上节点信息可以看到,该节点正在发布的一些话题信息、订阅的话题信息、服务配置信息等等。

查看当前系统所有话题列表

rostopic list 

在这里插入图片描述
使用指定的话题名称发布消息

rostopic pub [话题名称] [消息类型] [参数]:使用指定的话题名称发布消息
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 10.0
  y: 20.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0" 

注:输入 rostopic pub /turtle1/cmd_vel geometry_msgs/Twist 使用该命令后双击2次Tab键,即可补全剩余指令。
在这里插入图片描述

  • /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” :x轴坐标上以每秒0 m的速度移动,y轴坐标上以每秒0 m的速度移动,z轴为中心,每秒旋转0rad。

当对参数进行设置时,小海龟会根据坐标进行移动,每次执行pub命令只能移动一次。
在这里插入图片描述
如果要使海龟连续运动:

rostopic pub -r 5 /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 2.0
  y: 2.0
  z: 90.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0" 
  • -r 5 :一秒发布五次的频率,让海龟进行位移。
rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 2.0
  y: 2.0
  z: 90.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0" 
  • -1只发布一次消息。

注:-1 和 -r 不能在命令中同时出现,否则会报错。
在这里插入图片描述
查看话题数据类型的具体定义

rosmsg show [消息类型]

例如:
查看geometry_msgs/Twist的具体定义

rosmsg show geometry_msgs/Twist

在这里插入图片描述

显示活动中的服务的信息(会显示在同一网络中使用的所有服务)。

rosservice list

在这里插入图片描述
使用 rosservice 命令在TurtleSim中产生多个海龟。

rosservice call /spawn "x: 5.0
y: 5.0
theta: 0.0
name: 'vvcat1'"
  • x :X坐标位置
  • y :Y坐标位置
  • theta :角度
  • name:海龟的名字

在这里插入图片描述
再次使用 rostopic list 命令可以看到,当前系统增加的几个话题列表。

在这里插入图片描述

话题记录

rosbag record -a -O [名字]
  • record:用指定主题的内容记录一个包文件。

例如:

rosbag record -a -O cmd_move_record
  • -a:保存所有数据
  • -O:保存成压缩包
  • cmd_move_record:保存的名字
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

话题复现

rosbag play 名字.bag
  • play :以一种时间同步的方式回放一个或多个包文件的内容。

例如:

rosbag play cmd_move_record.bag

执行该命令后,会对文件中记录的轨迹重新复现,无需使用键盘来操作,海龟会自动按照文件中保存的轨迹进行移动。
在这里插入图片描述

以上是关于ROS系统 常用命令行工具的使用的主要内容,如果未能解决你的问题,请参考以下文章

ROS1学习笔记:ROS命令行工具的使用(ubuntu20.04)

ros命令汇聚

ros命令汇聚

ROS大型工程学习 ROS常用命令行

ROS基础笔记一

wstool ros空间管理工具