《Ubuntu20.04环境下的ROS学习笔记2》

一、ROS中常用的命令行工具介绍

rqt_ 图形化界面相关

rosnode 节点相关

rostopic 话题相关

rosmeg 消息相关

rosservice 服务相关

rosbag 包相关操作

二、ROS中常用的命令行详细实现

1、rqt_graph查看ROS图

这里一共要打开四个终端(ctrl+alt+T)

第一个终端输入 roscore

第二个终端输入 rosrun turtlesim turtlesim_node

第三个终端输入 rosrun turtlesim turtle_teleop_key

第四个终端输入 rqt_graph

可以看到一个qt的弹窗,里面画出了两个节点,一个是键盘节点tuetleop_turtle,一个是海龟仿真器节点turtlesim,他们之间使用话题turtle1,传递消息cmd_vel。

不了解相关知识的这里放个传送门:7.ROS的核心概念_哔哩哔哩_bilibili

2、rosnode list 列出当前ROS系统中正在运行的节点。

rosnode list 

3、rosnode info + /节点名  显示节点的详细信息

在海龟程序没关的情况下,我们可以使用

rosnode info /turtlesim

4、rostopic list 列出当前ROS系统中正在发布消息的话题

rostopic list

5、rostopic pub /turtle1/cmd_vel + 双击TAB 发布话题(修改y值)

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
  x: 0.0
  y: 1.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0"

其中可以在pub后面加上-r 10参数,代表着发布10次。

同时linear代表着线速度单位为m/s,angle代表着角速度单位为rad/s

值得一提的是pub 后面的/turtle1/cmd_vel 是话题名,而geometry_msgs/Twist "linear:……是话题中的内容即消息。

6、rosmeg show + 消息 来查看消息的数据结构

rosmeg show geometry_msgs/Twist

7、rosservice list 列出当前ROS系统中的可用服务

rosservice list

其中可以看到rosservice中有一个叫做 /spawn 的服务,这个服务可以产生一个新的海龟。

8、rosservice call /spawn + 双击TAB 产生一个新海龟(修改参数可以修改出生位置和海龟名字)

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

同时我们可以使用rostopic list来查看新生成海龟的话题。

9、rosbag record -a -O + 记录的名字 可以记录当前话题。

rosbag recode -a -O cmd_bag

10、rosbag play + 记录的名字 可以复现记录的动作

rosbag play cmd_record.bag

但因为起始的状态不同,会略有不同。如果想看到一样的,可以重新打开一个终端,记录一个没有使用过的海龟。

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值