Classes for Adding External IMU and Navigation Data

Hi All!

After looking around the ArduSub forums and code!! I have not been able to find a solution!

We would like to make a small ROV and would like to use the ArduSub pilot for all the vehicle controls, however we would like to use an external IMU system which will provide a nicely filtered attitude estimation as well as an improvisation for dead reckoning.

The data will come in over ethernet, and we are using a RPi to process the data and maybe a PixHawk or something else for the motor control (not entirely sure just now).

Anyway, I have been looking over the ArduSub code and have been trying to find the point at which I can override the internal EKF/AHRS calculations. I have been looking/testing for far too long now with no success, I can get the data in to where I think it should go but the gauges in QGC dont respond. (Ive not tested the motor output just yet)

So I am wondering does anyone know at which point a can sneakily change to the classes to inject our data? Im hoping to add Roll, Pitch, Yaw, Position (x,y,z) from arming, their velocities, eventually a current direction and speed of current ect.

Thank you very much, all input is appreciated!

Tom

Hi Tom,

Thanks for the post. I’m not familiar with a way to do this, unfortunately. I think it might be worthwhile to ask on the main ArduPilot forums. There are a lot more developers there and I’m sure there is someone who has done something similar.

-Rusty

Hi Tom,

I’m also interesting in adding an external IMU for the Bluerov2, do you have any news on how to do this?

Thanks!!

See here: External IMU with pixhawk