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?
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.
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 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.