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

ROS 2 机器人运行指南:海龟仿真器与 ros2 run 命令解析

ROS 2 海龟仿真器启动流程、rqt 节点图分析及 ros2 run 命令格式。通过 turtlesim_node 和 turtle_teleop_key 演示节点通信,利用 rqt 查看节点拓扑。详解 ros2 run 基础与完整语法,区分可执行文件参数与 ROS 层面参数,帮助开发者快速掌握 ROS 2 节点启动方法。

remedios发布于 2026/4/8更新于 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 工具界面

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

节点图界面

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

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

更多推荐文章

查看全部
  • C++ 模板编程基础:泛型编程入门与实践
  • 大模型 LLM 技术指南:从原理架构到工程落地
  • Java 代理模式完全指南:从静态到动态
  • WebApp 设计三大关键维度:导航、配置模型与核心要点
  • STL list 容器模拟实现与核心原理
  • Python 面试基础:字典与集合区别及数据结构解析
  • Python+AI 入门指南:从零起步到实战落地,避开新手常见坑
  • C++ 不使用第三方库在 RGB 图像上打印信息
  • Ollama Windows 安装与使用指南:本地运行 Llama 等模型
  • C++ 特殊类设计:拷贝控制、内存分配与单例模式
  • Trae 集成 Vizro:低代码构建专业数据可视化仪表板
  • VRCX 使用指南:VRChat 社交管理工具功能详解
  • AI 大模型实际落地场景有哪些?
  • C++ 哈希表原理与实现
  • FPGA 面试高频题目汇总与工程解析
  • 大模型技术突破与产业应用发展新路径
  • 大模型技术原理详解:从 Transformer 到 RLHF
  • 力扣热题 100 精选解题思路与代码实现
  • Java 连接 SQL Server 的两种 JDBC 实现方式
  • 使用 Web Unlocker API 获取亚马逊数据教程

相关免费在线工具

  • 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