Ubuntu 的 ROS 2 操作系统安装与测试
引言
-
机器人操作系统(ROS, Robot Operating System)是一种广泛应用于机器人开发的开源框架,提供了丰富的库和工具,支持开发者快速构建、控制机器人并实现智能功能。
-
当前,ROS 2 的最新长期支持版本为 Humble Hawksbill,专为 Ubuntu 22.04(Jammy Jellyfish)设计,适用于 Linux 环境下的机器人控制、感知、路径规划等功能开发。
-
本文将介绍 ROS 2 Humble 的安装流程及基本测试方法,帮助读者快速掌握这一强大的机器人操作系统的基础使用。
学习目标
-
本次学习的目标是通过在 Ubuntu 系统上安装和配置 ROS 2 Humble Hawksbill,为后续的机器人开发和应用奠定基础。
-
通过本次学习,读者将掌握 ROS 2 Humble 的安装步骤、环境配置及基本操作,能够在 Ubuntu 系统上顺利使用 ROS 2 进行机器人控制、感知和算法开发。
-
同时,将学习如何创建和管理 ROS 2 工作空间、安装必要的依赖包、配置环境变量等,以确保系统支持多种机器人开发任务,为后续算法实现和仿真工作提供可靠基础。
-
安装与自己Ubuntu版本对应的ROS版本,本文ROS 2 Humble Hawksbill 主要支持 Ubuntu 22.04 (Jammy Jellyfish)。安装前请详细参考 Ubuntu版本、ROS版本与Python 版本之间的关系,
学习内容
1 设置系统语言环境
ROS 2 Humble Hawksbill是ROS 2的稳定版本之一,支持Ubuntu Jammy (22.04)。安装此版本在最新的平台上使用ROS 2进行机器人开发。
确保系统支持UTF-8编码格式。对于Docker等最小化环境,执行以下命令:
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 设置软件源
在Ubuntu系统中添加ROS 2的APT软件源。
2.1 确保Ubuntu的universe仓库已启用
# 在Ubuntu系统中添加ROS 2的APT软件源
sudo apt install software-properties-common
# 确保Ubuntu的universe仓库已启用
sudo add-apt-repository universe
2.2 添加ROS 2的GPG密钥
# 添加ROS 2的GPG密钥
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
2.3 添加ROS 2的APT源到系统源列表
# 添加ROS 2的APT源到系统源列表
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
3 安装ROS 2 Humble包
3.1 环境配置
更新APT缓存并确保系统已更新。
# 更新APT缓存并确保系统已更新
sudo apt update
# 更新系统以避免系统包冲突
sudo apt upgrade
3.2 根据需求选择安装的ROS 2版本
3.2.1 桌面版安装(推荐):包括ROS、RViz、示例和教程,适合开发和仿真。
# 安装推荐的桌面版(包括ROS、RViz、示例、教程)
sudo apt install ros-humble-desktop
3.2.2 基础版安装(精简版):仅包含通信库、消息包和命令行工具,不包括GUI工具。
# 安装基础版(仅包含核心通信库和命令行工具)
sudo apt install ros-humble-ros-base
3.2.3 开发工具安装:提供编译器和其他构建ROS包的工具。
# 开发工具(编译器等)
sudo apt install ros-dev-tools
4 环境配置
4.1 环境配置
每次在终端中使用ROS 2时,都需要source环境配置文件:
# source环境配置文件
source /opt/ros/humble/setup.bash
4.2 简化操作
为了简化操作,可以将其添加到.bashrc文件中,使其在每次新终端启动时自动source:
# 在.bashrc中加入ROS的环境变量设置,使其每次启动终端时自动加载
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
# 更新.bashrc文件使其生效
source ~/.bashrc
5 验证安装
安装完成后,验证安装的ROS 2 Humble系统是否可以正常使用。
5.1 检查ROS 2版本
# 检查ROS 2版本
ros2 --version
输出安装的ROS 2版本,本文安装为 humble,如果输出正确版本说明ROS 2已经成功安装。
5.2 检查ROS 2环境
# 检查ROS 2环境
echo $ROS_DOMAIN_ID
- 若显示出设定的ROS_DOMAIN_ID,则表明环境配置正确。
- 如果没有输出,请重新执行source /opt/ros/humble/setup.bash,或将此命令添加至~/.bashrc文件中。
5.3 ROS 2核心
- 在ROS 2中,不再需要像ROS 1那样手动启动roscore。
- ROS 2的通信机制是基于DDS中间件,自动处理节点间的发现和通信。
5.4 运行ROS 2示例节点(验证ROS 2通信机制)
ROS 2提供了一些示例节点,可以用来验证安装:
# 发布消息
ros2 run demo_nodes_cpp talker
然后在另一个终端运行:
# 接收消息
ros2 run demo_nodes_py listener
若两个节点能够正常通信并在终端显示传输的消息,则说明ROS 2已经正确安装并配置完毕。
小结
- 通过本次安装与配置,在Ubuntu系统上成功部署了ROS 2 Humble环境,并验证了其核心功能的运行情况。
- 本文详细介绍了从设置系统语言、配置APT源,到安装ROS 2及其基本工具包的各个步骤,同时也展示了环境配置和通信测试的方法。完成这些步骤后,用户可以顺利使用ROS 2进行机器人应用的开发和实验,为后续的工作打下坚实基础。
- ROS 2 Humble版本在通信机制、性能和灵活性上相较于ROS 1有显著提升,更适合复杂的机器人系统开发。未来,可以进一步学习ROS 2的开发工具和实际项目应用,实现机器人功能的扩展与优化。
欢迎大家评论留言!!!
友情提示:
- 专栏:Turtlebot3 PC端ROS环境搭建与仿真
- 下一节:Ubuntu 的 ROS 操作系统turtlebot3环境搭建