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

ROS 2 海龟仿真器运行与 ros2 run 命令详解

介绍 ROS 2 海龟仿真器的启动流程,包含 turtlesim_node 与 turtle_teleop_key 节点的配合使用,以及通过 rqt 工具分析节点通信图。重点解析 ros2 run 命令的基础与完整格式,阐明功能包查找、可执行文件定位及参数分离机制(如 --ros-args),为 ROS 2 节点开发与调试提供基础指导。

极客零度发布于 2026/4/5更新于 2026/7/2044 浏览
ROS 2 海龟仿真器运行与 ros2 run 命令详解

一、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 分隔)。

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

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生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 深入剖析 Git 原理与使用(上):核心架构与基础操作
  • System Verilog 教程:从基础到高级验证
  • Java 数据结构:ArrayList 顺序表底层实现
  • VLA 机器人技术演进:10 篇视觉 - 语言 - 动作模型核心论文解析
  • 基于 Dify 与 Qwen3-VL 的低代码视觉智能应用构建
  • Git 版本管理基础与常用命令
  • 深入理解 Kafka:核心架构、特性与运维实践
  • 大模型学习路线:从基础理论到工程实践的完整指南
  • 8 款 AI 论文降重工具对比:智能改写与写作功能分析
  • 基于大模型的智能知识库搭建指南
  • Linux 线程控制
  • 网络安全入门学习路径与核心知识点汇总
  • 双指针算法实战:移动零与复写零详解
  • BaseCTF Week3 Web 与杂项解题复盘
  • Java 参数验证:@Valid 和 @Validated 的区别与最佳实践
  • 无人机 Remote ID Beacon 帧字段详解
  • Spring 方法异步执行配置与使用
  • Django WebAPI 项目搭建与基础配置
  • Agent 框架调研:19 种主流 Agent 架构对比分析
  • 基于 OpenClaw 与飞书开放平台搭建 AI 新闻推送机器人

相关免费在线工具

  • 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