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

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

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

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

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        在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
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS