当前位置: 首页 > news >正文

ROS 2 Lyrical Luth 第1章 系统入门教程

ROS 2 Lyrical Luth 第一章 系统入门教程

ROS2 Lyrical正式版替换测试版记录

前言

本文对标原文档《ROS Noetic 入门》结构,科学严谨完整讲解ROS 2 Lyrical Luth(代号 lyrical),覆盖版本背景、PC 原生 Ubuntu 安装、虚拟机部署、Docker 容器化、ARM 嵌入式开发板部署、环境配置、验证示例,同时对比 ROS 1 Noetic 核心差异,全程遵循 ROS 官方文档规范,适配 2026 最新 LTS 发行版标准ROS。

本书覆盖内容

  1. Ubuntu 26.04 Resolute 下二进制包安装 ROS 2 Lyrical 完整框架
  2. ROS 2 分层架构、基础核心概念与命令行操作
  3. 数据可视化、日志调试、ros2 bag 数据录制回放
  4. ament 编译体系下机器人 C++/Python 功能包编程
  5. 传感器、执行器硬件驱动接入、机器人 URDF 模型构建
  6. Gazebo 3D 仿真、导航 2 自主导航功能包集部署
  7. 多环境部署:VirtualBox 虚拟机、Docker 容器、ARM64 嵌入式开发板

第 1 章 ROS 2 Lyrical 概述与历史背景

1.1 ROS 2 基础定义

ROS(Robot Operating System)是机器人软件标准化开发框架;ROS 2为 ROS 1 全重构迭代版本,解决 ROS 1 中心化、无实时性、跨机通信弱、嵌入式适配差等缺陷。核心设计思想:分布式去中心化通信、硬件完全抽象、跨平台兼容、原生实时调度、DDS 标准化通信中间件,实现机器人代码跨硬件无修改复用GitHub。

1.2 Lyrical Luth 版本基础信息

  • 发布时间:2026 年 5 月
  • LTS 长期支持周期:至 2031 年 5 月(5 年官方维护)
  • 官方 Tier1 一级支持平台:Ubuntu 26.04 Resolute amd64(PC)、arm64(嵌入式)
  • 对比 ROS 1 Noetic 关键区别

    表格

    维度ROS 1 NoeticROS 2 Lyrical
    通信架构中心化 Master 节点,单故障点去中心化 DDS 发现,无主节点
    编译工具catkinament(ament_cmake/ament_python)
    底层通信自定义 TCPROS 协议DDS 标准(FastDDS 默认,Zenoh 原生支持)
    实时性无原生实时调度硬实时内核原生适配、执行器调度优化
    系统适配仅 Ubuntu 20.04,x86 为主Ubuntu26.04、Windows11、ARM64、RHEL10
    安全机制无原生加密SROS2 分布式加密通信
    生命周期管理无标准化节点生命周期标准化 Lifecycle 节点插件生态

1.3 ROS 2 分层架构(Lyrical 完整五层)

从底层至应用层分层解耦,为开发、调试提供标准化抽象:

  1. DDS 传输层:Fast-DDS(默认)、Cyclone DDS、Zenoh;负责数据分发、网络发现、QoS 质量策略
  2. RMW 抽象层:统一封装 DDS 接口,上层应用可无修改切换中间件
  3. RCL 核心 C 库层:实现节点、话题、服务、参数、日志底层基础 API
  4. 客户端语言层:rclcpp(C++20)、rclpy(Python3.12)面向开发者封装
  5. 应用工具层:RViz2 可视化、Gazebo 仿真、ros2cli 命令行、导航 2、感知功能包

1.4 Lyrical 核心新增特性

  1. 通用资源加载服务resource_retriever_service,RViz2 跨网络加载机器人三维模型
  2. ros2 bag 丢包统计、录制带宽限流、日志分级动态配置
  3. 原生 fish/zsh/bash 多 shell 环境一键配置脚本
  4. 生命周期节点回调组事件执行器,多线程调度性能大幅提升
  5. ARM64 嵌入式存储空间轻量化优化,支持裁剪最小化部署
  6. 完善工业安全 SROS2 配套工具链,适配 ISO 机器人安全标准ROS

1.5 开源协议与社区生态

ROS 2 整体采用Apache 2.0 开源协议,商用、科研完全免费,可修改、分发、闭源商用二次开发(区别于 ROS 1 BSD 协议);第三方功能包可自定义开源协议。 全球 200 + 科研机构、机器人企业持续维护硬件驱动、导航、视觉、机械臂开源包,硬件覆盖人形机器人、移动底盘、水下机器人、机械臂、Arduino、树莓派、BeagleBone Black 等,硬件清单可查阅:https://docs.ros.org/en/lyrical/Robots.html

2 PC 端 Ubuntu 26.04 原生安装 ROS 2 Lyrical(官方推荐二进制源安装)

