ROS文件系统相关命令(自学二刷笔记)

重要参考:

课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ

讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

一、 ROS文件系统相关命令

ROS 的文件系统本质上都还是操作系统文件,我们可以使用Linux命令来操作这些文件,不过,在ROS中为了更好的用户体验,ROS专门提供了一些类似于Linux的命令,这些命令较之于Linux原生命令,更为简介、高效。文件操作,无外乎就是增删改查与执行等操作,接下来,我们就从这五个维度,来介绍ROS文件系统的一些常用命令。

1. 增

catkin_create_pkg 自定义包名 依赖包 === 创建新的ROS功能包

sudo apt install xxx === 安装 ROS功能包

2. 删

sudo apt purge xxx ==== 删除某个功能包

3. 查

rospack list === 列出所有功能包

rospack find 包名 === 查找某个功能包是否存在,如果存在返回安装路径

roscd 包名 === 进入某个功能包

rosls 包名 === 列出某个包下的文件

apt search xxx === 搜索某个功能包

4. 改

rosed 包名 文件名 === 修改功能包文件

需要安装 vim

比如: rosed turtlesim Color.msg

5. 执行
5.1 roscore

roscore === 是 ROS 的系统先决条件节点和程序的集合, 必须运行 roscore 才能使 ROS 节点进行通信。

roscore 将启动:

  • ros master

  • ros 参数服务器

  • rosout 日志节点

用法:

roscore

或(指定端口号)

roscore -p xxxx
5.2 rosrun

rosrun 包名 可执行文件名 === 运行指定的ROS节点

比如: rosrun turtlesim turtlesim_node

5.3 roslaunch

roslaunch 包名 launch文件名 === 执行某个包下的 launch 文件

二、 launch文件演示

1. 需求

一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动 roscore、乌龟界面节点、键盘控制节点。如果每次都调用 rosrun 逐一启动,显然效率低下,如何优化?

官方给出的优化策略是使用 launch 文件,可以一次性启动多个 ROS 节点。

2. 实现
  1.  选定功能包右击 ---> 添加 launch 文件夹

  2.  选定 launch 文件夹右击 ---> 添加 launch 文件

  3.  编辑 launch 文件内容

    
        
        
        
    
    • node ---> 包含的某个节点

    • pkg -----> 功能包

    • type ----> 被运行的节点文件

    • name --> 为节点命名

    • output--> 设置日志的输出目标

  4.  运行 launch 文件

    roslaunch 包名 launch文件名

  5.  运行结果:一次性启动了多个节点

三、 ROS计算图

1. 计算图简介

前面介绍的是ROS文件结构,是磁盘上 ROS 程序的存储结构,是静态的,而 ros 程序运行之后,不同的节点之间是错综复杂的,ROS 中提供了一个实用的工具:rqt_graph。

rqt_graph能够创建一个显示当前系统运行情况的动态图形。ROS 分布式系统中不同进程需要进行数据交互,计算图可以以点对点的网络形式表现数据交互过程。rqt_graph是rqt程序包中的一部分。

2. 计算图安装

如果前期把所有的功能包(package)都已经安装完成,则直接在终端窗口中输入

rosrun rqt_graph rqt_graph

如果未安装则在终端(terminal)中输入

sudo apt install ros--rqt
sudo apt install ros--rqt-common-plugins

请使用你的ROS版本名称(比如:kinetic、melodic、Noetic等)来替换掉

例如当前版本是 Noetic,就在终端窗口中输入

sudo apt install ros-noetic-rqt
sudo apt install ros-noetic-rqt-common-plugins
3. 计算图演示

接下来以 ROS 内置的小乌龟案例来演示计算图

首先,按照前面所示,运行案例

然后,启动新终端,键入:rqt_graph 或 rosrun rqt_graph rqt_graph,可以看到类似下图的网络拓扑图,该图可以显示不同节点之间的关系。

ROS文件系统相关命令(自学二刷笔记)_第1张图片

你可能感兴趣的:(机器人,c++,python,笔记)