说明:
介绍了 robot_pose_ekf 的概念及相关知识
代码库
参考链接:https://github.com/ros-planning/navigation
概要
Robot Pose EKF 包用于评估机器人的3D位姿,基于来自不同来源的位姿测量信息。
它使用带有6D(3D position and 3D orientation)模型信息的扩展卡尔曼滤波器来整合来自轮式里程计,IMU传感器和视觉里程计的数据信息。
基本思路就是用松耦合方式融合不同传感器信息实现位姿估计。
How to use the Robot Pose EKF
( 1 ) Configuration
EKF节点的默认启动文件位于robot_pose_ekf包目录中。 启动文件包含多个可配置参数:
freq: 滤波器更新和发布频率。注意:频率高仅仅意味着一段时间可以获得更多机器人位姿信息,但是并不表示可以提高每次位姿评估的精度。
sensor_timeout: 当传感器停止向滤波器发送信息时,滤波器在没有传感器的情况下等待多长时间才重新开始工作。
odom_used, imu_used, vo_used: 确认是否输入。
在启动文件中修改配置,例如:
( 2 ) Running
编译
$ rosdep install robot_pose_ekf
$ roscd robot_pose_ekf
$ rosmake
运行
$ roslaunch robot_pose_ekf.launch
Nodes
( 1 ) robot_pose_ekf
robot_pose