【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
复现的是相对于当前位置和角度的运动