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系统 常用命令行工具的使用的主要内容,如果未能解决你的问题,请参考以下文章