本文详细介绍了如何在Ubuntu22.04(Jammy)系统下配置ROS2环境,安装RO2软件包,并验证安装成功。ROS2的版本是Humble Hawksbill。
ROS:ROS是一个开源的机器人开发框架,提供硬件抽象、设备驱动、库、工具和通信机制,支持模块化开发与集成,广泛用于机器人控制和自动化应用。
ROS2与ROS1的本质区别:ROS2 相较于 ROS1 在架构设计、通信机制和平台支持等方面做出了改进。ROS1 采用集中式主节点(Master)进行节点间通信,存在单点故障风险,且实时性和跨平台支持较弱。而 ROS2 采用基于 DDS 中间件的分布式架构,实现了无主节点的去中心化通信,具备内置的 QoS 策略,支持多种通信模式,满足实时性要求。此外,ROS2 支持多平台(如 Linux、Windows 和 macOS),并引入了消息加密、身份验证等安全机制,增强了系统的可靠性和扩展性。这些优势使 ROS2 成为现代机器人系统和实时控制应用的理想选择。
1. ROS2安装
设置locale
首先要确保本地语言支持UTF-8
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
设置源
sudo apt install software-properties-common
sudo add-apt-repository universe
下载过程中会遇到一个提示,按回车键继续即可,显示如下:
添加ROS2密钥
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
添加软件源
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
安装ROS
sudo apt update && sudo apt upgrade
sudo apt install ros-humble-desktop
注意:建议安装桌面版(desktop)最全最通用,但也可以选择基础版(基础版不包含图形界面库)
sudo apt install ros-humble-ros-base
安装其他ROS工具
sudo apt install ros-dev-tools
2. 配置rosdep(可选)
rosdep是 ROS2中的一个命令行工具,主要用于自动安装和管理软件包的系统依赖项,它帮助开发者避免手动安装各种库和依赖包。暂时不配置也不会影响ROS2的使用。
开始配置
sudo rosdep init
注意:如果在安装时报错“rosdep找不到命令”,需先安装python3-rosdep
sudo apt-get install python3-rosdep
可参考这篇文章:rosdep找不到命令的解决方法——CSDN博客
rosdep update
更新完成后显示如下:
3. 配置环境
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
配置环境生效后,可在目录下的.bashrc文件中看到ROS环境
grep "humble" ~/.bashrc
4. 测试
分别在两个终端中,输入如下命令:
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener
运行结果如下:
该测试代码使用了ROS2中的例子实现了订阅和发布的简单通信
安装完成后,可以通过ROS2自带的实例来进一步学习:Tutorials — ROS 2 Documentation: Humble documentation
5. 参考内容
Ubuntu (deb packages) — ROS 2 Documentation: Humble documentation
Ubuntu安装ROS(2) —— 安装ROS2 humble(最新、超详细图文教程,包含配置rosdep)_ros2安装-CSDN博客