ubunu20.04安装ros1 ros2
时间: 2025-05-16 11:52:40 浏览: 13
### 同时安装 ROS1 和 ROS2 的方法
在 Ubuntu 20.04 上同时安装 ROS1 (Noetic) 和 ROS2 是可行的,但需要遵循特定的步骤来确保两者的兼容性和独立运行能力。以下是详细的说明:
#### 安装前准备
为了成功安装 ROS1 和 ROS2,在开始之前需确认系统的准备工作已经完成。这包括更新系统软件包以及设置必要的依赖项[^1]。
```bash
sudo apt update && sudo apt upgrade -y
```
#### 安装 ROS1 Noetic
按照官方文档中的指导进行 ROS1 Noetic 的安装过程。主要步骤如下:
- 设置源列表。
- 添加 GPG 密钥。
- 更新 `apt` 缓存。
- 使用 `apt` 命令安装 ROS 软件包。
具体命令示例如下:
```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-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-noetic-desktop-full
```
完成后初始化 `rosdep` 并配置环境变量:
```bash
sudo rosdep init
rosdep update
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
```
#### 安装 ROS2 Humble 或 Foxy
对于 ROS2 的安装,可以选择适合版本(如 Humble 或 Foxy),并依据官方教程执行以下操作[^3]:
- 配置语言环境。
- 添加 ROS2 存储库。
- 下载并应用公钥。
- 安装所需的 ROS2 软件包。
以 ROS2 Foxy 为例,其安装流程如下所示:
```bash
locale # 确认当前的语言编码是否为 UTF-8
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
sudo apt update && sudo apt install curl gnupg2 lsb-release
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo tee /etc/apt/trusted.gpg.d/ros.asc > /dev/null
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://repos.ros.org/repos/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2.list'
sudo apt update
sudo apt install ros-foxy-desktop
```
随后通过加载启动脚本来激活 ROS2 环境:
```bash
source /opt/ros/foxy/setup.bash
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
```
#### 切换 ROS1 和 ROS2 运行环境
由于在同一台机器上可能需要交替使用 ROS1 和 ROS2,因此可以通过调整 `.bashrc` 文件中的环境变量实现切换功能[^2]。一种常见做法是定义函数或者条件语句以便快速更改默认路径。
例如创建两个简单的 shell 函数用于分别启用不同版本:
```bash
function use_ros1() {
source /opt/ros/noetic/setup.bash
}
function use_ros2() {
source /opt/ros/foxy/setup.bash
}
```
将其加入到用户的主目录下的 `.bashrc` 文件里即可随时调用上述命令改变工作状态。
---
### 注意事项
当两种框架共存于同一操作系统之上时,务必小心处理潜在冲突问题,比如相同名称节点或话题可能导致混淆现象发生;另外也要注意各自工具链之间的差异性影响开发调试体验等方面因素.
阅读全文
相关推荐


















