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

【ROS2实战】在中国地区 Ubuntu 22.04 上安装 ROS 2 Humble 教程


本文介绍如何在中国大陆环境下顺利安装 ROS 2 Humble,包括使用清华镜像源、解决 locale 和 GPG 密钥问题、安装 ROS 软件包以及配置自动环境加载。


🌟 ROS 2 版本简介

ROS 2 是机器人操作系统的第二代版本,目前主要有两个长期支持(LTS)版本:Humble HawksbillJazzy Jaguar

  • Humble Hawksbill:推荐用于 Ubuntu 22.04(Jammy Jellyfish),支持最新功能和改进。
  • Jazzy Jaguar:推荐用于 Ubuntu 24.04(未来版本),适合需要最新功能的用户。

对于 Ubuntu 22.04 用户,建议选择 Humble Hawksbill 版本。


📌 环境要求

  • 操作系统:Ubuntu 22.04(Jammy Jellyfish)
  • 网络:可访问清华大学开源镜像站(或使用科学上网)
  • 权限:具有 sudo 权限

1️⃣ 更换系统软件源(清华镜像)

为加快 ROS 相关依赖的下载速度,推荐先更换系统的 apt 源。

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

然后替换为清华的源(Jammy 版本):

sudo tee /etc/apt/sources.list > /dev/null <<EOF
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
EOFsudo apt update

2️⃣ 设置语言环境(locale)

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
locale  # 验证

3️⃣ 添加 ROS 2 的 APT 软件源

sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update
sudo apt install curl -y

添加 GPG 密钥:

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

添加 ROS 软件源:

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

4️⃣ 更新系统并安装 ROS 2

更新系统(⚠️ 非常关键,避免依赖错误):

sudo apt update
sudo apt upgrade

推荐安装完整桌面版:

sudo apt install ros-humble-desktop

或者仅安装基础 ROS 工具(无 GUI):

sudo apt install ros-humble-ros-base

开发者工具(建议安装):

sudo apt install ros-dev-tools

5️⃣ 设置 ROS 环境变量(自动加载)

每次打开终端都需要手动执行 source 太麻烦,可以添加到 bashrczshrc

对于 bash 用户:

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

对于 zsh 用户:

echo "source /opt/ros/humble/setup.zsh" >> ~/.zshrc
source ~/.zshrc

6️⃣ 验证安装(Talker/Listener 示例)

打开一个终端:

ros2 run demo_nodes_cpp talker

再打开另一个终端:

ros2 run demo_nodes_py listener

如果输出正常说明 ROS 2 安装成功!


🧹 卸载 ROS 2(可选)

sudo apt remove ~nros-humble-* && sudo apt autoremove
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update

http://www.xdnf.cn/news/5924.html

相关文章:

  • 黑白浮生项目测试报告
  • k8s初始化时候,报错无法通过 CRI(容器运行时接口)与 containerd 通信
  • 5.13 note
  • Java反射详细介绍
  • AI 检测原创论文:技术迷思与教育本质的悖论思考
  • 组策略+注册表解决 系统还原 被禁问题
  • 推荐系统-基于特征掩码的自适应特征建模: AdaF^2M^2(DASFAA‘2025)
  • 【GNSS硬件接收机】【非公开文章】GNSS硬件接收机设计目录
  • JavaScript 模块封装函数
  • 函数加密(Functional Encryption)简介
  • 信奥赛-刷题笔记-队列篇-T2-P1540机器翻译和P2952Cow Line S
  • 抗菌肽Tet-213,1260528-09-3
  • Java并发编程-线程池(二)
  • 今日行情明日机会——20250513
  • 期货反向跟单软件—持仓上限控制功能
  • gcc和g++
  • 闭包原理与常见陷阱
  • 装饰器在Python中的作用及在PyTorchMMDetection中的实战应用
  • Python -将MP4文件转为GIF图片
  • MyBatis 批量新增与删除功能完整教程
  • SpringBoot的外部化配置
  • 软件测试(1) 软件测试概述
  • 【Qt开发】信号与槽
  • 【技术追踪】InverseSR:使用潜在扩散模型进行三维脑部 MRI 超分辨率重建(MICCAI-2023)
  • Ansible安装与核心模块实战指南
  • 如何正确地写出单例模式
  • 嵌入式软件--stm32 DAY7 I2C通讯上
  • 码蹄集——分解、数组最大公约数、孪生质数、卡罗尔数、阶乘数
  • PY32系列单片机离线烧录器,可配置选项字节和上机台批量烧录
  • The Deep Learning Compiler: A Comprehensive Survey (深度学习编译器:全面调查)