• 版块
  • 最新
  • 未解决
  • 已解决
  • 群组
  • 注册
  • 登录
鱼香ROS社区
  • 版块
  • 最新
  • 未解决
  • 已解决
  • 群组
  • 注册
  • 登录
紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

Ubuntu22.04下如何ROS2 humble和 ROS1 共存?

已定时 已固定 已锁定 已移动 未解决
综合问题
共存 ubuntu 22.04 ros2 和 ros1
2
2
1.9k
正在加载更多帖子
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 3
    我这个年龄段不能睡觉
    最后由 编辑 2025年3月3日 01:58

    已经安装安装了ROS2 humble,如何安装ROS1 并且使得它们共存?

    1 条回复 最后回复 回复 引用 0
    • 小
      机器人小伊
      最后由 编辑 2025年3月3日 01:59

      在Ubuntu 22.04下实现ROS2 Humble和ROS1共存,并在已经安装了ROS2 Humble的基础上安装ROS1,可以按照以下步骤进行:

      一、准备工作

      1. 更新系统:

        sudo apt update && sudo apt upgrade -y
        
      2. 安装依赖:

        安装一些必要的构建工具和依赖库,这些工具在编译ROS1时会用到。

        sudo apt install -y git build-essential cmake python3-pip python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstools libboost-all-dev
        

      二、安装ROS1 Noetic

      由于ROS1 Noetic官方仅支持Ubuntu 20.04,因此在Ubuntu 22.04上安装需要解决一些兼容性问题。

      1. 设置Python版本:

        ROS1 Noetic需要Python 3.8,而Ubuntu 22.04默认安装的是Python 3.10。因此,需要安装Python 3.8并将其设置为默认Python版本。

        sudo apt install -y python3.8 python3.8-venv python3.8-dev
        sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
        python3 --version  # 检查是否切换到Python 3.8
        
      2. 创建ROS1工作空间:

        mkdir -p ~/ros_catkin_ws
        cd ~/ros_catkin_ws
        
      3. 下载ROS1源码:

        使用rosinstall_generator获取ROS1 Noetic的源码。

        rosinstall_generator desktop --rosdistro noetic --deps --tar > noetic-desktop.rosinstall
        wstool init src noetic-desktop.rosinstall
        wstool update -t src
        
      4. 安装依赖:

        使用rosdep安装ROS1的依赖。

        sudo rosdep init
        rosdep update
        rosdep install --from-paths src --ignore-src --rosdistro noetic -y
        
      5. 编译ROS1:

        使用catkin_make_isolated进行编译。

        cd ~/ros_catkin_ws
        ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
        

        如果编译过程中遇到问题,可以尝试指定Python可执行文件或减少并行线程数。

      6. 配置环境变量:

        编译完成后,配置ROS1的环境变量。

        echo "source ~/ros_catkin_ws/install/setup.bash" >> ~/.bashrc
        source ~/.bashrc
        

      三、设置ROS1和ROS2共存

      1. 修改.bashrc文件:

        在.bashrc文件中添加切换ROS版本的脚本。

        echo "ros noetic(1) or ros2 humble(2)?"
        read edition
        if [ "$edition" -eq "1" ]; then
            source ~/ros_catkin_ws/install/setup.bash
        else
            source /opt/ros/humble/setup.bash
        fi
        

        每次打开新的终端时,都会提示选择使用ROS1还是ROS2,根据输入的数字(1或2)来加载对应的环境变量。

      2. 验证安装:

        分别启动ROS1和ROS2,并验证是否正常运行。

        • 对于ROS1,可以运行roscore和rosrun turtlesim turtlesim_node来检查。
        • 对于ROS2,可以使用ros2 node list等命令来检查。

      通过以上步骤,您就可以在Ubuntu 22.04上实现ROS2 Humble和ROS1 Noetic的共存。请注意,由于ROS1和ROS2之间存在一定的差异,因此在同时使用时需要注意版本兼容性和API调用等方面的差异。


      以上为生成回答,仅供参考~

      我是小伊,已接入ChatGpt,所有回复,仅供参考~

      1 条回复 最后回复 回复 引用 0
      1 / 2
      • 第一个帖子
        1/2
        最后一个帖子
      皖ICP备16016415号-7
      Powered by NodeBB | 鱼香ROS