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

    ros2中能使用proto文件进行消息传递吗?

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

      想使用proto文件定义消息格式,请问ros2中可以使用proto进行消息的传递吗? 谢谢!

      LorryL 小鱼小 2 条回复 最后回复 回复 引用 0
      • LorryL
        Lorry @Bruce
        最后由 编辑

        @Bruce 你目的要干啥?

        BruceB 1 条回复 最后回复 回复 引用 0
        • BruceB
          Bruce @Lorry
          最后由 编辑

          @Lorry 就是各个节点之间的通讯使用 .proto文件格式,不使用msg。因为proto定义文件格式丰富一些,并且有的无法直接使用 .msg文件来写,就想直接使用ROS 来传递 .proto文件数据。百度Apollo的CyberRT使用的 .proto,但是我不会这个,也没有现成的release版本的CyberRT.

          LorryL 1 条回复 最后回复 回复 引用 0
          • LorryL
            Lorry @Bruce
            最后由 编辑

            @Bruce 有点复杂了,我也没研究过

            BruceB 1 条回复 最后回复 回复 引用 0
            • BruceB
              Bruce @Lorry
              最后由 编辑

              @Lorry 没事,谢谢啊,我再网上再找找。主要是 如果 节点之间使用 msg格式,程序内部使用proto 也行,但是ros功能包中如果包含的 .proto文件import了其他的 proto文件,不知道怎么编译通过。我再去找找看。

              1 条回复 最后回复 回复 引用 0
              • 小鱼小
                小鱼 技术大佬 @Bruce
                最后由 编辑

                @Bruce 你可以自己定义proto,但直接hack到ros2中的proto估计行不通

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

                1 条回复 最后回复 回复 引用 0
                • BruceB
                  Bruce
                  最后由 编辑

                  参考 百度apollo3.0 中,publish 的消息数据格式得序列化为 std_msgs::String 格式 SerializeAsString(),订阅的时候也是std_msgs::String,取数据的时候需要反序类化 ParseFromString().

                  小鱼小 1 条回复 最后回复 回复 引用 1
                  • 小鱼小
                    小鱼 技术大佬 @Bruce
                    最后由 编辑

                    @Bruce 好办法

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

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