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

    ROS2发布点云数据时报错发布数据类型不匹配

    已定时 已固定 已锁定 已移动 未解决
    综合问题
    点云变换 ros
    2
    4
    316
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 26592031192
      Cloud
      最后由 编辑

      发布器的类型如下所示:
      rclcpp::Publisher<sensor_msgs::msg::PointCloud2>::SharedPtr pub_transformed_cloud_;
      然后下面这段代码会发生报错。
      auto transformed_msg = std::make_shared<sensor_msgs::msg::PointCloud2>();
      pcl::toROSMsg(*transformed_cloud, *transformed_msg);
      transformed_msg->header = msg->header; // Copy the original header
      pub_transformed_cloud_->publish(transformed_msg);
      报错内容为:
      error: no matching function for call to ‘rclcpp::Publisher<sensor_msgs::msg::PointCloud2_<std::allocator<void> > >::publish(std::shared_ptr<sensor_msgs::msg::PointCloud2_<std::allocator<void> > >&)’
      请问是什么原因

      M 1 条回复 最后回复 回复 引用 0
      • M
        momokang0614 @2659203119
        最后由 编辑

        @2659203119 publish函数的传入的参数必须是个消息变量,共享指针的类型似乎不行

        1 条回复 最后回复 回复 引用 0
        • 26592031192
          Cloud
          最后由 编辑

          那请问这个具体需要把这个transformed_msg改成什么类型的呢?

          1 条回复 最后回复 回复 引用 0
          • 26592031192
            Cloud
            最后由 编辑

            解决了,谢谢谢谢

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