Ubuntu22.04 LTS 安装ROS2-Humble

Ubuntu22.04 LTS 安装ROS2-Humble

Humble Hawksbill (2022-11-18)

针对LTS(长期支持)版本,支持时间为5年。
更加稳定且易于维护,包括许多新的质量等级1的软件包,以及对不同平台和体系结构的改进。
改进了安全性,引入了对DDS安全插件的支持。
支持Ubuntu 22.04 (Jammy Jellyfish)、macOS 12 (Monterey) 和 Windows 11。

1.添加ROS2 apt仓库

1.1第一种下载方式(需要Ubuntu科学上网)
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
1.2第二种下载方式
# 科学上网先下载好ros.key
https://raw.githubusercontent.com/ros/rosdistro/master/ros.key
# 放到ubuntu22.04/home/用户名路径下
sudo cp ./ros.key /usr/share/keyrings/ros-archive-keyring.gpg

2.添加ROS仓库

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

3.安装ROS2包

humble支持ubuntu20.04和ubuntu22.04,但是ubuntu20.04需要从源码编译,ubuntu22.04则不用,ubuntu20.04可以退而安装Galactic,但它不是LTS长期支持版

sudo apt update
sudo apt upgrade
# 有gui tools
sudo apt install ros-humble-desktop
# 无gui tools
sudo apt install ros-humble-base

安装ros-humble-desktop是如报下面这个错,先卸载包重新下载一个,版本冲突了

The following packages have unmet dependencies:
 libusb-1.0-0-dev : Depends: libusb-1.0-0 (= 2:1.0.25-1ubuntu1) but 2:1.0.25-1ubuntu2 is to be installed
                    Recommends: libusb-1.0-doc but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
sudo apt remove libusb-1.0-0=2:1.0.25-1ubuntu2
sudo apt install libusb-1.0-0=2:1.0.25-1ubuntu1

然后再执行

sudo apt install ros-humble-desktop

4.环境设置

/opt/ros/humble/setup.bash是底层工作空间

# 更新环境
source /opt/ros/humble/setup.bash
# 将更新环境语句写入.bashrc,每次启动终端都会加载环境
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

5.测试安装是否成功

终端1:发布者节点

ros2 run demo_nodes_cpp talker

终端2:订阅者节点

ros2 run demo_nodes_cpp listener

6.启动小海龟仿真

终端1:启动小海龟节点

ros2 run turtlesim turtlesim_node

终端2:启动键盘

ros2 run turtlesim turtle_teleop_key

会出现一个小海龟,按上下左右键操作一下。

7.下载依赖软件包

7.1下载编译所需包
sudo apt install python3-pip
sudo apt install python3-rosdep2
sudo apt install python3-colcon-common-extensions
7.2 下载rosdep的rosdepc
sudo pip install rosdepc
sudo rosdepc init
sudo rosdepc update
sudo rosdepc install -i --from-path src --rosdistro humble -y

8.创建项目空间

mkdir -p ~/dev_ws/src
git clone https://github.com/ros/ros_tutorials.git -b humble
# rosdep install -i --from-path src --rosdistro humble -y
cd ~/dev_ws
rosdepc install -i --from-path src --rosdistro humble -y
# 编译
colcon build

终端显示如下消息表示编译成功

Starting >>> turtlesim
Finished <<< turtlesim [5.49s]

Summary: 1 package finished [5.58s]

colcon build

  • –packages-yp-to 编译指定的包及其所有依赖项而不是整个工作区
  • –symlink-install 避免了每次更改Python脚本时需要重新编译
  • –event-handlers console_direct+ 在编译时是否在控制台显示输出,不显示可在log文件查看

编译之后查看工作空间 dev_ws

ls ~/dev_ws

dev_ws

  • build:
  • install:存放当前工作空间的配置文件
  • log:编译日志
  • src:代码

9.加载工作空间(overlay)

我们首先来看工作空间的层叠

  • /opt/ros/humble/setup.bash 第一层
  • install/local_setup.bash 第二层
  • install/setup.bash == 第一层+第二层

install目录下有local_setup.bash和setup.bash两个文件。

local_setup.bash只会把当前工作空间中的可用包添加到环境当中

setup.bash会把新建该工作空间时的底层工作空间也加入到环境中,这样就有两个工作空间的软件包可以使用。这样的一个好处是你在使用底层工作空间的同时可以切换不同的工作空间,减少了多个工作空间的干扰。

