Dual antenna GPS [heading]

Does the OpenIMU support dual antenna GPS for heading input?
We are planning on using two UBLOX ZED-FP9 chips to provide a GPS heading that is not based on velocity.

Thanks

Hi robotsrobots,
yes, there are four serial ports in OpenIMU300 EVK that could be customized as input, and there are three build-in GPS protocols supported, NOVATEL_BINARY, NMEA_TEXT, SIRF_BINARY.
https://forum.aceinna.com/topic/24/openimu300-handle-two-gps-signals-at-the-same-time
https://forum.aceinna.com/topic/17/how-many-kinds-of-gps-protocol-are-supported-in-openimu300-opensource-code

Hi LI,

What about supporting GPS with dual antenna that output a heading message? the new UBLOX supports this. So there would only be one GPS signal into the openIMU but the heading would come from the heading message directly instead of velocities.

Yes, you can. But you need to modify some of the source code:

  1. You need prepare GPS receiver driver to handle the UBLOX messages. Nav-pvt is supported now.
  2. Currently, we use ground speed to determine if the heading from GNSS is valid. You need to change the code to set the heading from GNSS always valid.

Thanks!
I could not find the GPS heading in the code. Is this on a different branch or something that will be released in the future?

It is called "trueCourse".

This post is deleted!

any plans to support this for UBLOX?
and what is the parameter for
"set the heading from GNSS always valid."

Thanks

@robotsrobots
In my test, I adds ublox nav_pvt support. Since it is open-source, it is very easy to add support of GPS receivers.
To set the heading from GNSS always valid, you need set a variable in UpdateFunctions.c called "useMagHeading" FALSE.
Indeed, you need to a bit more to make this work reliably. For single antenna GNSS receiver, heading is derived from velocity, and heading accuracy is determined by velocity. We estimate heading variance used in the Kalman fitler according to GNSS velocity.
But since you decide to use a dual-antenan GNSS receiver, the heading accuracy is decided by the separation between the antenna and the positioning engine (RTK, PPP).

processUbloxGPS.c

Thank you for your help.

You are welcome.

@robotsrobots hi were you able to implement this? If so, what did the results look like?

Log in to reply