ROS

发布时间 2023-07-28 17:03:26作者: HuiPuKui

ROS 命令行的使用

以小海龟为例

启动 ROS Master
$ roscore
启动小海龟仿真器
$ rosrun turtlesim turtlesim_node
启动海龟控制节点
$ rosrun turtlesim turtle_teleop_key
image

用以显示系统计算图类工具

rqt_graph
image

显示系统中所有节点相关的指令 rosnode

将所有系统当中的节点都列出来
$ rosnode list
查看节点信息
$ rosnode info /turtlesim

话题相关的命令行工具 rostopic

话题列表
$ rostopic list
pub 发布数据给某一个 topic
$ rostopic pub 话题名 消息结构 "具体数据"

$ rostopic pub /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" 
  // 海龟会动起来
  
  // -r 10 一秒钟发布 10 次指令
  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" 

消息相关 msg

查看消息结构
$ rosmsg show geometry_msgs/Twist
image

服务相关命令行 rosservice

查看列表
$ rosservice list
image
/spawn 是产生海龟

$  rosservice call /spawn "x: 2.0
y: 2.0
theta: 0.0
name: 'turtle2'" 

image

话题记录和复现 rosbag

记录所有数据
$ rosbag record -a -o cmd_record
复现
$ rosbag play cmd_record.bag
image

创建工作空间与功能包

工作空间(workspace)是一个存放工程开发相关文件的文件夹

  • src:代码空间
  • build:编译空间
  • devel:开发空间
  • install:安装空间