【ROS 2】运行 ROS 2 机器人 ( ROS 2 机器人示例 - 海龟仿真器 | ROS 节点分析工具 - rqt | ros2 run 命令解析 | ros2 run 基础格式和完整格式 )

【ROS 2】运行 ROS 2 机器人 ( ROS 2 机器人示例 - 海龟仿真器 | ROS 节点分析工具 - rqt | ros2 run 命令解析 | ros2 run 基础格式和完整格式 )

文章目录

在上一篇博客 【ROS 2】ROS 2 Humble 完整环境配置 ( VirtualBox 7.2.4 + Ubuntu 22.04.5 LTS + ROS 2 Humble ) 中 , 安装了 ROS 2 Humble 环境 , 本篇博客开始进行 ROS 2 开发 ;




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



1、启动海龟仿真器节点

执行

ros2 run turtlesim turtlesim_node 

命令 ,启动 海龟仿真器 节点 ,

在这里插入图片描述

2、启动控制节点

在另一个 命令行终端 运行

ros2 run turtlesim turtle_teleop_key 

命令 , 可以通过 键盘方向键 控制 海龟 旋转 移动 ;

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

在这里插入图片描述

3、ROS 节点分析工具 - rqt

在终端一 启动了 海龟模拟器 节点 ,

在终端二 启动了 控制节点, 可以通过 上下左右 箭头按键 控制 海龟 左右旋转 和 前后移动 ;

在 终端二 可以控制 海龟模拟器 窗口 中的 海龟移动 , 下面分析其中的控制过程 ;

在 终端三 输入

rqt 

命令 ,这是 ROS 2 提供的 节点 分析工具 ;

在这里插入图片描述

选择 rqt 工具中的 " Plugins / Instrospection / 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 功能包中编译生成的可执行文件, 运行后会启动海龟仿真器的核心节点 ;

Read more

Llama Factory魔法:在消费级显卡上微调7B模型

Llama Factory魔法:在消费级显卡上微调7B模型实战指南 作为一名只有RTX 3090(24GB显存)的独立开发者,想要微调Baichuan-7B这样的大模型似乎是个不可能的任务。但通过Llama Factory结合量化、offload等技术,我成功在消费级显卡上完成了微调实验。本文将分享我的完整实战经验,帮助你在有限硬件条件下突破显存限制。 为什么选择Llama Factory? Llama Factory是一个专为大模型微调优化的开源框架,其核心优势在于: * 内置多种显存优化技术(4-bit量化、梯度检查点、ZeRO-3 offload等) * 支持Baichuan-7B、Qwen等主流开源模型 * 提供预置训练脚本和配置模板 * 兼容单卡和多卡环境 这类任务通常需要GPU环境,目前ZEEKLOG算力平台提供了包含该镜像的预置环境,可快速部署验证。 硬件需求与显存优化方案 RTX 3090的24GB显存看似不足,但通过组合技术手段可以实现: | 微调方法 | 原始显存需求 | 优化后显存需求 | |----------------|-----

2026年高薪就业赛道揭晓:AI大数据、大模型、AIGC与云计算,错过等五年!

2026年高薪就业赛道揭晓:AI大数据、大模型、AIGC与云计算,错过等五年!

2026年最好的就业赛道——AI大数据、大模型、云计算与AIGC 2026年的春招市场,只有两种人:懂AI的,和羡慕懂AI的。 春节刚过,当大多数人还沉浸在节日的余温中时,招聘市场已经迎来了“开门红”。据智联招聘数据显示,正月初八活跃职位数跃升至除夕的7倍 。而在这一轮招聘热潮中,一个 明显的赢家赛道已然清晰:以人工智能为代表的新质生产力。 如果你还在为“什么专业好就业”而焦虑,或者正在考虑职业转型,那么今年的市场数据给出了极其明确的指向:AI大数据、大模型、AIGC与云计算,正是当下乃至未来五年的黄金赛道。 一、AI人才“一将难求”:岗位暴涨12倍,平均月薪超6万 2026年的AI人才市场有多火?一组数据足以说明问题。 职场社区平台脉脉发布的《2026年1-2月中高端人才求职招聘洞察》显示,今年前两个月,AI岗位数量同比增长了惊人的12倍,其在新经济行业中的岗位占比从去年同期的2.29%飙升至 26.23% 。 与其相对应的是令人艳羡的薪资水平。AI新发岗位的平均月薪达到 60,738元,比新经济行业平均水平高出约26% 。其中,

AI编程革命:2026年我靠Cursor+Copilot,效率提升300%实战手册

AI编程革命:2026年我靠Cursor+Copilot,效率提升300%实战手册

【目录】 * 前言:程序员的生产力革命已来 * 一、Cursor vs Copilot:2026年最强AI编程组合 * 1.1 核心定位与差异 * 1.2 为什么选择组合使用? * 二、环境配置:30分钟搭建AI编程黄金工作流 * 2.1 安装与基础配置 * Step 1:安装Cursor * Step 2:安装Copilot插件 * Step 3:核心配置优化( settings.json ) * 2.2 项目级AI规则配置(.cursorrules) * 三、核心功能:Cursor+Copilot 10大效率神器 * 3.1 Cursor核心功能 * 1. Agent模式(Ctrl+I):AI自动执行多步骤任务 * 2. Plan

N46Whisper:智能日语语音转字幕的革命性解决方案

N46Whisper:智能日语语音转字幕的革命性解决方案 【免费下载链接】N46WhisperWhisper based Japanese subtitle generator 项目地址: https://gitcode.com/gh_mirrors/n4/N46Whisper 还在为日语视频字幕制作而烦恼吗?N46Whisper基于先进的AI语音识别技术,为你提供一键式的日语语音转字幕服务。这款云端工具能够将日语音频快速准确地转换为ass和srt格式的字幕文件,彻底告别传统手动打字的繁琐流程。 日语字幕制作面临的三大痛点 耗时耗力的手动输入:传统字幕制作需要逐字逐句听写,1小时视频往往需要3-4小时才能完成。 技术门槛阻碍创作:复杂的字幕软件和编码要求让许多视频创作者望而却步。 翻译质量难以保证:日语到中文的准确翻译需要专业语言能力,普通用户难以胜任。 N46Whisper的智能解决方案 云端AI语音识别引擎 N46Whisper采用业界领先的Whisper语音识别模型,专门针对日语发音特点进行优化。无论是综艺节目的快速对话,还是演讲的正式用语,都能实现95%以