OE_ubuntu24.04安装ros2

OE:Operations Engineer,ROS2:robot operations system version2

在 Ubuntu 24.04 (Noble Numbat) 上安装 ROS2,推荐安装 ROS2 Jazzy Jalisco(2024年5月发布的 LTS 长期支持版)。以下是完整详细的安装步骤:

一、系统要求确认

表格

项目 要求
操作系统 Ubuntu 24.04 LTS (Noble Numbat)
架构 x86_64 / ARM64
ROS2 版本 Jazzy Jalisco (LTS) 或 Rolling
支持周期 Jazzy 支持到 2029 年 5 月
bash 复制代码
# 确认系统版本
lsb_release -a

# 确认系统架构
uname -m

二、完整安装步骤

步骤 1:设置系统语言环境

ROS2 需要 UTF-8 语言环境:

bash 复制代码
# 检查当前语言环境
locale

# 如果看到警告,执行以下命令
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
locale

步骤2:添加 ROS2 软件源

bash 复制代码
# 安装必要的证书和工具
sudo apt install software-properties-common gnupg curl -y

# 添加 ROS2 GPG 密钥
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

# 添加软件源(Jazzy 版本)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
复制代码
⚠️ 注意:Ubuntu 24.04 的代号是 noble,不要使用 jammy 或其他

步骤3:更新软件包索引

bash 复制代码
sudo apt update

步骤4:选择并安装 ROS2 版本

方案 A:安装桌面完整版(推荐新手)

bash 复制代码
sudo apt install ros-jazzy-desktop -y
复制代码
包含:ROS2 核心 + Rviz + Gazebo + 演示程序 + 工具

方案 B:安装基础版(服务器/最小化)

bash 复制代码
sudo apt install ros-jazzy-ros-base -y
复制代码
仅包含 ROS2 核心通信库

方案 C:安装开发版(开发者)

bash 复制代码
sudo apt install ros-jazzy-desktop-full -y
复制代码
包含所有工具 + 仿真器 + 调试工具

步骤5:配置环境变量

bash 复制代码
# 临时生效(当前终端)
source /opt/ros/jazzy/setup.bash

# 永久生效(添加到 ~/.bashrc)
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc

步骤6:安装常用依赖工具

bash 复制代码
sudo apt install python3-colcon-common-extensions \
                 python3-rosdep \
                 python3-vcstool \
                 python3-flake8 \
                 python3-pytest \
                 python3-pip \
                 ros-jazzy-rmw-fastrtps-cpp \
                 -y

步骤7:初始化 rosdep

bash 复制代码
# 初始化 rosdep
sudo rosdep init

# 更新 rosdep 数据库
rosdep update

# 安装系统依赖
rosdep install --from-paths src --ignore-src -r -y
复制代码
⚠️ 如果 rosdep update 失败(网络问题),使用:
bash 复制代码
    rosdep update --include-eol-distros

三、验证安装

测试 1:检查 ROS2 版本

bash 复制代码
ros2 --version

预期输出:

text 复制代码
ros2 0.32.x

测试 2:运行示例(两个终端)

终端 1 - 发布消息:

bash 复制代码
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_cpp talker

终端 2 - 接收消息:

bash 复制代码
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener

如果看到消息正常收发,说明安装成功!

测试 3:检查节点和话题

bash 复制代码
# 查看节点列表
ros2 node list

# 查看话题列表
ros2 topic list

# 查看话题信息
ros2 topic echo /chatter

四、常见问题解决

问题 1:ros2: command not found

bash 复制代码
# 检查是否已 source
echo $ROS_DISTRO

# 如果没有输出,重新 source
source /opt/ros/jazzy/setup.bash

# 永久添加
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc

问题 2:rosdep update 超时/失败

bash 复制代码
# 方法1:使用国内镜像
export ROSDEP_SOURCE_URL=https://raw.githubusercontent.com/ros/rosdistro/master/rosdep
export ROSDISTRO_URL=https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml

# 方法2:多次重试
rosdep update --timeout 100

# 方法3:使用代理
export https_proxy=http://proxy:port
export http_proxy=http://proxy:port
rosdep update

问题 3:GPG 密钥错误

bash 复制代码
# 重新添加密钥
sudo rm /usr/share/keyrings/ros-archive-keyring.gpg
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
sudo apt update

问题 4:软件源 404 错误

bash 复制代码
# 检查软件源配置
cat /etc/apt/sources.list.d/ros2.list

# 确认是 noble 不是 jammy
# 错误:deb ... jammy main
# 正确:deb ... noble main

# 修正后更新
sudo apt update

问题 5:Python 版本冲突

Ubuntu 24.04 默认 Python 3.12,ROS2 Jazzy 支持 Python 3.12:

bash 复制代码
# 检查 Python 版本
python3 --version

# 如果有冲突,使用虚拟环境
sudo apt install python3-venv
python3 -m venv ~/ros2_venv
source ~/ros2_venv/bin/activate

