How to force GPS_YAW to rover's yaw? (simpleRTK2b+heading)

I have found the solution!
The ardusimple configuration file was the problem… I have changed both rover big and lite boards to the 10Hz Rover (in stead of moving base heading configuration files) configuration file and after 10 minutes I got both GPS’ to rtk Fixes !

If you’ve loaded the rover config on both boards, are you still getting yaw? That seems odd.

Also, there are known issues with the 1.13 firmware and ArduPilot, and 10Hz has been confirmed to cause less precise yaw output, as the rate is too fast for all data to be processed by the autopilot.

I’m not sure I have time today to explore it all, but I do want to do some more work on these boards and their configuration. I may be able to generate a 1.30 compatible set of files, but it will take some time to work through it in u-Center.

If you still have the boards physically separated and you want to try using the native auto configuration (GPS_AUTO_CONFIG=1 with GPS_DRV_OPTIONS=0), it looks like this software from the XBee manufacturer will allow you to set 460800 as the baud rate on the radios.

XCTU - Download

This line in AP_GPS.cpp seems to confirm that 460800 is used for the GPS UARTs when GPS_DRV_OPTIONS=0 (which is what you want with the boards separated). I think @ktrussell confirmed this in the field, as well.

const uint32_t ublox_mb_required_baud = (_driver_options.get() & AP_GPS_Backend::DriverOptions::UBX_MBUseUart2)?230400:460800;

2 Likes

You are right, the gps yaw didn’t work, I can see it on my screenshot. I did bring everything home this weekend and only focused on getting RTK, so I have missed the fact that yaw didn’t work anymore. So Do you think we can make a configuration file for the ardusimple firmware 1.30 version with 5Hz and both gps yaw and RTK radio communication? (2 configurations for rover and and moving baseline).

It’s absolutely possible. But I’m not going to get to it today. Will require a little bit of a dive into u-Center. I’m comfortable with the interface, but it takes time to validate the results.

Are you planning on keeping the boards separated?

Yes the seperated setup is fine for us

Ok, then we can try this, which might avoid a big trip into all the u-Center craziness:

Connect both GPSs (little board to the first SERIAL port in order, big board to the second) and power the autopilot on. Set the following in addition to the moving baseline instructions in the wiki:

  • GPS_RATE_MS=200
  • GPS_RATE_MS2=200
  • GPS_DRV_OPTIONS=0
  • GPS_SAVE_CFG=1
  • GPS_AUTO_CONFIG=1

Wait for the saving config messages to appear (or reboot and wait for those messages, just to be sure), then set:

  • GPS_AUTO_CONFIG=0
  • GPS_SAVE_CFG=0

Now power off the autopilot and disconnect the moving base (little board) from the autopilot.

Connect that board to u-Center (230400 baud)

  • Open configuration view.
  • Navigate to UBX → CFG → PRT and change UART2 to 115200.
  • Click the Send button.
  • Navigate to UBX → CFG → CFG and select 0-BBR and 1-FLASH.
  • Click the Send button.

Power off, reconnect to the autopilot, and see how that works.

3 Likes

Okay with the radio on the little lite board and with the 5Hz heading kit moving base and rover configurations installed first?

Leave the radio disconnected just to be sure you get clean configs. Doesn’t matter which config is already loaded, we are overwriting them on purpose by doing things this way. It’s effectively how @ktrussell used to configure his moving baseline for a while before he discovered that his radio supported the faster baud rate.

If this fails, I will see if I can dig in tomorrow and provide some config files for you.

3 Likes

Okay it is 1:30am here (after midnight) tomorrow I will try your suggestion and keep you posted.

1 Like

Thank you very much for your help

Okay, here we go:

  • I disconnect the radio from the little board.
  • Connect the CUAV X7 to mission planner and make sure all settings are right.
  • Disconnect ardupilot and reconnect after a few seconds
  • After saving configs messages: change to GPS_AUTO_CONFIG=0 and GPS_SAVE_CFG=0
  • Disconnect the ardupilot and take the little board, connect this board to u-center with baudrate 230400 it only connects with 460800 to my pc? and set: UBX-CNF-PORT UART2 to baudrate 115200 It already is 115200?
  • Power off and reconnect pc to the autopilot after connecting the radio back on top of the little board and see if it works…
  • Now wait 15 minutes to be able to receive RTK messages over the radio from the base station and see if gps yaw is working…
  • Both GPS and GPS2 are rtk Float after 15 minutes of waiting

All of that sounds very good! The two baud rate inconsistencies aren’t very concerning - I may have made an incorrect assumption along the way, which should be inconsequential.

Is yaw working? Do you have any “Unhealthy GPS” warnings displayed in Mission Planner?

1 Like

Yes gps yaw is working, but I was still waiting for the GPS status to get to fixed, but that didn’t happen.

Well, if you have RTK-anything on both GPSs with yaw working, the configuration is almost certainly correct.

Make sure all of your antennas have a clear view of the sky, including the fixed base.

1 Like

I have connected my little board to u-center while also connected to the ardupilot.
Yesterday I could see some messages in UBS-RXM-RTCM statistics, but right now (on this little board) I don’t have the messages. I’m not sure if I tested this yesterday on the little board to or only on the big board.

Yes both are rtk Fixed now! I just moved the GPS satelites a little bit further outside (from our house).
I’m not getting the GPS-YAW at this moment, and I do get unhealthy GPS Signal

1 Like

Save a copy of your parameters and attach it to your next reply. I think we are very close.

1 Like

2022-03-13_gps_rtkfixed_no_gpsyaw.param (15.3 KB)
I didn’t change anything, but at this moment the GPS Yaw is back again :slight_smile:

Those parameters look perfect. It seems maybe you’re having some issues unrelated to configuration (sky view, satellites overhead, signal interference etc).

1 Like

Okay :slight_smile:
Is the 2D acc. [m] parameter for true horizontal accuracy in u-center?
image
The GPS yaw is not right at the moment, it is exactly 90 degrees wrong, this deviation stays the same when I move the antenna. Surely this is calculated by the GPS_POS parameters?

I’m very happy with today, tomorrow I’ll take these boards back to the rover and see if the GPS yaw and accuracy will be good as we drive the machine :slight_smile:
Thanks again sir! I know it’s still early for you, but be sure to grab a beer tonight! Cheers! :cowboy_hat_face:

Really glad you got things working this well so far.

If the yaw is off by 90 degrees, it sounds like your X (fore/aft) GPS_POS* offsets should really be Y (left/right) offsets.

Here’s a thread that describes the 2D/3D accuracy figures better than I can probably do myself:

Understanding the calculation method of 2D accuracy and 3D accuracy and its attributes (u-blox.com)