I was having issues with my Brick V2 causing instability and occasionally “going into a spin”. I realise that it is in the process of being superceded, but amongst the discussion of the BNO080 based variants I noticed with interest IMU fusion solutions without the magnetometer. This prompted me to review the documentation for the Brick and note that current firmware allows a similar mode.
I searched through the AgOpenGPS code and replaced fusion mode 1 with fusion mode 2. Seems to have fixed the issue. No more random changes which I suspect are the result of magnetometer recalibrations. I was also able to mount it in a more solid spot due to not having to worry about metal effects, so less vibration too.
Hopefully this helps if someone else is also staring despondently at their $100 soon to be redundant sensor!
Perhaps I noticed sometimes a slightly drift of the bno055, but it took almost a year till I had the first spin. How long did you already drive with your modification?
This must be explained at the tinkerforge site but it would be nice to have a simple explanation here for the improvement. Wonder why mode 1 was originally selected and why 2 actually would be better?
I have used brick2 all the time although not that huge number of hours and I’ve never observed a spin or a jump. What sort of jumps are we looking at?
My brick is not on the roof of the tractor but a bit off from the front cabin pillar at eye height.
For me, during work the AB Line shifts gently to one side with the Brick v2. This can be after a few minutes or a few hours. Like the green line in the picture below…
In the Tinkerforge docs they say that Mode 2 was only available after a certain Firmware Version. It might not have been available when it was first used in AgOpenGPS.
From my understanding, Mode 2 doesn’t use the magnetometers to correct the heading. Therefore it just thinks it is pointing a pretty random direction from startup and everything is relative to that. I think Mode 3 uses the magnetometer to figure out which way it’s pointing at first but then doesn’t recalibrate.
The fusion with GPS is very quick so drift won’t have any consequence for the tolerences we’re talking. I fiddled with the weighting a bit and it didn’t seem to matter much, and I believe the code behaves a bit differently if there is a big change in direction (probably so it is responsive in turns).
The jumps I saw were significant, sometimes a sudden full 180 degrees, sometimes 20 degrees or so. Sometimes I’d go all day without it happening. I suspect this might have been exacerbated by shaking/lateral movement when mounted on the roof rather than some weird magnetic field change.
Before autosteer, this just showed up as the triangle going into a spin, and the application looking like a sawtooth. With autosteer, it would fairly violently steer side to side trying to correct heading. I haven’t had an issue since making the change, but still a little wary of it.
Usually, whit no magnetometer, when the board startup, heading is 0. Then heading is referenced to this value (where board was looking at starup). BNO085 in mode whitout magnetometer work like this.
No magnetometer, your IMU isn’t sensitive to magnetic field or less magnetic field, so less troubles.
As long as we don’t need an IMU heading referenced to north, using IMU with only accelerometer + gyroscope (no magnetometer) seems to be the best solution.