在进行详细的代码描述前,进行源码的结构解析
--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类中实现
robot_localization多传感器融合的ekf_localization_node节点源码解析
最新推荐文章于 2024-08-26 18:27:29 发布