五、可选组件安装

1. Gazebo 仿真器

bash 复制代码
# 安装 Gazebo Harmonic(与 Jazzy 兼容)
sudo apt install gz-harmonic -y

# 或安装 ROS2 集成的 Gazebo
sudo apt install ros-jazzy-gazebo-ros-pkg -y

2. Rviz2 可视化工具

bash 复制代码
# 桌面版已包含,单独安装:
sudo apt install ros-jazzy-rviz2 -y

3. 导航栈

bash 复制代码
sudo apt install ros-jazzy-navigation2 -y
sudo apt install ros-jazzy-nav2-bringup -y

4. SLAM 工具

bash 复制代码
sudo apt install ros-jazzy-slam-toolbox -y
  1. 常用功能包
bash 复制代码
sudo apt install ros-jazzy-rqt* -y
sudo apt install ros-jazzy-robot-state-publisher -y
sudo apt install ros-jazzy-joint-state-publisher -y
sudo apt install ros-jazzy-urdf -y
sudo apt install ros-jazzy-xacro -y

六、ROS2 版本对比

版本 代号 Ubuntu 支持 支持周期 推荐场景
Jazzy Jalisco 24.04 2029.5 生产环境
Humble Hawksbill 22.04 2027.5 旧项目维护
Rolling Ridley 最新 持续 开发测试

七、完整安装脚本(一键安装)

保存为 install_ros2_jazzy.sh:

bash 复制代码
#!/bin/bash
set -e

echo "=== ROS2 Jazzy 安装脚本 (Ubuntu 24.04) ==="

# 1. 设置语言环境
echo "[1/7] 设置语言环境..."
sudo apt update
sudo apt install -y 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. 添加软件源
echo "[2/7] 添加 ROS2 软件源..."
sudo apt install -y software-properties-common gnupg curl
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

# 3. 更新
echo "[3/7] 更新软件包索引..."
sudo apt update

# 4. 安装 ROS2
echo "[4/7] 安装 ROS2 Jazzy Desktop..."
sudo apt install -y ros-jazzy-desktop

# 5. 配置环境变量
echo "[5/7] 配置环境变量..."
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc

# 6. 安装开发工具
echo "[6/7] 安装开发工具..."
sudo apt install -y python3-colcon-common-extensions python3-rosdep python3-vcstool

# 7. 初始化 rosdep
echo "[7/7] 初始化 rosdep..."
sudo rosdep init
rosdep update || echo "rosdep update 可能需要重试"

echo ""
echo "=== 安装完成!==="
echo "ROS 版本:$(ros2 --version)"
echo "ROS 发行版:$ROS_DISTRO"
echo ""
echo "运行测试:"
echo "  终端1: ros2 run demo_nodes_cpp talker"
echo "  终端2: ros2 run demo_nodes_py listener"

运行:

bash 复制代码
chmod +x install_ros2_jazzy.sh
./install_ros2_jazzy.sh

八、工作空间创建示例

bash 复制代码
# 创建 ROS2 工作空间
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws

# 编译
colcon build

# 加载环境
source install/setup.bash

# 永久加载
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc

九、参考资源

资源 链接
ROS2 官方文档 https://docs.ros.org/en/jazzy/
安装指南 https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debians.html
ROS2 教程 https://docs.ros.org/en/jazzy/Tutorials.html
GitHub https://github.com/ros2/ros2

安装完成后,您就可以开始 ROS2 开发了!结合您之前的手套项目,现在可以正常创建 ROS2 节点和话题了。有任何问题随时问我!🤖

相关推荐
够快云库1 小时前
2026数据安全实战:零信任架构在制造企业的核心部署解析
人工智能·架构·制造·企业文件安全
Deepoch1 小时前
一块Deepoc具身模型开发板破解轮椅出行难题 让无障碍出行更有温度
人工智能·科技·开发板·具身模型·deepoc·智能轮椅
Charlie_lll1 小时前
力扣解题-无重复字符的最长子串
后端·算法·leetcode
W133309089071 小时前
大专应用统计学专业,怎么区分数据统计岗和数据分析岗?
人工智能·算法·数据分析
甲枫叶1 小时前
【claude+weelinking产品经理系列15】UI/UX 打磨——产品经理的审美终于能自己实现
java·人工智能·python·ui·产品经理·ai编程·ux
羑悻的小杀马特1 小时前
LFU缓存算法全解:从双哈希+双向链表到O(1)艺术,解锁长期热点守护神
算法·缓存·哈希算法·lfu·双链表
kebijuelun1 小时前
GLM-5:从 Vibe Coding 走向 Agentic Engineering 的全栈路线图
人工智能·深度学习·算法·语言模型
有为少年1 小时前
Monarch矩阵:从设计直觉到数学推导与实际应用
人工智能·深度学习·学习·线性代数·机器学习·计算机视觉·矩阵
hughnz1 小时前
Equinor的AI野心
人工智能·能源