前置条件:已安装 Ubuntu 26.04 Resolute,掌握 Linux 基础终端操作、vim 文件编辑、文件夹创建;系统架构 amd64。

2.1 系统前置配置(必选步骤)

2.1.1 配置 UTF-8 字符集(ROS 2 强制要求)

bash

sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8
2.1.2 启用 Ubuntu 标准软件源组件

打开 Ubuntu Software → Edit → Software Sources,勾选全部组件:

  • main(官方开源软件)
  • universe(社区开源软件)
  • restricted(设备专有驱动)
  • multiverse(版权受限软件) 推荐选择国内镜像服务器(清华 / 阿里源)加速下载。
2.1.3 添加 ROS 2 官方软件源密钥与源列表
  1. 安装密钥管理工具,导入 ROS 软件源可信密钥

bash

sudo apt install software-properties-common sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
  1. 将 ROS 2 源写入系统源文件

bash

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
  1. 更新软件源缓存,升级系统全量软件(避免库版本冲突)

bash

sudo apt update sudo apt upgrade -y

2.2 ROS 2 Lyrical 四种安装方案(按需选择)

方案 1:桌面完整版(本书推荐,适合学习开发)

包含 RViz2 3D 可视化、rqt 工具箱、Gazebo 仿真、导航 2、视觉感知、激光雷达、深度相机全套功能包,硬盘预留≥20GB:

bash

sudo apt install ros-lyrical-desktop -y
方案 2:标准桌面精简版(仅基础可视化,无仿真导航)

硬盘空间不足时选用,仅保留 RViz2、rqt、基础机器人库,后续可单独安装仿真 / 导航包:

bash

sudo apt install ros-lyrical-desktop-base -y
方案 3:基础最小化 ros-base(无头设备,无 GUI)

仅保留通信库、消息接口、命令行工具,无可视化界面,用于无屏幕嵌入式主机:

bash

sudo apt install ros-lyrical-ros-base -y
方案 4:单独安装指定功能包

通用格式,将PACKAGE替换为功能包名称:

bash

sudo apt install ros-lyrical-PACKAGE # 示例:安装导航2功能包 sudo apt install ros-lyrical-navigation2

2.3 初始化 rosdep 依赖管理工具

rosdep 用于自动解析功能包编译、运行所需系统依赖,安装 ROS 后必须初始化:

bash

# 安装工具 sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential # 初始化全局依赖库 sudo rosdep init # 更新依赖索引 rosdep update

2.4 配置 ROS 2 全局环境变量

ROS 2 必须加载setup.bash脚本才能识别命令、库路径,每次新开终端默认生效配置:

  1. 单次临时生效(当前终端)

bash

source /opt/ros/lyrical/setup.bash
  1. 永久全局生效(所有终端自动加载)

bash

echo "source /opt/ros/lyrical/setup.bash" >> ~/.bashrc # 立即加载配置,无需重启终端 source ~/.bashrc
  1. 多 ROS 发行版共存注意事项 若系统同时安装多个 ROS 2 版本(jazzy/humble/lyrical),~/.bashrc中仅保留目标版本的 source 语句,最后一行加载的版本为当前默认版本;切换版本需手动执行对应 setup 脚本。
  2. 验证当前 ROS 版本

bash

echo $ROS_DISTRO # 输出 lyrical 代表配置成功

2.5 安装 ros2cli 辅助工具集

rosinstall 工具简化多功能包批量下载、源码拉取:

bash

sudo apt install python3-rosinstall

2.6 安装完成验证(turtlesim 经典示例)

新开两个独立终端,分别执行: 终端 1(启动仿真海龟节点)

bash

ros2 run turtlesim turtlesim_node

终端 2(键盘控制海龟移动)

bash

ros2 run turtlesim turtle_teleop_key

操作:在第二个终端按上下左右键,海龟窗口中乌龟同步移动,代表 ROS 2 完整安装、通信正常。

3 VirtualBox 虚拟机部署 ROS 2 Lyrical

适用场景:不想修改本机系统、临时测试、纯净开发环境,缺点:无法完美直通外部传感器硬件,仅适用于算法仿真调试。

3.1 工具下载

  1. VirtualBox 官方安装包:适配 Windows/macOS/Linux
  2. Ubuntu 26.04 amd64 官方 ISO 镜像;或 OSBOX 预装好 Ubuntu26.04 的 vdi 虚拟硬盘镜像
  3. 7z 解压工具:

bash

sudo apt install p7zip-full # 解压预编译虚拟机镜像 7z x Ubuntu_26.04-amd64.vdi.7z

