ROS命令行工具的使用
Posted 等不到星光等时光呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS命令行工具的使用相关的知识,希望对你有一定的参考价值。
前言:ROS常用命令及其功能
rosnode | 显示系统当中所有节点相关信息 |
---|---|
rqt_graph | 用来显示系统计算图 |
rostopic | 话题相关的命令 |
rosservice | 服务相关命令 |
rosbag | 话题记录与复现 |
一、小海龟仿真器实例
1、在Ubuntu系统中打开一个终端,输入以下命令运行ROS的节点管理器——ROS Master,这是ROS必须运行的管理器节点。
roscore
2、然后打开一个新终端,使用rosrun命令启动turtlesim仿真器节点.
rosrun turtlesim turtlesim_node
3、该例程会通过键盘控制小乌龟在界面中的移动,现在仿真界面已经出现了,我们还需要打开一个新终端,运行键盘控制的节点。
rosrun turtlesim turtle_teleop_key
之后就可以通过键盘控制小海龟的移动了。下面最终运行的结果。
需要注意的是:
使用rosrun命令来运行一个节点。
rosrun是用来运行我们在某个功能包里面某个节点的指令,后面要跟两个参数,一个是功能包名,一个是功能包里面的要运行的节点名。
turtle_teleop_key是键盘控制节点
在turtle_teleop_key的页面下按方向键海龟才会动
二、ROS中的常用命令
1、rosnode 显示系统当中所有节点相关信息
在rosnode 后面加入相应的参数可以实现不同的功能,在Ubuntu系统中打开一个终端,输入rosnode回车后,会有相应的参数信息,及其功能。
(1)rosnode list 把系统中所有节点都列出来
(2)rosnode info + 节点 查看某一个节点的具体信息
其他的命令,可自行进行验证查看。
2、rqt_graph 用来显示系统计算图
其中
turtlesim仿真器节点
teleop_turtle键盘控制节点
两个节点之间有一个话题 turtle1/cmd_vel做通讯
3、rostopic 话题相关的命令
在rostopic后面加入相应的参数可以实现不同的功能,在Ubuntu系统中打开一个终端,输入rostopic回车后,会有相应的参数信息,及其功能。
(1)rostopic list 打印出当前系统所有的话题列表
我们的键盘控制节点和海龟仿真器节点之间是通过话题 /turtle1/cmd_vel 做通信的
我们同样也可以 通过指令给话题发布数据,让海龟运动。
(2)rostopic pub 话题名 消息结构 数据(发布消息)
线速度,角速度 每个速度都有一个xyz的分量
单位是米/秒和弧度/秒
果我们修改为这样,海龟将会按照1.0米/秒的速度向前运动
4、rosservice 服务相关命令
在rosservice 后面加入相应的参数可以实现不同的功能,在Ubuntu系统中打开一个终端,输入rosservice 回车后,会有相应的参数信息,及其功能。
(1)rosservice list 列出所有服务
服务的服务端都是仿真器,终端都是作为客户端去请求某个服务的
(2)spawn 这个服务是用来产生一个新的海龟
5、话题记录与复现rosbag
记录当前系统中的所有话题数据,保存下来,下次用的时候再复现出来
这一般用在例如有一个无人机,想做调试,但是不可能每一次都让飞机飞起来做调试,这非常不方便。
一般会做一次飞行,飞行时把所有数据都保存下来,回到实验室再把数据复现出来,再做实验
rosbag record -a -O cmd_record
-a就是-all,把所有数据都保存下来
-O 是把数据保存成一个压缩包
cmd_record就是压缩包的名称
然后通过键盘控制小海鬼,使其运动
之后输入:
rosbag play cmd_record123.bag
小海龟就会按之前的路径进行运动。
以上是关于ROS命令行工具的使用的主要内容,如果未能解决你的问题,请参考以下文章