ArduCopter for GPS YAW?

Hi, I’ve been struggling with Copter 4.1.5 and Ardusimple --uBlox RTK+heading kit for GPS for YAW.
I can get the data but the yaw keeps drifting while the copter stays in place, unarmed. I read that some people were able to get good YAW data with ArduRover 4.1.0-dev… so I would like to try with ArduCopter 4.1.0-dev, but that is not available on the firmware website and I can’t get the ./waf build from github to work.

My question is: does anyone have a .apj for ArduCopter 4.1.0-dev?

Also… has anyone managed to get stable YAW from GPS with the Ardusimple kit using any other version than ArduCopter 4.1.0-dev?

Thank you for your time!

You must use ArduCopter v4.2.0-rc3
The older versions you mentioned have missing GPS yaw features.

Hi Lukas, thank you for your reply.

I think Ardusimple RTK is supported before 4.2.0; as in the latest release notes there is another RTK type mentioned.
However, I’ve tried both 4.3 and 4.2-dev (and 4.1.0-beta5) but the issue persists. I can see GPS YAW data in Mission Planner but there is something wrong with how the data is integrated. The YAW drifts with more than 0.01deg/s (in one direction). The GPS YAW seems stable.

My setup looks like this, and GPS_POS1_X/Y are set to be the distance between antennas, as Ardusimple indicates. I’ve also tried setting the values to the distance between the FC and the first antenna, but I did not notice a change. Note: the axis between the antennas is not going through the FC, but from my understanding, this is not needed as the yaw and position is calculated for the first RTK antenna, not for the center between antennas.
config2

Something that I’ve noticed is that AHRS2 data does not match ATT data, the graph looks similar but the values don’t match. You can find here log files with multiple firmwares, as you can see, the issue persists throughout the versions. logs

Please use at least ArduCopter4.2.0-rc4. The 4.2.0-dev version you used is old, and 4.1.0-beta5 is ancient!
And please correct your GPS_POS1_X/Y/Z and GPS_POS2_X/Y/Z, these are relative to the Autopilot position. The ArduCopter documentation is clear about that.

I have tried with 4.3.0 and I got the same issue.
I’ll give it another shot, thank you!

I tried with firmware 4.2.0-rc4 and the GPS offset set with respect to the flight controller and I got the same behavior as before. The yaw slowly drifts away from the RTK heading value. LOG

It seems like it works after I changed:
GPS type from Ublox rover

GPS_TYPE = 18

to

GPS_TYPE = 2

Ublox (simple)

With type 18, I had to set the following to make the Ardupilot accept Yaw data:

GPS_DRV_OPTIONS = 1

Without that I could get the position but no yaw data.

I’m a bit confused as to why it worked like this, since in all the tutorials I’ve seen the GPS_type param was set to 18 (rover). Note: I only have the rover connected, the moving base - rover communications happen in the RTK boards and not through the Ardupilot.
The configuration from Ardusimple is:

GPS_TYPE = 0
GPS_TYPE2 = 18

In the Ardupilot tutorial:

GPS_TYPE2 = 18
GPS_DRV_OPTIONS = 1

But it seems like GPS_DRV_OPTIONS (force ublox communication on UART2) is interfering with the configuration recommended by Ardupilot, which caused the drone’s continuous yaw drift.

log