一般的步骤就是:

  1. source底层工作空间
  2. source自己创建的工作空间

这时,同样一个包,在底层工作空间存在,在自己的工作空间也存在,修改自己的工作空间的包,会覆盖掉在底层工作空间的包,但是不会修改底层工作的包。

参考资料

【ROS2】带你避坑安装ROS2最新版本Humble Hawksbill(本人一个坑一个坑踩过来的)(unable to locate package ros-humble-desktop问题解决):https://blog.csdn.net/weixin_44458490/article/details/125447703

Ubuntu 22.04 LTS安装ROS2 (ros-humble-desktop):https://blog.csdn.net/toopoo/article/details/127178416

ros2不同版本的差异 foxy galactic humble rolling:https://blog.csdn.net/zyh821351004/article/details/130180172

ROS2 基于humble版本机器人仿真教程:https://blog.csdn.net/qq_20492531/article/details/126913096

ROS2学习笔记之创建工作空间篇:https://blog.csdn.net/qq_38649880/article/details/104408383

<think>好的,用户想在Ubuntu 22.04 LTS安装ROS2,我需要根据提供的引用资料整理一个步骤指南。首先,确认Ubuntu版本和ROS2的对应关系。根据引用[1],Ubuntu 22.04对应的是ROS2 Humble版本,所以需要安装ros-humble-desktop。 接下来,安装步骤需要包括设置源、安装依赖、配置环境等。引用[2]和[3]提供了添加GPG密钥和源的命令,需要检查这些命令是否正确。用户可能需要先更新系统并安装curl等工具,然后下载密钥并添加到正确的位置,接着添加源到sources.list.d目录中。 然后,安装ROS2的包。引用[1]提到安装ros-humble-desktop,所以使用sudo apt install ros-humble-desktop命令。安装完成后,需要设置环境变量,自动source setup文件,可以通过修改.bashrc实现。 用户可能还关心是否可以通过源码安装,但根据引用[2]和[3],这里应该推荐二进制安装,因为更简单。需要注意是否有开发工具如build-essential和python3-colcon-common-extensions需要安装,这些可能是在编译或开发时需要的,但基础安装可能不需要,不过引用中的步骤提到了安装这些,可能需要包含进去。 另外,用户可能使用的是WSL,如引用[4]所述,所以可能需要提醒WSL用户注意的点,比如网络配置或GUI支持的问题,但如果没有特别的问题,可能不需要深入,除非用户提到。 最后,验证安装是否成功,可以建议运行示例talker和listener节点。同时,用户可能需要后续配置,比如创建工作空间和编译包,但基础安装可能不需要这些步骤,不过可以简要提及。 需要确保所有命令正确,比如添加源时的命令是否正确处理了架构和Ubuntu代号,引用[3]中的命令使用了$(dpkg --print-architecture)和$UBUNTU_CODENAME,应该没问题。另外,安装完成后环境变量的设置是否正确,可能需要检查bashrc中的source命令路径。 还要注意用户可能遇到的常见问题,比如密钥添加失败,或者源列表错误,需要确保步骤清晰,避免权限问题,使用sudo命令。最后,生成相关问题,比如如何配置工作空间,如何测试安装,或者如何安装其他版本的ROS2等。</think>### 在Ubuntu 22.04 LTS安装ROS2 Humble的步骤 #### 1. 确认系统版本 - Ubuntu 22.04 LTSROS2 Humble的官方支持版本[^1]。 #### 2. 配置软件源和密钥 ```bash # 更新软件包列表并安装依赖 sudo apt update && sudo apt install curl gnupg lsb-release # 添加ROS2 GPG密钥 sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg # 添加ROS2软件源 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 ``` #### 3. 安装ROS2核心包 ```bash # 更新软件源 sudo apt update # 安装完整桌面版(含GUI工具) sudo apt install ros-humble-desktop # 安装开发工具(可选) sudo apt install python3-colcon-common-extensions build-essential ``` #### 4. 配置环境变量 ```bash # 自动加载ROS环境变量 echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc ``` #### 5. 验证安装 ```bash # 启动示例节点(新终端中运行) ros2 run demo_nodes_cpp talker # 监听节点(另一新终端中运行) ros2 run demo_nodes_py listener ``` #### 注意事项 - 若使用WSL,需额外配置图形界面支持(如Windows端的X11 Server)[^4] - 长期支持版本(LTS)稳定性更好,推荐用于生产环境[^1]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值