ros2 humble安装
时间: 2025-05-16 12:48:22 浏览: 30
### ROS 2 Humble在Ubuntu 22.04上的安装方法
为了在目标操作系统(如 Ubuntu 22.04 LTS)上成功安装 ROS 2 Humble 版本,需按照官方文档中的指导完成一系列配置和命令执行过程[^1]。以下是具体的说明:
#### 配置 Locale
确保系统的 locale 设置支持 UTF-8 编码,这是 ROS 2 的必要条件之一。可以通过以下命令验证当前的 locale 设置:
```bash
locale
```
如果未设置为 UTF-8,则需要手动调整。运行以下命令以更新 locale 并将其设为默认值:
```bash
sudo update-locale LANG=C.UTF-8 LC_ALL=C.UTF-8
export LANG=C.UTF-8
export LC_ALL=C.UTF-8
```
#### 添加 ROS 软件源密钥并配置软件源
添加 ROS 官方仓库的 GPG 密钥到本地系统中,以便能够安全地访问其软件包:
```bash
sudo apt update && sudo apt install curl -y
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo gpg --dearmor -o /usr/share/keyrings/ros-archive-keyring.gpg
```
随后,将 ROS 软件源添加至 APT 源列表文件中:
```bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
```
#### 更新并安装 ROS 2 Humble
完成上述步骤后,刷新 APT 数据库并开始安装所需的 ROS 2 组件:
```bash
sudo apt update
sudo apt upgrade
```
对于桌面环境下的完整安装(包含 RViz 和其他工具),可以使用如下命令:
```bash
sudo apt install ros-humble-desktop
```
如果是资源受限设备或者仅需要核心功能,可以选择基础安装选项:
```bash
sudo apt install ros-humble-ros-base
```
#### 初始化 `rosdep` 工具
初始化并配置用于解决依赖关系的 `rosdep` 工具:
```bash
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
```
#### 环境变量配置
为了让终端识别新安装的 ROS 2 命令集,在每次打开新的 shell 会话前都需要加载对应的 setup 文件。可直接输入以下指令临时生效:
```bash
source /opt/ros/humble/setup.bash
```
若希望永久启用此设定,应编辑用户的 `.bashrc` 文件并将上面那条 source 行追加进去。
#### 创建工作空间 (Optional)
虽然不是严格意义上的必需项,但创建个人的工作目录有助于管理自定义开发的功能包。例如建立名为 `my_ws` 的 workspace 可按下面的方式操作:
```bash
mkdir -p ~/my_ws/src
cd ~/my_ws/
```
之后依据所选编程语言决定采用何种构建体系结构——Python 使用 ament_python[C++] 或者 C++ 利用 cmake/ament_cmake 来组织项目结构[^3]。
---
### 示例代码片段:测试安装是否成功
启动一个新的终端窗口,并尝试运行简单的回环通信示例来检验整个流程是否顺利完成。
```bash
# 打开两个独立的 terminal tabs/windows.
# Terminal Tab 1 发布消息:
ros2 run demo_nodes_cpp talker
# Terminal Tab 2 订阅消息:
ros2 run demo_nodes_py listener
```
阅读全文
相关推荐
















