ROS-ROS命令(四)rostopic: ROS话题

概述

  首先我们重新温习一下ROS术语。

命令 详细说明
rostopic list  显示活动的话题目录
 rostopic echo [话题名称]  实时显示指定话题的消息内容 
rostopic find [类型名称]   显示使用指定类型的消息的话题 
 rostopic type [话题名称] 显示指定话题的消息类型 
rostopic bw [话题名称]   显示指定话题的消息带宽(bandwidth) 
rostopic hz [话题名称]   显示指定话题的消息数据发布周期 
 rostopic info [话题名称]  显示指定话题的信息 
 rostopic pub [话题名称] [消息类型] [参数] 用指定的话题名称发布消息 

  在运行ROS话题示例之前,请先关闭所有节点。通过在不同的终端窗口中分别运行以下命令来运行turtlesim_node和turtle_teleop_key。

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

rostopic list:列出活动话题

  rostopic list命令显示当前正在发送和接收的所有话题的列表。

rostopic list

 

  通过将“-v”选项添加到rostopic list命令,可以分开发布话题和订阅话题,并将每个话题的消息类型一起显示。

rostopic list -v

rostopic echo [话题名称]:实时显示指定话题的消息内容

  以下示例实时显示组成/turtle1/pose话题的x、y、theta、linear_velocity和angular_velocity的数据。

rostopic echo /turtle1/pose

rostopic find [类型名称]:显示使用指定类型的消息的话题

rostopic find turtlesim/Pose

 rostopic type [话题名称]:显示指定话题的消息类型

rostopic type /turtle1/pose

rostopic bw [话题名称]:显示指定话题的消息数据带宽(bandwidth)

  在以下示例中,用于/turtle1/pose话题的数据带宽平均为每秒1.25 KB。

rostopic bw /turtle1/pose

rostopic hz [话题名称]:显示指定话题的消息数据发布周期

  在以下示例中,用户可以检查/turtle1/pose数据的发布周期。从结果可以看出,该消息以大约62.5Hz(0.016秒= 16毫秒)的频率被发布。

rostopic hz /turtle1/pose

 rostopic info [话题名称]:显示指定话题的信息

  在以下示例中,用户可以看到/turtle1/pose话题使用turtlesim/Pose消息类型,发布到/turtlesim节点,并且没有实际订阅的话题。

rostopic info /turtle1/pose

rostopic pub [话题名称] [消息类型] [参数]:使用指定的话题名称发布消息

  以下是使用/turtle1/cmd_vel话题名称发布类型为geometry_msgs/Twist的消息的示例。

rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- ‘[2.0, 0.0, 0.0]’ ‘[0.0, 0.0, 1.8]’

  每个选项的描述如下。

  • -1只发布一次消息(实际上只运行一次,但会像以前的结果一样运行3秒)。
  • /turtle1/cmd_vel 指定的话题名称
  • geometry_msgs/Twist 要发布的消息类型名称
  • -- ‘[2.0, 0.0, 0.0]’ ‘[0.0, 0.0, 1.8]’ 在x轴坐标上以每秒2.0 m的速度移动,以z轴为中心,每秒旋转1.8rad

 反映了发布的消息的画面(忽略横线那条)

 

posted @ 2019-01-25 14:14  kay880  阅读(31162)  评论(0编辑  收藏  举报