Piksi RTK Integration

After some extensive testing I noticed the following issues:

-Altitude registered by Piksi is 30+m off ublox due to different frame of reference, leading to arming checks issues.

-If connection is intermittent it does not skip to the latest observation but process them sequentially in a queue, as a results the location information is delayed which is very risky when flying with a drone, the effect is that if ekf switches gps the pos goes mad and projects way ahead, overshooting the target heavily, and causing a flyaway.

-RTK Float can degrade significantly without changing gps status, therefore even if you have 2 gps ardupilot sticks with it.

-HDop self- logging of Hdop is heavily different from ubloz with hdop close to 2.1-2.5 when there is rtk fix whereas when in SPP there is much lower Hdop values

-No heartbeat from piksi messages received when piksi transitions to no fix mode(intermittent behaviour unknown origin).

An update on the piksi integration:

  • Attitude reported by Piksi is from WSG84 ellipsoid, whereas the convention in ArduCopter is MSL(Geoid corrected), I have added a custom parameter to add a difference and make them match. Let me know if anyone is interested in pushing this to main code.

  • Queue issue persistent.

  • Issue persistent and related to hdop as well. Potential solution to switch based on Horizontal accuracy reading (not currently implemented). RTK Float is much improved in latest versions.

-HDop vastly different from ublox as it Piksi has much more restrictions in constellation types.

-Heartbeat issue persistent, potential cause wiring.