Fallback from DUAL to Singel+imu (and imu fusion)

I have been testing Unicorecomm UM982 GNSS receiver. From other users and my own experience, the dual mode of the receiver sometimes fails. Maybe because the slave antenna is dual and master is triple band. Don’t know… Anyhow, made a new firmware to improve function.

The concept is to use the IMU to improve the DUAL operation. There is a complete fallback to single+imu when conditions are bad. You can also freely set a value from full DUAL to full single+imu.

A new small program (UM982_Monitor.exe) reads values of the condition and could be used for changing settings when field testing (UDP). Use the .bat file to compile the monitor. UM982_Monitor.exe will be found in the dist directory.

I really would like to hear what you all skilled people think of the concept and I would be pleased if you make the effort to try it out.

I have a AIO 4.1 micro and a BNO085 that I use with the UM982. (Made a how to in the “killer” thread.)

HAPPY TESTING :slight_smile:

About the firmware (Version 0):

-A Firmware alternative that can fall back from DUAL to a Panda like message if DUAL quality is bad.

-The firmware is using PAOGI which means single och dual do not have to be set in AOG. I used dual.

-Automatically do a linear transition (adjustable) to Singel+IMU proportional to signal quality

-Freely set a fusion between DUAL and Single+IMU, zero fusion full DUAL and full fusion means single+IMU

-Fusion is also intended to enable IMU to stabilize heading and roll from erratic signals.

-An UM982 monitor that uses UPD is used to change settings during operation (Could perhaps be integrated in AOG?)

-The monitor can also set IMU roll to match DUAL

-Firmware is only tested with a hydraulic valve

-Firmware developed from Chris Kinals (starter of the “killer” thread) main Firmware

-Compiled in Arduino IDE 1.8.19

-Reset of BNO communication if it freezes.

-Extensive comments and instructions in the source code

-The concept could likely be applied to other DUAL solutions beside the UM982

UM982_Fallback.zip (53.5 KB)
monitor.zip (6.8 KB)
UM982_Settings.txt (548 Bytes)

6 Likes

Great…will be testing it on my setup in morning Thanks for sharing!

Hi Daniel, thanks for putting this together.. I got a chance to test the firmware this morning , but I ran into a bit of an issue with the offset.

My

Antennas:Transverse, 125 cm apart. Master Right side.
Slave Left side.
nitial AOG Steer Config:Antenna offset set to 62.5 cm (actual physical center). selected dual on agopenpgs
The Problem
During field work, the system consistently leaves a gap on the right side and overlaps on the left side.

As a temporary workaround, I increased the antenna offset in the AgOpenGPS settings all the way up to 82 cm. This adjustment did reduce the gap and overlap, but 82 cm is obviously much larger than my actual physical offset, so something seems a bit off in how it’s calculating the center.

Could this be related to how the IMU fusion is interacting with the DUAL fallback, or is there another setting I might need to adjust for this specific firmware? Any thoughts would be appreciated!

Did you try going to full DUAL alpha=0 and full imu alpha=1?
I did some testing on a road under trees. It seems better to add more imu under those conditions. I tested 0.7 and it was better I think. I have also added a heading flip protection as the um sometimes seems to flip direction 180 degrees. Used the assumption that a hard turn in reallity is like 90 degrees in 1 second.
V0.1.zip (54.5 KB)

1 Like

will test again in morning thank you

Another thing, did you set “variablelength” on the um982 in uPrecise ?

yes i did this CONFIG HEADING VARIABLELENGTH
i will test again tomorow morning

The offset seems strange. The parsing should not cause an offset I think :thinking:. I don’t have any “test area” at the moment. Crops everywhere. But I can autosteer back and forth on an AB on a road.

Got another idea, how about bringing in WAS signal. It would be possible to add more dual in u-turns. :thinking:
Any thoughts?

1 Like

sorry for late reply , it was WAS problem after WAS fix its worked well i only tested in dual only because my imu needs invert roll now ,so i needs to reinstall currect position on tractor … in dual 100% its worked so well for me … will test in mix mode once i change imu

Nice to hear you found the issue. Your are correct to fix the imu roll. You do not want to have a fusion of inaccurate data.

1 Like

I will try to add imu orientation in the monitor.

1 Like

Starting to play with WAS data, here is a concept:

To start with I am trying to include WAS data specifically for u-turns.

Since alfa=0 is full DUAL and alpha=1 is full imu it is easy to just multiply alpha with a factor (less than zero) that is proportional to the steer angle. I will probably do it for both heading and roll…

I think a user defined amount of adjustment should be able to be set by the user (I call it strength). A convenient way is just to use a polynomial and solve the polynomial factors with max steer angles. When the factors are set it is just to multiply alpha with the polynomial with the current steer angle. The idea is graphically shown in the figure below

The result will be:
Going straight no adjustment is added (Add DUAL factor=1)
Full left and full right a full adjustment of 1/strength is added
All other proportional to steer angle.
If the user set strength 1 no adjustment is made.

New mointor, about to be tested…

I have tried to get it to fit the Panasonic fz-g1

3 Likes

Looks great! I’m waiting for the new monitor to test it out on my setup.

Ok, here is a new test. It is only bench tested…
The concept is to set the IMU axis to match DUAL in the monitor. The U-turn added DUAL seems to work with my potentiometer (I have no place to test it at the moment)
um982_monitor_V0.2.zip (8.1 KB)
000_UM982_Fallback_V0.2.zip (55.6 KB)

User instructions for setting IMU:

  1. Set axis pointing forward from physical imu installation
  2. Set Roll and heading alpha to 0.
  3. Set U-turn strength to 1
  4. Make sure to have a a good dual with rtk
  5. Go to a place where the tractor has an obvious lean and note the roll on AOG
  6. Set Roll and heading alpha to 1 (or remove slave antenna).
  7. set offset to match the value registered for DUAL
  8. If axis pointing backwards roll can be inverted

The idea is that the firmware sends a PAOGI to AOG with the same roll to AOG for both DUAL and single+IMU

thanks will test on monday

Managed to loose the imu offset. Here is the fix:
000_UM982_Fallback_V0.3.zip (55.6 KB)
Monitor still works.

Tested it while fertilizing today. Starts to work pretty good I´d say…

here video

Hi Daniel,

I have tested the new v0.3 firmware on my setup, but I am running into a issue: the tractor continues rotating 360 degrees.
I tested various settings, including roll alpha 0 & 1, as well as heading alpha 0 & 1, but the rotation persists in all modes. also driven tractor about 200 meters but its keeps rotation
For context, v0.0 worked perfectly fine for me in dual mode—I ran it for a full day without any issues. The rotation problem began for me starting with v0.1.. attached video link from gdrive

i think imu not getting connected … on agio only gps and steer buttong getting green but imu buttong not turning to green