How to get high frequency position data from GPS and IMU

asked 2018-11-02 12:13:10 -0500

yoshiros gravatar image

Hi all,

I am using u-blox C94-M8P as a GPS receiver and Vectornav vn-100 as an IMU sensor. Each sensor had a ROS ready driver and it is publishing each topic really good. The frequency of the GPS is around 1Hz and IMU is around 40Hz.

I'm trying to get odometry in around 20 Hz using this two data. I just tried robot_pose_ekf package that subscribes both GPS & IMU and publishes the odometry calculated by EKF. However, the frequency of the output was only 1 Hz. That was because it wasn't designed to calculate if there is only IMU data.

Is there any package which calculates odometry in high frequency with GPS and IMU data?

Thanks in advance.

edit retag flag offensive close merge delete


You can trick the EKF by republishing the GPS at 40Hz. To do this you'd publish the actual gps data once per second then republish the same data but with huge covariance values the other 39 times. This will produce 40Hz estimates from the EKF using only 1 'good' measurement per second.

PeteBlackerThe3rd gravatar image PeteBlackerThe3rd  ( 2018-11-02 12:32:26 -0500 )edit

robot_pose_ekf is rather old. It's not a solution per se, but I would take a look at robot_localization.

gvdhoorn gravatar image gvdhoorn  ( 2018-11-03 09:30:48 -0500 )edit