跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++AI

ROS 2 机器人运行与命令解析:海龟仿真器及 rqt 工具

介绍 ROS 2 基础操作,包括启动海龟仿真器节点与控制节点,使用 rqt 工具查看节点图。详细解析了 ros2 run 命令的设计理念、基础格式与完整格式,区分可执行文件参数与 ROS 层面参数,并通过具体命令示例说明功能包与可执行文件的调用方式。

PgDevote发布于 2026/4/6更新于 2026/9/1077 浏览
ROS 2 机器人运行与命令解析:海龟仿真器及 rqt 工具

一、ROS 2 机器人示例 - 海龟仿真器

1、启动海龟仿真器节点

执行以下命令启动海龟仿真器节点:

ros2 run turtlesim turtlesim_node 

2、启动控制节点

在另一个命令行终端运行以下命令,可以通过键盘方向键控制海龟旋转移动:

ros2 run turtlesim turtle_teleop_key 

选中该命令行终端,使用左右箭头控制海龟方向,使用向上箭头控制前进,使用向下箭头控制后退。

3、ROS 节点分析工具 - rqt

在终端三输入以下命令,这是 ROS 2 提供的节点分析工具:

rqt 

选择 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 分隔)。

**掌握该格式的核心是:**明确必选部分的匹配规则、可选部分的顺序要求,以及参数解析的边界。

2、ros2 run 基础格式

ros2 run 基础格式 命令格式如下:

ros2 run <package_name> <executable_name>
  • **ros2 参数:**ROS 2 命令行入口,所有 ROS 2 终端操作的统一前缀(加载 ROS 2 核心工具链、DDS 通信层);
  • **run 参数:**ros2 的子命令,功能是:
    • 查找功能包: 查找系统 / 本地工作空间中已安装的 <package_name>;
    • 定位可执行: 定位该功能包内编译生成的 <executable_name>;
    • 启动执行: 启动该可执行文件,并自动接入 ROS 2 通信系统(成为 ROS 2 节点);
  • **<package_name> 参数:**功能包名称;
    • 功能包来源: 已通过 colcon build 编译(本地工作空间)或 apt install 安装(系统级);
    • 命名规范: 遵循 ROS 2 命名规范(小写字母 + 下划线,如 turtlesim、my_robot_pkg);
  • **<executable_name> 参数:**是功能包下的编译生成的可执行文件名称;
    • 配置位置: 是 CMakeLists.txt/setup.py 中声明的可执行目标名;

3、ros2 run 完整格式

ros2 run 完整格式 命令格式如下:

ros2 run <package_name> <executable_name> [executable_args...] [--ros-args <ros_args...>]
  • **<> 符号:**表示该参数是必选参数,需替换为实际值,最终不保留尖括号;
  • **[] 符号:**表示该参数是可选参数,可省略;
  • **... 符号:**表示该参数是可重复参数,多个值用空格分隔;
  • **[executable_args...] 参数:**该参数是传给可执行文件自身的参数,非 ROS 层面参数,由可执行文件的代码解析,ROS 2 CLI 不处理,一般都是自定义节点的配置文件路径、阈值、模式等;
  • **[--ros-args <ros_args...>] 参数:**该参数是 ROS 2 层面的参数配置(核心分隔符),--ros-args 之后的所有参数均由 ROS 2 核心解析,而非传给可执行文件。常用子参数如下:
    • --remap 参数:重映射(节点名、命名空间、话题 / 服务名);
    • --log-level 参数:设置日志等级(DEBUG/INFO/WARN/ERROR/FATAL);
    • --param 参数:设置节点参数(需节点支持);
    • --env 参数:设置节点运行的环境变量;

4、启动海龟仿真器命令分析

以启动海龟模拟器的命令参数为例进行分析:

ros2 run turtlesim turtlesim_node 
  • **ros2 参数:**是 ROS 2 核心命令行入口,所有 ROS 2 终端操作均以该关键词开头(如 ros2 node/ros2 topic);
  • **run 参数:**是 ros2 的子命令,功能是从指定功能包中找到并运行对应的可执行文件(本质是启动一个 ROS 2 节点);
  • **turtlesim 参数:**是功能包名称(package name),turtlesim 是 ROS 2 内置的示例功能包,封装了海龟仿真器的所有代码(包括节点、话题、服务、动作等逻辑);
  • **turtlesim_node 参数:**是可执行文件名称(executable name),turtlesim 功能包中编译生成的可执行文件,运行后会启动海龟仿真器的核心节点;

目录

  1. 一、ROS 2 机器人示例 - 海龟仿真器
  2. 1、启动海龟仿真器节点
  3. 2、启动控制节点
  4. 3、ROS 节点分析工具 - rqt
  5. 二、ros2 run 命令解析
  6. 1、设计理念
  7. 2、ros2 run 基础格式
  8. 3、ros2 run 完整格式
  9. 4、启动海龟仿真器命令分析

更多推荐文章

查看全部
  • 为什么当前 AI 大模型主要基于 Python 开发
  • PowerToys 官方下载渠道与包管理器安装指南
  • AI 前沿动态:OpenClaw 更新翻车、Luma AI 新模型及阿里芯片突破
  • 如何降低 AIGC 检测率:15 个提示词优化写作风格
  • Whisper.cpp 模型选型实战:性能与准确率实测
  • 适合程序员的 7 款高效 AI 开发工具
  • Java 深入源码:Spring Bean 作用域、生命周期与自动装配解析
  • CRITIC 模型与脑机协同:程序员代码记忆决策与认知增强实践
  • OpenClaw 安装百度网页搜索技能配置指南
  • 大模型思维链(CoT):原理、实践与优势分析
  • 10 个实用的 Python 自动化脚本
  • AIGC 背景下图文内容社区数据指标体系构建实践
  • OpenClaw 飞书机器人权限配置与安全实践
  • 基于 FPGA 的 EtherCAT 主站 Verilog 设计与同步算法解析
  • FOC 在无人机电调中的实战应用解析
  • Prompt 提示词工程核销逻辑与高效 AI 交互
  • Dubbo 服务配置最佳实践与避坑指南
  • ComfyUI 运行 Wan 2.1 工作流:生成电影级视频(兼容 Mac/Windows)
  • AI Agent 新范式:FastGPT 结合 MCP 协议实现工具增强
  • 大模型基本技术:架构、训练与推理优化详解

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online