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

【机器人-开发工具】ROS 2 (4)Jetson Nano 系统Ubuntu22.04安装ROS 2 Humble版本

文章目录

  • 1. 系统环境准备
    • 1.1. Jetpack简介
    • 1.2. 下载Jetpack安装系统
  • 2. 安装ROS2 Humble
    • 2.1. ROS2 简介
    • 2.2. ROS2 Humble对比Foxy版本
    • 2.3. 安装
      • 2.3.1. 更新系统
      • 2.3.2. 添加 ROS 2 GPG 密钥
      • 2.3.3. 添加 ROS 2 仓库源
      • 2.3.4. 更新软件包索引
      • 2.3.5. 安装 ROS 2 Humble 桌面版(推荐)
      • 2.3.6. 安装常用工具(推荐)
      • 2.3.7. 初始化 rosdep
      • 2.3.8. 设置环境变量
    • 2.4. 测试 ROS 2 是否正常工作

1. 系统环境准备

1.1. Jetpack简介

Jetson Nano 中的 JetPack 是由 NVIDIA 提供的、专为 Jetson 系列嵌入式 AI 模块(包括 Jetson Nano)打造的完整软件开发套件(SDK)

简单来说,JetPack 就是让 Jetson Nano 能够运行 AI 程序的“基础操作系统和工具包”。
有基础的Linux系统、AI和GPU计算库、开发工具和环境。

# 查看Jetpack版本
sudo apt-cache show nvidia-jetpack

1.2. 下载Jetpack安装系统

官网下载Jetpack烧录安装系统ubuntu22.04

2. 安装ROS2 Humble

2.1. ROS2 简介

ROS 2 是一个现代化的机器人开发框架,相较于依赖中心化主节点(Master)的 ROS 1,它基于去中心化的 DDS 通信机制

2.2. ROS2 Humble对比Foxy版本

发行版发布日期EOL(维护结束)支持周期
Foxy Fitzroy2020-062023-053 年(LTS)
Humble Hawksbill2022-052027-055 年(LTS)
  • 功能对比:
    • Foxy:
      • ros2 CLI 基本稳定,但功能少,没有 ros2 --version,ros2 topic pub 等命令的参数还比较原始。
    • Humble:
      • CLI 新增很多命令和选项(ros2 topic list -t 可直接显示类型等)。
      • ros2 bag 读写格式升级到 SQLite3 + 支持压缩。
      • Launch 文件支持更多 Python API 语法糖。
      • Colcon 构建系统兼容性提升,支持 --symlink-install 更好调试。

2.3. 安装

2.3.1. 更新系统

sudo apt update && sudo apt upgrade -y

2.3.2. 添加 ROS 2 GPG 密钥

sudo apt install -y curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo gpg --dearmor -o /etc/apt/keyrings/ros-archive-keyring.gpg

2.3.3. 添加 ROS 2 仓库源

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

2.3.4. 更新软件包索引

sudo apt update

2.3.5. 安装 ROS 2 Humble 桌面版(推荐)

sudo apt install -y ros-humble-desktop

💡 如果担心资源不足(Jetson Nano 4GB RAM),可改用轻量版:

sudo apt install -y ros-humble-desktop-core

2.3.6. 安装常用工具(推荐)

sudo apt install -y python3-rosdep python3-rosinstall python3-rosinstall-generator python3-vcstools python3-colcon-common-extensions

2.3.7. 初始化 rosdep

sudo rosdep init
rosdep update

2.3.8. 设置环境变量

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

2.4. 测试 ROS 2 是否正常工作

打开两个终端:

终端 1(发布者)

ros2 run demo_nodes_cpp talker

终端 2(订阅者)

ros2 run demo_nodes_py listener

你应该看到消息从 C++ 节点发送到 Python 节点。

http://www.lryc.cn/news/620531.html

相关文章:

  • Claude Code 国内直接使用,原生支持 Windows 免WSL安装教程
  • CVPR 2025 | 即插即用,动态场景深度感知新SOTA!单目视频精准SLAM+深度估计
  • Linux系统Namespace隔离实战:dd/mkfs/mount/unshare命令组合应用
  • 【iOS】KVC原理及自定义
  • 【KALI】第一篇 安装Kali Linux虚拟机之详细操作步骤讲解
  • Redis 从入门到生产:数据结构、持久化、集群、工程实践与避坑(含 Node.js/Python 示例)
  • Windows 安装 Claude Code 并将 Claude Code 的大模型替换为 Kimi 的完整步骤
  • 适用工业分选和工业应用的高光谱相机有哪些?什么品牌比较好?
  • 如何写出更清晰易读的布尔逻辑判断?
  • 【奔跑吧!Linux 内核(第二版)】第7章:系统调用的概念
  • 基于Java飞算AI的Spring Boot聊天室系统全流程实战
  • 在FP32输入上计算前向传播需要多长时间?FP16模型的实例与之前的模型相比,它快了多少?
  • 解刨HashMap的put流程 <二> JDK 1.8
  • 【自动驾驶】自动驾驶概述 ① ( 自动驾驶 与 无人驾驶 | 自动驾驶 相关岗位 及 技能需求 )
  • Day58--图论--117. 软件构建(卡码网),47. 参加科学大会(卡码网)
  • 从零开始的云计算生活——激流勇进,kubernetes模块之Pod资源对象
  • 解决EKS中KEDA访问AWS SQS权限问题:完整的IRSA配置指南
  • 【web站点安全开发】任务4:JavaScript与HTML/CSS的完美协作指南
  • 【论文阅读】基于卷积神经网络和预提取特征的肌电信号分类
  • 随身 Linux 开发环境:使用 cpolar 内网穿透服务实现 VSCode 远程访问
  • docker使用指定的MAC地址启动podman使用指定的MAC地址启动
  • vllmsglang 单端口多模型部署方案
  • 用飞算JavaAI一键生成电商平台项目:从需求到落地的高效实践
  • Java中加载语义模型
  • 【无标题】卷轴屏手机前瞻:三星/京东方柔性屏耐久性测试进展
  • 2025年世界职业院校技能大赛:项目简介模板
  • 工业一体机5G通讯IC/ID刷卡让MES系统管理更智能
  • SpringBoot 实现在线查看内存对象拓扑图 —— 给 JVM 装上“透视眼”
  • PostgreSQL + TimescaleDB 数据库语法配置
  • C++状态模式详解:从OpenBMC源码看架构、原理与应用