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

    自定义消息接口——编译功能包报错

    已定时 已固定 已锁定 已移动
    MicroROS
    microros colcon build
    4
    6
    763
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 3787186083
      早 安
      最后由 编辑

      跟着小鱼老师的文档 1.控制OLED-自定义消息接口 操作下来,在2.2编译功能包的时候报错:
      屏幕截图(17).png

      ros2@ros2-virtual-machine:~/example14_custom_interface/extra_packages$ colcon build
      Starting >>> fishbot_interfaces
      --- stderr: fishbot_interfaces                         
      CMake Error at /opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:93 (message):
        rosidl_generate_interfaces() the passed file 'srv/OledControl.srv' doesn't
        exist relative to the CMAKE_CURRENT_SOURCE_DIR
        '/home/ros2/example14_custom_interface/extra_packages/fishbot_interfaces'
      Call Stack (most recent call first):
        CMakeLists.txt:28 (rosidl_generate_interfaces)
      
      
      ---
      Failed   <<< fishbot_interfaces [1.86s, exited with code 1]
      
      Summary: 0 packages finished [2.46s]
        1 package failed: fishbot_interfaces
        1 package had stderr output: fishbot_interfaces
      

      请问怎么解决?

      小鱼小 16287993151 2 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @378718608
        最后由 编辑

        @378718608 细心点 src?srv
        另外先看看发帖前必看

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        3787186083 1 条回复 最后回复 回复 引用 0
        • 3787186083
          早 安 @小鱼
          最后由 编辑

          @小鱼 谢谢小鱼老师,我在srv下创建了.srv接口文件,编译时遇到了一个错误,我看了之前的帖子,按照解决方法在package.xml添加了

          <build_depend>rosidl_default_generators</build_depend>
            <exec_depend>rosidl_default_runtime</exec_depend>
            <member_of_group>rosidl_interface_packages</member_of_group>
          

          但是VSCode提示了一个错误:
          屏幕截图(20)1.png
          提示是这样:

          Element name 'test_depend' is invalid.
          
          One of the following is expected:
           - member_of_group
           - export
          
          Error indicated by:
           {the schema}
          with code:xml(cvc-complex-type.2.4.a)
          

          然后我把这三行代码放到了下面,不报错:
          屏幕截图(19)1.png
          编译也成功了。继续按文档往下操作:重新编译工程,编写代码上传到开发板(我把接口文件和main都改成了两数相加的案例),启动Agent,也连通了,但是测试的时候给了这样的提示:
          屏幕截图(18)1.png

          The passed service type is invalid
          

          请问怎么解决?

          小鱼小 10330329341 2 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @378718608
            最后由 编辑

            @378718608 电脑段先colcon build

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            1 条回复 最后回复 回复 引用 0
            • 16287993151
              早点睡晚安吧 @378718608
              最后由 编辑

              @378718608 解决了吗啊? 我也遇到啦
              ros2 pkg create --build-type ament_cmake tutorial_interfaces
              直接编译 也报错

              1 条回复 最后回复 回复 引用 0
              • 10330329341
                一万二的笑 @378718608
                最后由 编辑

                @378718608 The passed service type is invalid 这个问题需要先在ex_pkg目录下source install/local_setup.sh

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