External IMU and Onboard Computing

Hi All!

Im new here! Im Tom, a student here in Australia!

I was hoping to use the PX4 stack with a self contained, external IMU. It is a self contained hardware module and simply outputs its global position, speed, accell and pose all over RS-232 at a high refresh rate. I was hoping simply take this data and integrate it into the stack and use that as it implements all the filtering and computation.

Im not too sure about the best way to do this and would like some advice. I was thinking about using the Mavlink message # 104, VICON_POSITION_ESTIMATE, but this doesnt take the velocities and accelerations. Then I thought # 105, HIGHRES_IMU, but that wants magnetometer readings, which I dont have access to.

I was also hoping to not have any other filters associated to the data stream.

And, lastly, I was hoping to do this on either a Raspberry Pi, or another single board, ARM, Linux computer, so modifying internal code and using seperate drivers is an easy option.


can you give the details about the external imu, the position should be estimated beginning from accelerometer readings, position from external imu will be dangerous

Hi metinburak,

Sorry, the IMU is a prototype self contained device, with MEMS sensors, magnetometers and a GPS receiver with all associated internal filtering ect. It outputs a filtered state at just over 1 kHz over ethernet. The purpose of the project is to showcase the IMU and its abilities.

It will output the following data points:

  • Latitude, Longitude, Height (From IMU’s GPS)
  • Altitude AGL
  • Velocity, (3-axis)
  • Roll, Pitch, Yaw
  • Roll, Pitch, Yaw - Rate
  • Position Relative to Takeoff point (X,Y,Z in meters)
  • Unix Timestamp

I would like to fully utilise its data over anything on calculated on the flight controller; Im concerned that if we do it wrong the PX4 stack may try to differentiate positions in order to get a velocity ect.

The flight controller will most likely be Raspberry Pi or similar Linux based ARM processor board.

Did you have any succes with this project? Also wondering if anyone can share their experience with using external IMUs with the PX4 code. Possibly just using a IMU based GPS?

BR, Andreas