ROS-2.ros工具简单认识

ROS命令工具

ros提供了丰富的命令行工具

命令 作用
rostopic 主题相关工具
rosservice
rosnode 节点相关工具
rosparam 参数相关工具
rosmsg 消息相关工具
rossrv $1

运行小海龟

开启一个终端,启动ros master

roscore

开启一个终端,启动小海龟仿真器

rosrun turtlesim turtlesim_node

开启一个终端,启动小海龟控制节点

rosrun turtlesim turtle_teleop_key

然后就可以用键盘上的方向键控制小海龟

rqt_graph 工具

查看计算图的工具,查看系统的全貌
ROS-2.ros工具简单认识_第1张图片
如图所示, 里面有两个节点,一个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

你可能感兴趣的:(ROS,ros)