ROS学习_基础

ROS命令行工具使用

一、常用命令

  • roscore :启动ros
  • rosrun :rosrun [package_name] [node_name] 调用节点 参数为功能包名和节点名称
  • rosnode :rosnode list 列出当前运行的节点
  • rqt_graph :可视化当前运行的节点
  • rostopic :进行话题的操作
    • rostopic pub :发布话题消息
    • rostopic type :查看消息类型
  • rosservice :进行服务的操作
    • rosservice call:发布服务请求
  • rosparam
  • rosmsg :获取消息的详细信息
  • rossrv

二、示例:海龟仿真

  1. 启动ROS Master:$roscore

  2. 启动海龟仿真器:$rosrun turtlesim turtlesim_node

  3. 启动海龟控制节点:$rosrun turtlesim turtle_teleop_key
    注意:这三个命令分别在三个终端执行。

  4. 运行
    ROS学习_基础_第1张图片

三、发布话题消息

发布消息 让海龟一直移动。

  1. 先查看消息类型
~$ rostopic type /turtle1/cmd_vel 
geometry_msgs/Twist

~$ 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
  1. 编写参数
~$ 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
"

注意:参数对齐

  1. 运行
    ROS学习_基础_第2张图片

四、发布服务请求

发布服务请求,添加新的海龟。

  1. 查看请求信息
~$ rosservice info /spawn
Node: /turtlesim
URI: rosrpc://ros2go:39063
Type: turtlesim/Spawn
Args: x y theta name

  1. 发布请求
~$ rosservice call /spawn "
 x: 5.0
 y: 5.0
 theta: 0.0
 name: 'turtle2'
 "
name: "turtle2"

  1. 运行
    ROS学习_基础_第3张图片

五、话题和服务的区别

  1. 话题 (Topic)
  • 节点间的异步通信机制
  • 使用 发布/订阅 模型
  • 话题数据:消息(Message) 文件格式.msg
    ROS学习_基础_第4张图片
  1. 服务 (Service)
  • 节点间的同步通信机制
  • 使用 客户端/服务器(C/S) 模型
  • 数据:文件格式.srv
    ROS学习_基础_第5张图片

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