一、ROS文件系统相关命令
ROS 的文件系统本质上都还是操作系统文件,我们可以使用Linux命令来操作这些文件,不过,在ROS中为了更好的用户体验,ROS专门提供了一些类似于Linux的命令,这些命令较之于Linux原生命令,更为简介、高效。文件操作,无外乎就是增删改查与执行等操作,接下来,我们就从这五个维度,来介绍ROS文件系统的一些常用命令
1.1增(常用)
catkin_create_pkg 自定义包名 依赖包 === 创建新的ROS功能包
sudo apt install xxx === 安装 ROS功能包
1.2删(不常用)
sudo apt purge xxx ==== 删除某个功能包
1.3查找
rospack list === 列出所有功能包
rospack find 包名 === 查找某个功能包是否存在,如果存在返回安装路径
roscd 包名 === 进入某个功能包
rosls 包名 === 列出某个包下的文件
apt search xxx === 搜索某个功能包
几个示例:
1.4 改
rosed 包名 文件名 === 修改功能包文件
如果ubuntu还没有安装vim(类似于文本编辑器),所以在终端输入以下代码进行安装:
sudo apt install vim
比如:rosed turtlesim Color.msg
1.5 执行
rosrun turtlesim turtlesim_node
roscore
roscore === 是 ROS 的系统先决条件节点和程序的集合, 必须运行 roscore 才能使 ROS 节点进行通信。
roscore 将启动:
-
ros master
-
ros 参数服务器
-
rosout 日志节点
用法为直接在终端输入:
roscore
或(指定端口号)(少用)
roscore -p xxxx
rosrun
rosrun 包名 可执行文件名 === 运行指定的ROS节点
比如:
rosrun turtlesim turtlesim_node
roslaunch
roslaunch 包名 launch文件名 === 执行某个包下的 launch 文件
二、ROS计算图
前面介绍的是ROS文件结构,是磁盘上 ROS 程序的存储结构,是静态的,而 ros 程序运行之后,不同的节点之间是错综复杂的,ROS 中提供了一个实用的工具:rqt_graph。
rqt_graph能够创建一个显示当前系统运行情况的动态图形。ROS 分布式系统中不同进程需要进行数据交互,计算图可以以点对点的网络形式表现数据交互过程。rqt_graph是rqt程序包中的一部分。
2.1 计算图安装
如果前期把所有的功能包(package)都已经安装完成,则直接在终端窗口中输入
rosrun rqt_graph rqt_graph
如果未安装则在终端(terminal)中输入:
$ sudo apt install ros-<distro>-rqt
$ sudo apt install ros-<distro>-rqt-common-plugins
请使用你的ROS版本名称(比如:kinetic、melodic、Noetic等)来替换掉<distro>。
例如当前版本是 Noetic,就在终端窗口中输入:
$ sudo apt install ros-noetic-rqt
$ sudo apt install ros-noetic-rqt-common-plugins
2.2 计算图演示
接下来以 ROS 内置的小乌龟案例来演示计算图
首先,按照前面所示,运行案例出现小乌龟。
然后,启动新终端,键入: rqt_graph 或 rosrun rqt_graph rqt_graph,可以看到类似下图的网络拓扑图,该图可以显示不同节点之间的关系