一、ROS 2 机器人示例:海龟仿真器
1. 启动海龟仿真器节点
在终端输入以下命令即可启动海龟仿真器节点:
ros2 run turtlesim turtlesim_node

2. 启动控制节点
打开新终端,运行以下命令,可以通过键盘方向键控制海龟旋转移动:
ros2 run turtlesim turtle_teleop_key
此时终端将处于监听状态。选中该终端,使用左右箭头控制海龟方向,向上箭头控制前进,向下箭头控制后退。

3. ROS 节点分析工具:rqt
在终端一启动了海龟模拟器节点,终端二启动了控制节点,可以通过上下左右箭头按键控制海龟移动。为了分析其中的控制过程,我们在终端三输入:
rqt
这是 ROS 2 提供的节点分析工具。

选择 rqt 工具中的 "Plugins / Introspection / Node Graph" 选项,这是 ROS 2 的节点图。

如果打开后节点图内容太小,可以使用鼠标滚轮滚动放大显示。点击 Fit 键后面的按钮,可以让节点图自适应填充满整个界面。

鼠标左键点击节点图中的元素,会变成如下样式:
- 左侧的
/turtlesim是海龟模拟器节点 - 右侧的
/teleop_turtle是键盘控制节点,右侧节点通过话题向左侧节点发送了控制命令/turtle1/cmd_vel

二、ros2 run 命令解析
1. 设计理念
ros2 run 命令是 ROS 2 命令行工具中用于启动单个功能包内可执行文件节点的核心子命令。其格式设计严格遵循 ROS 2'功能包 - 可执行文件 - 参数分离'的设计理念。
ros2 run 分为基础格式(仅启动可执行文件)和完整格式(含可执行文件参数 + ROS 层面参数),完整格式覆盖所有场景。
ros2 run 的核心逻辑是'定位功能包 -> 找到可执行文件 -> 启动并接入 ROS 2 通信'。其格式设计的关键是分离'可执行文件自身参数'和'ROS 层面参数'(通过 --ros-args 分隔)。
**掌握该格式的核心是:**明确必选部分的匹配规则、可选部分的顺序要求,以及参数解析的边界。


