【ROS】命令行工具的使用

学习来源: https://www.bilibili.com/video/BV1zt411G7Vn?p=7

Ros文件系统相关命令: http://www.autolabor.com.cn/book/ROSTutorials/chapter1/15-ben-zhang-xiao-jie/152-ji-suan-tu.html

小海龟仿真器的运行

首先,在Ubuntu界面按ctrl+Alt+t 打开一个终端,输入roscore命令,打开 ROSmaster,它是ROS里所有节点的管理器,是我们运行ROS系统时首先运行的指令。

$ roscore

如下图所示(按ctrl+c退出)

 

第二,按ctrl+Alt+t 打开另一个终端,用rosrun指令来运行某个功能包的一个节点,后边跟两个参数,功能包名 节点名。输入rosrun turtlesim turtlesim_node 命令, turtlesim是个学习用的功能包, turtlesim_node是个仿真器节点。

$ rosrun turtlesim turtlesim_node

第三,按ctrl+Alt+t 再打开另一个终端,用rosrun指令来运行键盘控制节点。输入rosrun turtlesim turtlesim_teleop_key 命令, 最后这个终端置顶,可以实现键盘控制小turtle。

$ rosrun turtlesim turtlesim_teleop_key

 

qrt_graph命令

然后,再打开一个终端,输入 qrt_graph,打开用于显示系统计算图的一个工具。ROS的核心通讯机制就是计算图,通过该图可以很快的了解系统的全部情况。

如图所示,显示了系统的节点情况,可知,键盘控制节点 /teleop_turtle 通过话题 /turtle1/cmd_vel 向 仿真器节点 /turtlesim 传递信息进行通讯,话题的内容是速度指令。

 

rosnode命令行工具——用于显示节点相关信息的指令

 直接在终端输入rosnode,再按回车,就会出现该指令的相关内容:

 

rosnode list : 列出所有系统中的节点

 /rosout 是启动roscore后就启动的节点,用来收集和记录节点调试输出信息的

 

rosnode info: 查看节点的具体信息内容,后加节点名字

 

rostopic 命令行工具——跟topic相关的命令

输入rostopic 点回车

rostopic list 

打印系统所有的话题列表

 

 rostopic pub

给某个话题发布数据,后边跟 话题名 话题类型 数据内容

 

 输入话题名后双击tab会自动补全,左右键设置输入位置,回车后,海龟会动一次,因为 pub 只会发布一次。

输入以下指令,海归会一直动, -r 代表发布话题数据的频率, 10 为每秒10次。

 

 

 

rosmsg 命令行工具- 是一个用于展示ROS里消息类型信息的命令行工具

 

rosmsg show : 显示消息的结构,后加 消息名,可按tab补全

 

 

 

rosservice 命令行工具——服务相关

 

 

 rosservice list : 列出当前所有服务

 rosservice call : 调用服务,双击tab 查看可调用的服务,与rosservice list列出的服务一致

 

 

 rosservice call /spawn : 产生一个新的海龟,双击tab 补全详细信息内容

 

 

 

rosbag命令行工具

 

 

rosbag record : 记录当前系统里所有话题的数据并保存,-a: 所有的数据,-O: 数据保存成一个压缩包,c_r_2 保存的文件名字

记录的是相对于当前位置和角度的运动

 

 

rosbag play : 复现相关包的数据内容,后加包的名字c_r_2.bag

复现的是相对于当前位置和角度的运动

 

posted @ 2021-02-20 16:00  星火-AI  阅读(512)  评论(0编辑  收藏  举报