Time Travel and Heading

Yes it’s slightly different. It doesn’t seem to handle just sending an entire struct in one go. Think I’ll have to split them down.

Trying to work out aogsettings is interesting :grimacing:

Got the rest of it working I think. ledcwrite was hanging the esp for some reason so ended up using the analogwrite library.

Yes, And your right, it may not be all that important as it depends on the accuracy deemed necessary.
But in your scenario, how to determine heading whilst stationary, Is accuracy of this really necessary? I think it makes it possible to code for slower speeds like dual gps does.
GPS heading & corrected (for magnetic declination) compass heading are not necessarily the same whilst moving as there is fwd/rev and slip/skid to account for also, the difference between gps & compass can give much relevant info for later calculations.

I think he’s meaning local environmental fields. On the tractor etc. As we are only using the compass as a relative figure it’s orientation isn’t that important. Neither is a small amount of drift.

Magnetic Variation is the difference between magnetic(compass) & true heading . a simple conversion turns a compass into a very useful tool. Is a tutorial that we may be able to adapt to AOG, using GeographicLib and the latest Magnetic model.
Magnetic Deviation is hard & soft iron interference on the compass, causing it to just read wrong, good placement takes care of larger influences, small errors can be compensated with calibration. This bit causes 99% of frustration, as a parked machine will have its magnetic signature changed over time by the earth.
Compass heading > fix deviation > fix variation = True heading, used to compensate steer angle to maintain GPS heading.

I am presently using game rotation vector from the BNO085. It doesn’t use the magnetometer at all.

In keeping with the thread title, this is interesting, from the BNO085 datasheet.

image

1 Like

Hi
I was thinking which IMU (BNO085 or CMPS14) I should use. The only functional difference I see between the two is that CMPS14 start with the approximate true heading and the BNO085 full north(in game rotation mode).

@BrianTee_Admin this make me think that maybe the CMPS14 can indicate to AOG if the tractor is starting in forward or reverse the first time?

In your video near line 217 in “position designer” you could add
if (lastValidHeading == 10) // no last heading
then make the same calculation than in if (lastValidHeading != 10) but at the end just compare with the IMU heading to determine to start direction?

Hope this is clear enough.
I don’t know if the IMA data is in an usable format for this or is already there at this time to make this(or make AOG wait for the IMU data) and should probably just be calculated when CMPS14 is used.

Just a thought I had!

My experience has been, you just don’t know your heading till you make that initial move. I notice the Trimble also, unless you move from cold start, it says heading=undefined. And they have an expensive imu

2 Likes

After watching this video, I’m wondering do we still need heading data from IMU? Maybe I didn’t understand correctly, but as soon as we hit 1.5 km/h (on video it’s 0.3 km/h but in the code I see 1.5 km/h) AOG will know the heading (how precisely?). Do we really need to “correct” that data from IMU? How much GPS heading can “lie” to AOG so we need to fuse that data with IMU heading?

Can autosteering work correctly without heading from IMU? And if not - in which situations?

Technically you don’t need the imu at all. The only job of the imu is to make the fix to fix heading calculation more stable, and correct the antenna ground referenced position when the tractor rolls.

The slow moving as in < 2 kmh is very difficult to get a steady heading. Above 30kmh it is really easy to get a stable heading.

The steady imu helps correct the fix to fix heading and the long term mostly accurate - but wiggly - heading of fix corrects the imu.

2 Likes