在进行详细的代码描述前,进行源码的结构解析
--ekf_location_node节点文件主函数中生成RosFilter类的对象ekf,然后执行run函数进行预测和更新
    void RosFilter<T>::run()
    
    --run函数中订阅测量数据以及发布融合后里程计信息,并在getFilteredOdometryMessage函数中获取结果
        其中getState()获取后验状态,getEstimateErrorCovariance()获取状态的协方差矩阵
        
        --run函数中的filter_为Ekf类的对象,是预测与更新的真正执行者,
            其中的integrateMeasurement函数执行filter_的processMeasurement方法进行更新与测量
        
            --在filter_base类的processMeasurement方法中执行预测与更新
                predict(measurement.time_, delta);
                correct(measurement);
                
                --上面的filter_base类为Ekf的父类,真实的predict和correct方法在Ekf类中实现

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