ROS命令工具
ros提供了丰富的命令行工具
命令 | 作用 |
---|---|
rostopic | 主题相关工具 |
rosservice | |
rosnode | 节点相关工具 |
rosparam | 参数相关工具 |
rosmsg | 消息相关工具 |
rossrv | $1 |
运行小海龟
开启一个终端,启动ros master
roscore
开启一个终端,启动小海龟仿真器
rosrun turtlesim turtlesim_node
开启一个终端,启动小海龟控制节点
rosrun turtlesim turtle_teleop_key
然后就可以用键盘上的方向键控制小海龟
rqt_graph 工具
查看计算图的工具,查看系统的全貌
如图所示, 里面有两个节点,一个topic 椭圆表示节点,
- teleop_turtle 键盘的节点,接收键盘的输入
- turtlesim 小海龟控制节点,接收teleop_turtle的控制信号,来控制小海龟运动
连个节点通过一个topic链接
- turtle1主题
rosnode 工具
Commands:
- rosnode ping: test connectivity to node
- rosnode list: list active nodes
- rosnode info: print information about node
- rosnode machine: list nodes running on a particular machine or list machines
- rosnode kill: kill a running node
- rosnode cleanup: purge registration information of unreachable nodes
rostopic 工具
topic相关工具
命令 | 含义 |
---|---|
rostopic bw | display bandwidth used by topic |
rostopic delay | display delay of topic from timestamp in header |
rostopic echo | print messages to screen |
rostopic find | find topics by type |
rostopic hz | display publishing rate of topic |
rostopic info | print information about active topic |
rostopic list | list active topics |
rostopic pub | publish data to topic |
rostopic type | print topic or field type |
现在我们可以通过主题向小海龟发送消息
rostopic pub
/turtle1/cmd_vel 消息主题
geometry_msgs/Twist 消息结构
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"
循环发布消息
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0"
rosmsg 工具
查看消息相关内容
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
rosservice工具
服务相关的工具
查看当前所有支持的服务
rosservice list
显示如下
/clear
/kill
/reset
/rosout/get_loggers
/rosout/set_logger_level
/spawn
/teleop_turtle/get_loggers
/teleop_turtle/set_logger_level
/turtle1/set_pen
/turtle1/teleport_absolute
/turtle1/teleport_relative
/turtlesim/get_loggers
/turtlesim/set_logger_level
比如再生成一个海龟,x和y表示生成海龟的位置,name表示生成海龟的名字
rosservice call /spawn "x: 0.0
y: 2.0
theta: 5.0
name: 'turtle2'"
rosbag工具
话题记录
rosbag record -a -O cmd_record
话题复现
rosbag play cmd_record.bag