ROS(三)——命令行工具的使用

ROS命令行工具的使用

命令行工具都是以ros开头的

常用命令

  • rostopic
  • rosservice
  • rosnode
  • rosparam
  • rosmsg
  • rossrV

 

以安装时作为验证的turtlesim小海龟仿真器为例

turtlesim是一个功能包名

那三步操作分别对应着

启动ROS Master ——>启动小海龟仿真器——>启动海龟控制节点

roscore是用来启动ROS Master的

ROS Master是ROS中所有节点的管理器,也是运行ROS系统当中必须要首先运行起来的

使用rosrun命令来运行一个节点。rosrun是用来运行我们在某个功能包里面某个节点的指令,后面要跟两个参数,一个是功能包名,一个是功能包里面的要运行的节点名

turtle_teleop_key是键盘控制节点

在turtle_teleop_key的页面下按方向键海龟才会动

 

rqt_graph  用来显示系统计算图

通过计算图可以看到系统全貌

turtlesim仿真器节点

teleop_turtle键盘控制节点

两个节点之间有一个话题 turtle1/cmd_vel做通讯

 

rosnode 显示系统当中所有节点相关信息

rosnode list  把系统中所有节点都列出来

/rosout是默认出现的,用于提交日志信息

 

rosnode info + 节点   查看某一个节点的具体信息

正在发布哪些话题、正在订阅哪些话题

 

rostopic  话题相关的命令

用指令发布数据让海龟移动

rostopic list 打印出当前系统所有的话题列表

我们的键盘控制节点和海龟仿真器节点之间是通过话题 /turtle1/cmd_vel 做通信的

我们同样也可以 通过指令给话题发布数据,让海龟运动

 

rostopic pub 话题名  消息结构 数据

rostopic pub 话题名 后按两次tab键就可以补全了

线速度,角速度    每个速度都有一个xyz的分量

单位是米/秒和弧度/秒

如果我们修改为这样,海龟将会按照1.0米/秒的速度向前运动

动了这一段又停下来了 

是因为pub指令只会发布一次,海龟不会一直在动

想让海龟一直在动我们可以给它一个循环

rostopic pub -r 10 

-r是频率,-r 10 就是10HZ的频率,1s中发布10次

可以看到海龟将一直运动知道撞墙

此时按ctrl+c 即可结束

 

还可以修改角速度

 

rosservice 服务相关命令

rosservice list 列出所有服务

服务的服务端都是仿真器,终端都是作为客户端去请求某个服务的

 

spawn 这个服务是用来产生一个新的海龟

rosservice call /spawn

按两下tab也是可以自己补全

x和y是坐标,以左下角为零点

theta是角度

两行name,第二行是给的反馈信息

再用rostopic list查看可以看到turtle2的topic

 

话题记录rosbag

记录当前系统中的所有话题数据,保存下来,下次用的时候再复现出来

这一般用在例如有一个无人机,想做调试,但是不可能每一次都让飞机飞起来做调试,这非常不方便。

一般会做一次飞行,飞行时把所有数据都保存下来,回到实验室再把数据复现出来,再做实验

rosbag record -a -O cmd_record

-a就是-all,把所有数据都保存下来

-O 是把数据保存成一个压缩包

cmd_record就是压缩包的名称


数据就保存在当前用户目录下

下面来复现一下

把之前的所有内容都先关掉(关掉就是ctrl+c就可了)

重新启动一下

roscore和仿真器节点

不启动键盘控制节点

下面通过数据包来复现已经录好的指令

rosbag play cmd_record.bag

 

 

 

 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值