当前位置:首页 > 系统教程 > 正文

ROS双系统安装全攻略(Ubuntu 22.04下ROS2 Humble与ROS1 Noetic兼容配置指南)

ROS双系统安装全攻略(Ubuntu 22.04下ROS2 Humble与ROS1 Noetic兼容配置指南)

本教程将详细介绍在Ubuntu 22.04系统中,如何同时安装ROS2 Humble和ROS1 Noetic,并实现它们的兼容运行。无论你是ROS新手还是有经验的用户,都可以按照步骤轻松完成。ROS安装是机器人开发的基础,而Ubuntu 22.04作为主流操作系统,为ROS2 Humble和ROS1 Noetic提供了稳定支持。

ROS双系统安装全攻略(Ubuntu 22.04下ROS2 Humble与ROS1 Noetic兼容配置指南) ROS安装  Ubuntu 22.04 ROS2 Humble ROS1 Noetic 第1张

一、安装前准备

确保你的系统是Ubuntu 22.04,并且已连接网络。打开终端(Ctrl+Alt+T),更新软件包列表:

    sudo apt update && sudo apt upgrade -y  

这有助于避免后续安装冲突。ROS安装依赖良好的系统环境。

二、安装ROS1 Noetic

ROS1 Noetic是ROS1的最后一个版本,专为Ubuntu 20.04和22.04设计。首先,设置软件源:

    sudo sh -c "echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list"  

然后添加密钥并安装ROS1 Noetic完整版:

    sudo apt install curl -ycurl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -sudo apt updatesudo apt install ros-noetic-desktop-full -y  

安装完成后,初始化rosdep并设置环境变量:

    sudo rosdep initrosdep updateecho "source /opt/ros/noetic/setup.bash" >> ~/.bashrcsource ~/.bashrc  

验证ROS1 Noetic安装:运行roscore,如果无错误,则成功。

三、安装ROS2 Humble

ROS2 Humble是ROS2的长期支持版本,适用于Ubuntu 22.04。首先,设置软件源:

    sudo apt install software-properties-common -ysudo add-apt-repository universe -ysudo apt update && sudo apt install curl -ysudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg  

然后添加ROS2 Humble仓库并安装:

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/nullsudo apt updatesudo apt install ros-humble-desktop -y  

安装完成后,设置环境变量:

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

验证ROS2 Humble安装:运行ros2 topic list,应显示空列表,表示正常。

四、配置ROS1和ROS2兼容性

为了实现ROS1 Noetic和ROS2 Humble的兼容,需要安装ros1_bridge工具。首先,确保两个ROS版本都已安装。然后,安装依赖:

    sudo apt install ros-humble-ros1-bridge -y  

接下来,创建自定义工作空间来管理兼容环境。在终端中执行:

    mkdir -p ~/ros_ws/srccd ~/ros_wssource /opt/ros/noetic/setup.bashsource /opt/ros/humble/setup.bashcolcon build --symlink-install  

这允许你在同一终端中切换ROS1和ROS2。为了简化,可以编写一个bash脚本来自动化环境切换。ROS安装的兼容性关键在于正确设置环境变量。

五、测试双系统运行

打开两个终端窗口。在第一个终端中,启动ROS1 Noetic:

    source /opt/ros/noetic/setup.bashroscore  

在第二个终端中,启动ROS2 Humble并测试桥接:

    source /opt/ros/humble/setup.bashros2 run demo_nodes_cpp talker  

如果一切正常,你可以在ROS1中查看话题。这证实了Ubuntu 22.04下ROS2 Humble和ROS1 Noetic的兼容安装成功。

六、常见问题与解决

  • 环境变量冲突:确保在~/.bashrc中正确顺序source ROS1和ROS2的设置。建议使用别名或脚本切换。
  • 软件包安装失败:检查网络连接,或尝试更换软件源镜像。ROS安装依赖于稳定的网络。
  • 桥接工具不工作:重新安装ros-humble-ros1-bridge,并确保两个ROS版本都完整安装。

通过本教程,你应该已经成功在Ubuntu 22.04系统中完成了ROS2 Humble和ROS1 Noetic的兼容安装。ROS安装是机器人开发的第一步,而双系统配置让你能灵活应对不同项目需求。如有问题,请参考ROS官方文档或社区论坛。