使用常见的 ROS2 工具

  • 启动文件

ROS 2 Humble 中的启动文件是同时启动多个节点的核心手段。它能自动管理节点生命周期,方便对每个节点进行配置、命名空间设置、参数加载等,极大简化多节点程序的运行。

(1)<launch> 标签

<launch> 标签是启动文件的根标签。所有启动文件都以 <launch> 开始,以 </launch> 结束,所有配置标签必须写在两者之间。

<launch>
……
……
</launch>

(2)<node> 标签

<node> 标签是最核心的配置项,用于启动一个 ROS 2 节点。属性相比 ROS1 有小幅调整,常用格式如下:

<node pkg="package-name" exec="executable-name" name="node-name" />
标签属性 属性功能
name="NODE_NAME" 为节点指定名称,覆盖代码中定义的节点名称
pkg="PACKAGE_NAME 包含节点的软件包名称
exec="FILE_NAME" 节点的可执行文件名
output="screen" 向终端屏幕输出节点的标准输出;默认为日志文件
respawn="true" 设置为 true 时,节点会在终止时自动重启;默认为 false
ns = "NAME_SPACE" 命名空间,为节点内的相对名称添加命名空间前缀
args="arguments" 节点所需的输入参数

(3)<include> 标签

该标签用于在当前启动文件中,引入另一个 ROS 2 启动文件,实现模块化配置。

标签属性 属性功能
file ="$(find pkg-name)/path/filename.launch.py" 指定要包含的文件

e.g.

<include file="$(find demo)/launch/demo.launch.py" />

(4)<remap> 标签

用于话题重映射,实现节点间话题名称的适配,无需修改代码,用法与 ROS1 完全一致。

例如,节点订阅的 /chatter 话题,需要重映射为 /demo/chatter

<remap from="chatter" to="demo/chatter"/>

(5)<parameter> 标签

<parameter> 标签用于向参数服务器设置单个参数。

例如,添加一个值为 1 的整数参数 demo_param

<parameter name="demo_param" type="int" value="1"/>

(6)<parameters> 标签

<parameters> 标签用于从 YAML 文件批量加载参数。

用法如下:

<parameters from="$(find pkg-name)/path/name.yaml"/>

(7)<arg> 标签

<arg> 标签作为启动文件的局部变量,仅用于启动文件内部传参,与节点逻辑无关。

语法如下:

<arg name="arg-name" default="arg-value"/>
  • Rviz2

    rviz2 是 ROS 2 Humble 官方的三维可视化工具,完全适配 ROS 2 通信架构,兼容各类机器人平台。

    它可以可视化显示机器人模型、传感器数据(激光雷达、点云、相机)、TF 坐标变换、导航路径、地图等核心信息,同时支持通过界面交互控制机器人。

rviz

  • Qt Toolbox

计算图可视化工具(rqt_graph):
rqt_graph 工具实时展示当前 ROS 2 系统中节点与话题的通信关系。

rqt_graph

成功启动后,将显示计算图表,如下图所示。

rqt_graph

TF 关系可视化工具 (rqt_tf_tree)

rqt_tf_tree 工具以图形方式显示运行节点之间的当前 TF 关系。要在运行图形构建功能时启动该工具,请使用以下命令:

ros2 run rqt_tf_tree rqt_tf_tree

成功启动后,将显示 TF 关系图,如下图所示。

rqt_tree


← 上一页 | 下一页 →

results matching ""

    No results matching ""