ROS调试方法

小乌龟的例子

//三种终端分别启动
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

话题

rostopic list -v 查看当前系统活跃的话题


【读】在终端上查看某个话题分布的消息
rostopic echo topic_name


【写】在终端中用命令行发布消息
rostopic pub -r rate-in-Hz topic_name message_type message_content 问题来了,我们通过rostopic list 实际上可以知道 topic_name 、
message_type,但是要发布消息,怎么知道消息的具体内容呢
rosmsg show message_type

例子:

$ rostopic list -v

Published topics:
* /turtle1/color_sensor [turtlesim/Color] 1 publisher
* /turtle1/cmd_vel [geometry_msgs/Twist] 1 publisher
* /rosout [rosgraph_msgs/Log] 3 publishers
* /rosout_agg [rosgraph_msgs/Log] 1 publisher
* /turtle1/pose [turtlesim/Pose] 1 publisher

Subscribed topics:
* /turtle1/cmd_vel [geometry_msgs/Twist] 2 subscribers
* /rosout [rosgraph_msgs/Log] 1 subscriber


rostopic echo /turtle1/cmd_vel
linear:   //在 rosrun turtlesim turtle_teleop_key 终端中 按键盘上下左右
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: -2.0


rosmsg show geometry_msgs/Twist
geometry_msgs/Vector3 linear
float64 x
float64 y
float64 z
geometry_msgs/Vector3 angular
float64 x
float64 y
float64 z
通过查看消息类型 包括位移线速度3个元素 角速度3个元素
表示的时候可用 ‘[x,y,z]’ ‘[x,y,z]’
rostopic pub -r 1 /turtle1/cmd_vel   geometry_msgs/Twist ‘[4.0, 0.0, 0.0]’ ‘[0.0, 0.0, 2.8]’


rostopic hz topic_name 测量发布频率(每秒发布的信息数量)
rostopic bw topic_name 测量带宽 (每秒发布消息所占的字节量)

你可能感兴趣的:(ROS机器人系统)