3.2 虚拟机创建步骤

  1. 打开 VirtualBox → New 新建虚拟机
    • Name:Ubuntu26.04-Lyrical
    • Type:Linux,Version:Ubuntu (64-bit)
  2. 内存分配:推荐≥4GB,学习开发 8GB 最优
  3. 硬盘选项:选择「使用已存在虚拟硬盘文件」,加载下载好的.vdi镜像
  4. 启动虚拟机,登录 Ubuntu 系统,按照第 2 章完整步骤安装 ROS 2 Lyrical

3.3 虚拟机局限性说明

  1. USB 设备直通复杂,激光雷达、深度相机、机械臂驱动易失效
  2. Gazebo 3D 仿真显卡性能受限,大场景仿真卡顿
  3. 适合算法、话题通信、功能包编译学习,硬件实操推荐物理机

4 Docker 容器化部署 ROS 2 Lyrical

Docker 比虚拟机轻量化,秒级启动、环境隔离、多版本并行、一键分发开发环境,工业部署首选方案。

4.1 Ubuntu 安装 Docker 引擎

bash

# 一键安装docker curl -fsSL get.docker.com | sudo sh # 将当前用户加入docker组,免sudo执行docker命令 sudo usermod -a -G docker $(whoami) # 重启终端生效 newgrp docker

4.2 拉取官方 Lyrical 镜像

bash

# 桌面完整版(含RViz、仿真) docker pull ros:lyrical-desktop # 最小基础版(嵌入式无头部署) docker pull ros:lyrical-ros-base

4.3 交互式运行 ROS 2 容器

  1. 带图形界面、共享主机网络启动(推荐开发)

bash

docker run -it --rm \ --net=host \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ ros:lyrical-desktop
  1. 容器内加载 ROS 环境,验证示例

bash

source /opt/ros/lyrical/setup.bash ros2 run turtlesim turtlesim_node

4.4 容器进阶操作

  1. 查看运行中容器

bash

docker ps -a
  1. 进入已后台运行的容器(NAME 替换容器名称)

bash

docker exec -it NAME bash
  1. 自定义 Dockerfile 构建专属镜像(预装本书全部示例代码) 在 Dockerfile 目录执行构建:

bash

docker build -t lyrical-workspace .

5 ARM 嵌入式开发板部署 ROS 2 Lyrical(BeagleBone Black / 树莓派 arm64)

Lyrical 官方 Tier1 支持 arm64 架构,arm32 仅 Tier3 有限支持;本节以 BeagleBone Black(BBB)、Ubuntu 26.04 arm64 为例。

5.1 硬件与系统准备

  1. 硬件:BeagleBone Black,microSD 卡≥16GB
  2. 下载 Ubuntu 26.04 arm64 镜像,解压写入 SD 卡
  3. 烧录镜像脚本:

bash

tar xf ubuntu-26.04-arm64-minimal.tar.xz sudo ./setup_sdcard.sh --mmc /dev/mmcblk0 --dtb beaglebone
  1. 开发板启动:按住 S2 按键上电,HDMI 外接显示器、网线连接路由器获取 DHCP IP

5.2 网络配置

  1. 开发板终端获取 IP

bash

sudo dhclient eth0 ifconfig eth0 # 记录IP,例:192.168.1.100
  1. 电脑 SSH 远程登录开发板

bash

ssh ubuntu@192.168.1.100

5.3 ARM 平台特殊安装步骤

  1. 扩展 SD 卡文件系统(嵌入式卡默认分区空间不足)

bash

sudo su fdisk /dev/mmcblk0 # 依次执行:p → d → 2 → n → p → 2 → w reboot # 重启后扩容分区 sudo resize2fs /dev/mmcblk0p2
  1. 字符集、软件源、密钥配置与 PC 端完全一致
  2. ARM 不推荐desktop-full完整安装(存储空间不足),仅安装 ros-base,按需单独安装驱动、感知包:

bash

sudo apt install ros-lyrical-ros-base # 按需安装硬件驱动示例 sudo apt install ros-lyrical-serial-driver
  1. rosdep 初始化、环境变量配置、验证话题通信流程同 PC 端
  2. 跨机通信示例:PC 接收 BBB 发布的话题 BBB 终端(发布位姿话题)

bash

source /opt/ros/lyrical/setup.bash ros2 topic pub /chassis_pose geometry_msgs/msg/Pose "{position: {x: 1.0, y: 0.0, z: 0.0}, orientation: {x:0,y:0,z:0,w:1}}" -r 10

PC 终端(指定 Master 网络地址,订阅话题)

bash

source /opt/ros/lyrical/setup.bash export ROS_DOMAIN_ID=0 ros2 topic echo /chassis_pose

本章小结

本章完整覆盖 ROS 2 Lyrical Luth 多平台安装部署方案:物理 PC 原生 Ubuntu 适合全功能开发;VirtualBox 虚拟机适合无硬件改动的临时学习;Docker 容器适合环境隔离、批量部署;ARM 开发板适配机器人嵌入式终端。

