6
$\begingroup$

Are there any Open source implementations of GPS+IMU sensor fusion (loosely coupled; i.e. using GPS module output and 9 degree of freedom IMU sensors)? -- kalman filtering based or otherwise.

I did find some open source implementations of IMU sensor fusion that merge accel/gyro/magneto to provide the raw-pitch-yaw, but haven't found anything that includes GPS data to provide filtered location and speed info.

$\endgroup$
5
$\begingroup$

Yes. The px4 software for the pixhawk autopilot has an extended kalman filter that uses an accelerometer, a gyroscope, gps, and mag. Here's a paper describing the a smaller ekf which only estimates attitude[1] and here is the code for the full ekf[2].

[1]https://pixhawk.org/firmware/apps/attitude_estimator_ekf

[2]https://github.com/priseborough/InertialNav https://pixhawk.org/firmware/apps/ekf_att_pos_estimator

$\endgroup$
3
$\begingroup$

ROS has a package called robot_localization that can be used to fuse IMU and GPS data. This package implements Extended and Unscented Kalman filter algorithms. The package can be found here.

$\endgroup$
  • $\begingroup$ Thanks JuliusG. I didn't mention earlier, but my use case involves logging the GPS and IMU data (using embedded device), which after the usage scenario is transferred to a server and thats where I plan on performing the sensor fusion as a post-processing activity. I've just started looking at ROS and looks like it can be helpful for my use-case. Please let me know if you think otherwise. (my application is not exactly robotics, but I am seeking help here because sensor fusion is a fairly common thing in robotics) $\endgroup$ – O.K. Dec 5 '15 at 18:54
  • $\begingroup$ I believe you will find ROS very useful. It has a lot of tools not only for sensor fusion but for data visualization etc. $\endgroup$ – JuliusG Dec 6 '15 at 6:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.