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

    ros2 run error: Package not found

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

      背景

      我在尝试实现一个用python编写的ros2节点,用来进行目标检测,我所用的ros版本为ros-humble,ubuntu系统为22.04,这个项目实际不止包含这一个包,这里我仅仅展示这个出错的包,我认为这与其他包的关系不大

      问题描述

      节点实现完成后,使用colcon build进行编译,并尝试使用ros2 run进行运行,但是找不到package

      具体细节

      下面给出我具体的项目结构,package.xml、setup.cfg、setup.py文件内容,以及编译结果和运行结果402d848b0992671e576ef7e21969b8a7.png

      package.xml
      
      <?xml version="1.0"?>
      <?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
      <package format="3">
        <name>racecar_detector</name>
        <version>0.0.0</version>
        <description>TODO: Package description</description>
        <maintainer email="3110379921@qq.com">labor</maintainer>
        <license>TODO: License declaration</license>
      
        <depend>rclpy</depend>
        <depend>sensor_msgs</denpend>
      
        <test_depend>ament_copyright</test_depend>
        <test_depend>ament_flake8</test_depend>
        <test_depend>ament_pep257</test_depend>
        <test_depend>python3-pytest</test_depend>
      
        <export>
          <build_type>ament_python</build_type>
        </export>
      </package>
      
      setup.py
      
      from setuptools import find_packages, setup
      package_name = 'racecar_detector'
      
      setup(
          name=package_name,
          version='0.0.0',
          packages=find_packages(exclude=['test']),
          data_files=[
              ('share/ament_index/resource_index/packages',
                  ['resource/' + package_name]),
              ('share/' + package_name, ['package.xml']),
              ('share/' + package_name + "/model", ['model/yolov5s_bs1.om', 'model/yolov5s.onnx']),
          ],
          install_requires=['setuptools'],
          zip_safe=True,
          maintainer='labor',
          maintainer_email='3110379921@qq.com',
          description='TODO: Package description',
          license='TODO: License declaration',
          tests_require=['pytest'],
          entry_points={
              'console_scripts': [
             		'racecar_detector_node = racecar_detector.detector_node:main'
              ],
          },
      )
      
      setup.cfg
      
      [develop]
      script_dir=$base/lib/racecar_detector
      [install]
      install_scripts=$base/lib/racecar_detector
      

      这里编译时报了一个setuptools的问题,但那应该无伤大雅
      2d42902b-0d64-4b3a-82f2-2f415d5d3786-image.png
      我按照ros2-humble官方wiki文档进行的节点内容编写,并不认为这里有什么问题,我确定自己已经source过install/setup.bash文件,并且经过检查,install下确实存在racecar_detector的包,其中lib文件夹下也已生成可执行文件
      56017188e58eaaf00afa07da61f08331.png

      尝试过的解决办法

      我在网上进行查阅,并没有找到很有效的办法,删除install build log 文件夹,重新编译,仍然报同样的错

      小 1 条回复 最后回复 回复 引用 1
      • 小
        小白小白小白 @3110379921
        最后由 编辑

        @3110379921 我遇到了类似的问题,请问题主最后解决这个问题了吗?

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