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

  • Post author:
  • Post category:其他



概述

首先我们重新温习一下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

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

转载于:https://www.cnblogs.com/kay2018/p/10319359.html