安装优先推荐二进制软件源安装,编译源码仅适合深度自定义二次开发;嵌入式设备建议轻量化 ros-base 安装,避免存储空间溢出。

ROS 2 相比 ROS 1 在分布式通信、实时性、跨平台、安全层面完成底层重构,Lyrical 作为 2026 最新 LTS 版本,新增大量可视化、仿真、嵌入式优化工具,后续章节将深入讲解 ROS 2 核心架构、节点通信、ament 编译、机器人导航与视觉开发。




ROS2 Lyrical Luth 系统入门教程摘要

本文全面介绍ROS2 Lyrical(2026 LTS版本)的安装与部署,对比ROS1 Noetic的核心差异,涵盖多平台适配方案:

  1. 版本特性

    • ROS2 Lyrical采用DDS去中心化通信,支持实时调度与跨平台部署,新增生命周期节点优化、ARM轻量化等特性。
    • 对比ROS1,改进通信架构(FastDDS)、编译工具(ament)、安全机制(SROS2)。
  2. 安装方案

    • Ubuntu 26.04原生安装:推荐二进制源安装,提供桌面完整版(含Gazebo/RViz2)、基础版等选项。
    • 虚拟机与Docker:VirtualBox适合学习仿真;Docker容器轻量化,支持多版本隔离与工业部署。
    • ARM嵌入式开发:适配BeagleBone Black/树莓派,需轻量化安装(ros-base),优化存储空间。
  3. 关键步骤

    • 配置UTF-8字符集、ROS官方源,初始化rosdep依赖管理。
    • 验证安装:通过turtlesim示例测试通信功能。
    • 跨平台通信:PC与嵌入式设备通过ROS_DOMAIN_ID实现话题交互。

总结:ROS2 Lyrical为机器人开发提供标准化框架,支持PC、虚拟化、嵌入式全场景,适合从算法仿真到硬件部署的全流程开发。后续将深入节点通信、导航与视觉功能开发。

http://www.cnnetsun.cn/news/3996759.html

相关文章:

  • 金坛网站建设公司哪家好?揭秘那些不藏私的选品避坑指南与行业真相
  • GPT-5.3-Codex编码能力解析:从Transformer架构到高效编程实践
  • SAP UI5 里有没有 RxJS fromEventPattern 的对应机制,从 EventProvider 到响应式事件适配的完整解析
  • 从400行单体到30个模块:Python代码重构实战与模块化设计
  • Python3零基础入门:从环境搭建到模块化编程的完整指南
  • 音频设备选购避坑指南:从技术原理到实践,五类后悔设备深度解析
  • Linux系统下Docker服务优雅关闭指南:从原理到实践
  • 北京上地网站建设哪家靠谱?资深开发者揭秘2024年上地企业官网搭建避坑指南与SEO优化实战
  • C语言文件拷贝:从标准I/O到内存映射的四种实现与性能对比
  • 档案数字化智能著录工具:OCR识别+框选录入+自动分件+Excel导出+批量打印
  • 揭秘佛山市住房和城乡建设局网站如何成为市民安居乐业的数字化贴心管家
  • C++并发编程:深入理解lock_guard与unique_lock的差异与应用场景
  • AI 时代工程师能力模型:会提问之外,还要会验证和接管
  • 如何用OpenSpeedy解决游戏帧率限制:完整实现方案
  • 片上MBQC:光量子计算从实验室迈向芯片化工程的关键一步
  • 九江网站建设优化公司如何帮您打破流量瓶颈实现业务倍增
  • 内容写得再好,AI却不引用?问题可能出在“可信度“这层隐形地基上
  • Python变量作用域全解析:类变量、实例变量与局部变量的核心区别与实战应用
  • Node.js环境搭建全攻略:从版本选择、安装路径到NVM多版本管理
  • 构建以用户为中心的AI智能体:从概念到实践的全流程指南
  • 上海诚杰华建设工程咨询有限公司网站怎么样:揭秘行业背后的真实服务逻辑与专业价值
  • 从电竞直播拆解顶级硬件实战表现与选购策略
  • 数学建模国赛Word标准模板:高效写作与规范排版指南
  • ESP-SR语音识别框架终极指南:5步为嵌入式设备添加离线语音交互
  • 武义建设局网站首页深度解析:如何便捷查询审批进度、办事指南及最新政策解读
  • 数学建模实战:基于高斯烟羽模型与智能算法的烟幕投放策略优化
  • 深入理解AMBA AHB总线:从协议原理到实战避坑指南
  • 宝安营销型网站建设公司如何为企业打造高转化率的数字名片与长期增长引擎
  • 渠道防窜系统怎么设置区域授权,才不会把正常销售也误判成窜货?
  • 福意联造影剂37度恒温箱的优势特点