Ubuntu 20.04安装Ros Noetic及Ubuntu 18.04安装ROS Melodic(两版本详细填坑)


本文介绍在Ubuntu 20.04(Focal Fossa)安装Ros Noetic及Ubuntu 18.04(Bionic Beaver)安装ROS Melodic。最近学习ROS Melodic,网上有一些安装教程,但是不够详细,自己动手做了下,随手记下整个安装流程,并详细记录细节和遇到的问题,为后来者节省10来分钟足矣。本文参考《机器人开发实战》,作者无为斋主。
ROS作为目前最受欢迎的机器人操作系统,它的核心代码采用C++编写并经由BSD许可发布。ROS源于2007年斯坦福大学和机器人技术公司Willow Garage合作项目Switchyard。2012年,ROS团队从Willlow Garage独立出来,并成立了一家非营利组织,即开源机器人基金会(Open Source Robotics Foundation, OSRF),ROS自2013年起移交该基金会管理。
自2010年3月推出第一个发行版Box Turtle以来,ROS以每年1~2个版本的节奏已经发行了多个版本。ROS作为次级操作系统,官方推荐基于Ubuntu操作系统运行,并跟随Ubuntu发布节奏发布,在偶数年发布维护周期为5年的长期演进版本,奇数年发布维护周期为2年的普通版本。但2019年未发布新版本。ROS2也发布了正式版本,限于篇幅不涉及。ROS已发布的历史版本如表1-1所示。

表1-1 ROS的历史版本

发行版本 发布日期 截止日期
### 同时安装和管理多个版本ROSUbuntu 20.04 上同时安装和管理多个版本ROS 是可行的,通常涉及 ROS1 (Noetic)ROS2 (Foxy 或更高版本) 的共存。以下是实现这一目标的关键要点: #### 1. **安装 ROS Noetic** ROS NoeticROS1 的最新长期支持版本,在 Ubuntu 20.04 下可以通过官方文档中的步骤完成安装[^1]。主要过程包括设置源、更新包索引以及安装桌面全版。 ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt update sudo apt install ros-noetic-desktop-full ``` #### 2. **安装 ROS Foxy** 对于 ROS2,推荐安装 Foxy Fitzroy 版本,它同样兼容 Ubuntu 20.04。通过以下命令可以完成 ROS2 的安装[^2]。 ```bash sudo apt update && sudo apt install ros-foxy-desktop ``` #### 3. **环境变量配置** 为了在同一系统中切换不同版本ROS,需要合理配置 `source` 命令来加载对应的环境文件。默认情况下,每次启动终端都会自动加载 `.bashrc` 文件中的路径。因此可以在 `.bashrc` 中定义函数或条件语句以便快速切换 ROS 环境。 ##### 方法一:手动 source 不同版本 可以直接执行对应版本的 setup 脚本来激活特定 ROS 环境。 - 对于 ROS Noetic: ```bash source /opt/ros/noetic/setup.bash ``` - 对于 ROS Foxy: ```bash source /opt/ros/foxy/setup.bash ``` ##### 方法二:创建自定义脚本 如果频繁切换 ROS 环境,建议编写简单的 shell 函数简化操作。例如编辑 ~/.bashrc 添加如下内容: ```bash function set_ros_env() { if [ "$1" == "noetic" ]; then echo "Switching to ROS Noetic" unset ROS_VERSION export ROS_DISTRO=noetic source /opt/ros/noetic/setup.bash elif [ "$1" == "foxy" ]; then echo "Switching to ROS Foxy" export ROS_VERSION=2 export ROS_DISTRO=foxy source /opt/ros/foxy/setup.bash else echo "Invalid argument, use noetic or foxy." fi } ``` 之后重启终端或者重新加载 .bashrc 即可调用该函数切换环境: ```bash set_ros_env noetic # 或者 set_ros_env foxy ``` #### 4. **注意事项** 当ROS 版本共存时需要注意一些潜在冲突问题,比如依赖库重名可能导致编译失败等问题。确保工作空间隔离,并分别构建针对各版本的工作区。 ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ wstool init src catkin_make ``` 对于 ROS2,则采用 colcon 构建工具替代 catkin_make: ```bash mkdir -p ~/ros2_foxy_ws/src cd ~/ros2_foxy_ws/ colcon build --symlink-install ``` --- ### 总结 以上介绍了如何在单台机器上安全地部署多套 ROS 并灵活切换其运行环境的方法[^1]。这不仅有助于开发测试阶段的不同需求满足,也便于维护跨平台项目的一致性体验。
评论 57
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值