当前位置:   article > 正文

[rviz]: Message Filter dropping message: frame ‘‘ at time 0.000 for reason ‘the frame id of the mess_[info] [rviz]: message filter dropping message: fr

[info] [rviz]: message filter dropping message: frame '' at time 0.000 for r

报错原因

按照报错解释,以为是frame id没有正确设置,但其实代码没有问题。代码如下:

void publish_gnss_path(rclcpp::Publisher<nav_msgs::msg::Path>::SharedPtr pubPath)
{
    if (gnss_extrinsic_initialized == false) {
        return;
    }
    set_gps_posestamp(msg_gps_pose);
    msg_gps_pose.header.frame_id = "camera_init";
    msg_gps_pose.header.stamp = get_ros_time(lidar_end_time);

    /*** if path is too large, the rvis will crash ***/
    static int jjjj = 0;
    jjjj++;
    if (jjjj % 2 == 0) 
    {
        gps_path.poses.push_back(msg_gps_pose);
        pubPath->publish(gps_path);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

可以看到提示是在time = 0.0的时候,才有frame_id为空。所以联想到应该有一个初始化的动作,告诉这个topic它的frame_id。

解决办法

初始化的时候,对gps_path的frame_id赋值。

gps_path.header.stamp = this->get_clock()->now();
gps_path.header.frame_id = "camera_init";
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/540460
推荐阅读
相关标签
  

闽ICP备14008679号