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

    昇腾Atlas 200I DK A2 套件 昇腾官方Ubuntu 22.04 无法配置Python库robot_msgs

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    ros2 昇腾 humble
    2
    2
    187
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • V
      VanillaKona
      最后由 VanillaKona 编辑

      背景:

      昇腾Atlas 200I DK A2 开发套件(ARM架构芯片);
      通过SD卡烧录的昇腾官方提供的Ubuntu 22.04 系统;
      系统登录后默认的HwHiAiUser用户通过ssh登录root操作已经开放了sudo权限;
      用鱼总的一键安装ROS安装了 ROS2 humble;
      之前尝试的时候也安装了miniconda3并已经卸载,且把python3的软链接改回了系统自带的python-3.10版本。

      问题描述:

      一个开源的机器人强化学习部署项目https://github.com/fan-ziqi/rl_sar.git,在Python代码里面用到了一个库,这个库安装不上。代码引用的库片段如下:
      from robot_msgs.msg import MotorCommand
      网上几乎没有 robot_msgs 相关的内容,只看到一些说法说这个是ROS2 里面的一部分。
      尝试使用 apt-get 和 pip3 来安装都找不到这个库,参照百度AI提示想通过源码安装去 github 找到一个失效的页面 https://github.com/ros2/robot_msgs (404 not found)。

      具体细节和上下文:

      1.直接import会失败:

      python3 -c "import robot_msgs"
      Traceback (most recent call last):
      File "<string>", line 1, in <module>
      ModuleNotFoundError: No module named 'robot_msgs'

      2.apt安装失败1:

      sudo apt-get install robot-msgs
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      E: Unable to locate package robot-msgs

      3.apt安装失败2:

      sudo apt-get install ros-humble-robot-msgs
      [sudo] password for HwHiAiUser:
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      E: Unable to locate package ros-humble-robot-msgs

      4.pip3 安装失败1:

      sudo pip3 install robot_msgs
      Looking in indexes: https://pypi.doubanio.com/simple
      ERROR: Could not find a version that satisfies the requirement robot_msgs (from versions: none)
      ERROR: No matching distribution found for robot_msgs

      5.pip3 安装失败2:

      sudo pip3 install robot_msgs --extra-index-url https://rospypi.github.io/simple/
      Looking in indexes: https://pypi.doubanio.com/simple, https://rospypi.github.io/simple/
      ERROR: Could not find a version that satisfies the requirement robot_msgs (from versions: none)
      ERROR: No matching distribution found for robot_msgs

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

        根据您提供的信息,robot_msgs 这个库实际上并不是一个可以直接通过 pip 或 apt 安装的 Python 包,而是 ROS 2 中的一个消息定义包(通常用于定义 ROS 2 系统中不同节点之间交换的消息类型)。在 ROS 2 中,这些消息定义包通常是通过 CMake 构建的,并且需要在 ROS 2 的工作空间中编译和安装。

        解决步骤

        1. 确认 ROS 2 环境:
          确保您的 ROS 2 环境(Humble)已经正确安装,并且所有依赖都已满足。

        2. 创建 ROS 2 工作空间:
          如果您还没有 ROS 2 工作空间,您需要创建一个。通常这包括 src 目录用于存放源代码包,以及用于构建和安装的 build 和 install 目录。

          mkdir -p ~/ros2_ws/src
          cd ~/ros2_ws
          source /opt/ros/humble/setup.bash
          
        3. 克隆 robot_msgs 包(如果存在):
          由于 robot_msgs 可能不是 ROS 2 官方标准库的一部分,您可能需要查找是否有社区提供的包或者自己创建。如果找不到现成的包,您可能需要自己创建一个。例如,如果您只是需要定义 MotorCommand 消息,您可以自己创建一个 ROS 2 消息包。

          如果找到类似包,请将其克隆到 src 目录下:

          cd ~/ros2_ws/src
          git clone [包的git仓库URL]
          

          如果没有找到,创建一个新的 ROS 2 包:

          ros2 pkg create --build-type ament_cmake robot_msgs
          cd robot_msgs
          mkdir msg
          touch msg/MotorCommand.msg
          

          在 MotorCommand.msg 文件中定义您的消息格式。

        4. 构建工作空间:
          回到工作空间根目录,并使用 colcon 构建包:

          cd ~/ros2_ws
          colcon build --packages-select robot_msgs
          
        5. 设置环境变量:
          为了让 ROS 2 找到新构建的包,您需要设置环境变量:

          source install/setup.bash
          
        6. 测试:
          现在您应该能够在 Python 脚本中导入 robot_msgs 并使用 MotorCommand 消息了。

          from robot_msgs.msg import MotorCommand
          print(MotorCommand)
          

        注意事项

        • 确保您的 ROS 2 环境设置正确,包括所有必要的路径和依赖。
        • 如果自己创建 robot_msgs 包,确保消息定义符合 ROS 2 的要求。
        • 如果使用社区提供的包,请检查其兼容性和文档。

        希望这些步骤能帮助您解决问题!如果 robot_msgs 是某个特定项目或机器人平台特有的,您可能需要联系该项目的开发者或查找相关的文档和资源。


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

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

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