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

    虚拟机上ros2 建立pkg失败

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    求助ai和csdn找不到 下载过yolov5 conda,pytorch d455相机相应插件
    2
    104
    15.0k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 3
      rrrooosss @小伊
      最后由 编辑

      @小伊 在 虚拟机上ros2 建立pkg失败 中说:

      BUFFERED_OPT 应该在哪个版本的 empy 中可用

      my_torch) (base) ros2@ros2:~/chapt9/chapt9_ws$ colcon build
      Starting >>> vision_msgs
      --- stderr: vision_msgs
      Traceback (most recent call last):
      File "/opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 22, in <module>
      from catkin_pkg.package import parse_package_string
      ModuleNotFoundError: No module named 'catkin_pkg'
      CMake Error at /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:95 (message):
      execute_process(/home/ros2/miniconda3/envs/my_torch/bin/python3
      /opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py
      /home/ros2/chapt9/chapt9_ws/src/vision_msgs/vision_msgs/package.xml
      /home/ros2/chapt9/chapt9_ws/build/vision_msgs/ament_cmake_core/package.cmake)
      returned error code 1
      Call Stack (most recent call first):
      /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:49 (_ament_package_xml)
      /opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:226 (ament_package_xml)
      CMakeLists.txt:37 (rosidl_generate_interfaces)


      Failed <<< vision_msgs [0.45s, exited with code 1]

      Summary: 0 packages finished [0.67s]
      1 package failed: vision_msgs
      1 package had stderr output: vision_msgs
      2 packages not processed

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

        在您的错误输出中,主要问题是 ModuleNotFoundError: No module named 'catkin_pkg'。这表明在尝试构建 vision_msgs 包时,Python 环境中缺少 catkin_pkg 模块。catkin_pkg 是用于解析和处理 catkin 包 XML 文件的 Python 库,尽管 ROS 2 主要是基于 ament 的构建系统,但在某些情况下(如处理旧代码或兼容性问题),可能仍然需要 catkin_pkg。

        关于 BUFFERED_OPT 的问题,这通常与 empy 库有关,但您的错误信息中并未直接提及 empy。BUFFERED_OPT 是在较新版本的 empy 中引入的一个选项,用于模板渲染时的输出缓冲。不过,您的当前问题似乎与 empy 无关,而是与缺少 catkin_pkg 模块有关。

        解决步骤:

        1. 安装 catkin_pkg:
          由于您使用的是 ROS 2 Humble,通常不需要 catkin_pkg,但如果遇到依赖问题,您可以尝试安装它。在您的 ROS 2 环境中安装 catkin_pkg:

          source /opt/ros/humble/setup.bash
          rosdep install --from-paths src --ignore-src --rosdistro humble -y
          

          注意:rosdep 可能会尝试安装所有依赖项,但这里主要是确保所有必要的包都被考虑。如果 catkin_pkg 是缺失的依赖之一,它应该会被安装。然而,对于 ROS 2,通常不需要这样做,因为 ROS 2 使用 ament 而不是 catkin。

        2. 检查 ament_cmake 和相关依赖:
          确保您的 ROS 2 环境设置正确,并且所有相关的构建工具都已正确安装。可以尝试重新安装或更新 ament_cmake 和其他相关包。

        3. 检查 Python 环境:
          确保您使用的 Python 环境与 ROS 2 兼容。由于您使用的是 Conda 环境 (my_torch),请确保该环境中安装了所有必要的 ROS 2 依赖项。

        4. 清理和重建工作空间:
          清理您的工作空间并尝试重新构建:

          cd ~/chapt9/chapt9_ws
          rm -rf build install log
          colcon build
          
        5. 检查 vision_msgs 包:
          如果 vision_msgs 是一个自定义包或来自第三方,请确保它兼容 ROS 2。如果是从 ROS 1 迁移过来的包,可能需要进行一些修改才能与 ROS 2 兼容。

        如果上述步骤仍然无法解决问题,您可能需要更详细地检查 vision_msgs 包的 CMakeLists.txt 和 package.xml 文件,以确保它们是为 ROS 2 正确配置的。


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

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

        3 1 条回复 最后回复 回复 引用 0
        • 3
          rrrooosss @小伊
          最后由 编辑

          @小伊 ros2humble版本里的vision_msgs怎么安装

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

            在ROS2 Humble版本中安装vision_msgs通常涉及到添加相应的ROS 2包存储库,并使用包管理器进行安装。以下是一个详细的步骤指南,帮助你安装vision_msgs:

            1. 确保系统环境:

              • 操作系统:Ubuntu 22.04(或其他支持ROS 2的Linux发行版)。
              • 确保系统语言环境支持UTF-8。
            2. 更新系统并安装必要的依赖:

              sudo apt update
              sudo apt upgrade
              sudo apt install -y python3-venv software-properties-common curl gnupg lsb-release
              
            3. 添加ROS 2存储库:

              首先,添加ROS 2的GPG密钥:

              curl -fsSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
              

              然后,将ROS 2存储库添加到系统的源列表中:

              echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list >/dev/null
              
            4. 更新apt存储库缓存:

              sudo apt update
              
            5. 安装ROS 2 Humble:

              你可以选择安装ROS 2的桌面版(包含RViz等工具)或基础版。这里以基础版为例:

              sudo apt install ros-humble-ros-base
              
            6. 安装vision_msgs:

              vision_msgs通常作为某个ROS 2包的依赖项而被安装。但是,如果你需要单独安装它,可以尝试在ROS 2的包索引中搜索并安装。不过,在ROS 2 Humble中,由于vision_msgs可能已经被包含在某些核心包或元包中,因此你可能不需要单独安装它。

              如果你确实需要单独安装(例如,因为它没有被自动包含在你安装的ROS 2包中),你可以尝试使用以下命令(但请注意,这可能需要你知道vision_msgs的确切包名和仓库地址):

              sudo apt install ros-humble-<vision_msgs-specific-package>
              

              或者,如果它是一个独立的仓库,你可能需要从源代码构建它:

              mkdir -p ~/ros2_ws/src
              cd ~/ros2_ws/src
              git clone <vision_msgs-repository-url>
              cd ~/ros2_ws
              colcon build
              

              但是,请注意,上述从源代码构建的步骤通常用于那些不在官方ROS 2存储库中的包。对于官方包,使用apt安装通常是更简单和推荐的方法。然而,由于vision_msgs通常是作为依赖项被安装的,因此你可能需要先安装一个依赖它的包(例如某个视觉处理包)来自动获取vision_msgs。

            7. 配置环境:

              安装完成后,你需要加载ROS 2的环境变量:

              echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
              source ~/.bashrc
              
            8. 验证安装:

              你可以通过运行一个使用vision_msgs的ROS 2节点来验证它是否已正确安装。例如,如果你有一个使用vision_msgs的视觉处理节点,你可以尝试运行它来检查是否有任何关于缺少vision_msgs的错误。

            请注意,由于ROS 2的生态系统不断发展和更新,上述步骤可能会随着时间的推移而发生变化。因此,建议始终参考ROS 2的官方文档和社区资源以获取最新和最准确的安装指南。


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

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

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