ubuntu22.4 ros1 ros2并存
时间: 2025-04-27 14:35:54 浏览: 31
### 安装和配置ROS1和ROS2共存于Ubuntu 22.04
#### 准备工作
为了确保ROS1 (Robot Operating System 1) 和 ROS2 能够在同一台Ubuntu 22.04机器上顺利安装并运行,建议先完成系统的更新操作。这可以通过执行以下命令实现:
```bash
sudo apt update && sudo apt upgrade -y
```
#### 安装ROS1 Noetic Ninjemys
对于ROS1而言,在Ubuntu 20.04及以上版本推荐使用Noetic Ninjemys发行版。按照官方指南设置软件源后,通过如下指令安装桌面全功能版:
```bash
sudo apt install ros-noetic-desktop-full
```
初始化rosdep工具以便后续依赖项管理更加便捷[^1]。
```bash
sudo rosdep init
rosdep update
```
#### 安装ROS2 Humble Hawksbill
针对ROS2的选择取决于具体需求;Humble Hawksbill适合长期支持(LTS),并且兼容Ubuntu 22.04。遵循官方文档指导添加仓库密钥与资源列表之后,采用下面的方法部署完整环境:
```bash
sudo apt install ros-humble-desktop
```
#### 解决潜在冲突
由于两个不同版本的ROS都可能涉及到一些相同的包名或者路径变量设定,因此需要注意避免它们之间的相互干扰。一种常见做法是在`.bashrc`文件里分别定义用于切换的工作空间激活函数,比如命名为`source_ros1()`和`source_ros2()`, 如下所示:
```bash
function source_ros1 {
echo "Sourcing ROS1..."
source /opt/ros/noetic/setup.bash
}
function source_ros2 {
echo "Sourcing ROS2..."
source /opt/ros/humble/setup.bash
}
```
每次启动终端前手动调用相应函数即可快速进入所需的操作模式。此外,也可以考虑创建独立用户账户专门负责某一特定版本下的开发活动,从而进一步减少跨平台作业带来的不便之处。
#### 设置环境变量
为了让系统能够识别新安装的ROS组件,需修改当前用户的shell配置文件(通常是~/.bashrc)。在该文件末尾追加对应版本的setup脚本加载语句,但考虑到之前提到的不同版本间可能存在冲突的风险,这里更倾向于动态调整而非静态写入固定的内容到此文件中去。
#### 测试安装成果
最后一步就是验证各自的安装情况是否正常无误。可以尝试打开新的终端窗口依次输入`rosversion -d`(针对ROS1)以及`echo $ROS_DISTRO`(面向ROS2), 若返回预期的结果,则说明整个过程顺利完成。
阅读全文
相关推荐

















