Ubuntu 22.04 LTS安装ROS2 (ros-humble-desktop)

本文记录Ubuntu 22.04虚拟机上安装ROS2的过程以及遇到的问题。

1. 确定Ubuntu和ROS版本

Ubuntu和ROS2存在一个版本的对应关系,具体可以看官网的这个页面:
REP 2000 – ROS 2 Releases and Target Platforms (ROS.org)
其中ROS2的humble版本(即截止到2022年10月初的最新版本)要求如下:
在这里插入图片描述
所以 Ubuntu 22.04 应该安装的ROS2版本为 ros-humble-desktop
此外Ubuntu的版本号如果是带有LTS字样(Long Term Support),为长期支持版本,大家安装Ubuntu的时候应优先考虑此版本。

2. 配置及安装

官方安装文档链接:Ubuntu (Debian) — ROS 2 Documentation: Humble documentation

2.1 设置locale

官方案例自然地使用英文locale,但是根据文档描述只要是支持UTF-8的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

2.2 设置Ubuntu软件源

2.2.1 首先确认是否已经启用Universe源

使用如下命令检查:

apt-cache policy | grep universe

返回可能有若干行,但是应该包含如下内容:

500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
    release v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64

如果没有包含上述内容,那么输入如下命令:

sudo apt install software-properties-common
sudo add-apt-repository universe

2.2.2 添加ROS 2 apt 仓库

a) 添加证书
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

这一步如果遇到Failed to connect to raw.githubusercontent.com,请访问 https://www.ipaddress.com 网站,在查询框中输入:raw.githubusercontent.com并回车,在里面找到相应的的ipv4地址:
在这里插入图片描述
这四个IP地址随便选一个,使用sudo vi /etc/hosts将IP和域名添加到/etc/hosts文件中,如下图:
在这里插入图片描述

b) 添加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

2.3 安装ros2包

sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop

你可能会遇到如下错误:
在这里插入图片描述
解决方法:把 “/etc/apt/sources.list” 中的: http://cn.archive.ubuntu.com/ubuntu
全部替换为可用的镜像,例如阿里云的:http://mirrors.aliyun.com/ubuntu/。然后使用sudo apt --fix-broken install命令修复未完成的安装即可。其他镜像列表可参考Mirrors : Ubuntu 中的China部分。

Desktop 版 (推荐)包含: ROS, RViz, demos, tutorials.
老鸟可以安装base版,sudo apt install ros-humble-ros-base,base版仅包含Communication libraries, message packages, command line tools. 不包含 GUI tools.

2.4 配置环境变量

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

3 测试

打开第一个终端,启动一个数据的发布者节点:

ros2 run demo_nodes_cpp talker

应该看到
在这里插入图片描述
打开第二个终端,启动一个数据的订阅者节点:

ros2 run demo_nodes_py listener

应该能看到:
在这里插入图片描述

### 同一台Ubuntu 22.04机器上同时安装配置ROS1和ROS2 #### 安装准备 为了在同一台 Ubuntu 22.04 上成功安装并运行 ROS1 和 ROS2,需确保系统的软件包管理器已更新至最新状态。这可以通过执行以下命令来完成: ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装ROS1 Noetic 尽管官方支持的版本为 Ubuntu 20.04 LTS, 对于 Ubuntu 22.04 来说,可以尝试通过 APT 安装 ROS1 Noetic 版本[^2]。 设置 sources.list: ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-y curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - ``` 再次刷新包列表并安装桌面全版: ```bash sudo apt update sudo apt install ros-noetic-desktop-full -y ``` 初始化 `rosdep` 并配置环境变量: ```bash sudo rosdep init rosdep update echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` #### 安装ROS2 Humble Hawksbill 对于 ROS2 的安装,在 Ubuntu 22.04 中推荐使用稳定发布的 Humble Hawksbill 版本。 添加 ROS2 软件仓库: ```bash sudo apt update && sudo apt install software-properties-common sudo add-apt-repository universe ``` 设置 GPG 密钥: ```bash 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 ``` 添加存储库到 sources.list.d: ```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 ``` 安装 ROS2 Humble 桌面版: ```bash sudo apt update sudo apt install ros-humble-desktop ``` 同样地,配置环境变量以便每次启动终端都能自动加载 ROS2 设置: ```bash echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc ``` #### 配置共存环境 为了让两个不同版本的机器人操作系统能够和平共处而不互相干扰,建议创建独立的工作空间用于各自开发项目,并利用虚拟环境工具如 Conda 或者 Python venv 创建隔离的 Python 运行时环境。另外,当切换工作区时记得相应调整 `.bashrc` 文件中的路径指向当前使用的 ROS 发行版。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值