Brick V2 - Improvement

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! :slightly_smiling_face:

3 Likes

Is it also an option on BNO 055?

No idea. It’s firmware related and same fundamental chip so maybe with the right coding…

Hello, i’m interested in your solution for brick v2, I looked in the code and found this line, this is where you have to write 2 ?devenv_IeMunMsdQE

1 Like

That is really interesting and IMHO no magnetometer in out environment has got to be a good thing if it’s stable enough without.

Yes, change that to 2, and build AgOpenGPS.

I haven’t had any jumps since changing this and have mounted my brick back with the rest of the electronics.

Documentation at this link https://www.tinkerforge.com/en/doc/Software/Bricks/IMUV2_Brick_C.html#imu-v2-brick-c-examples

The is also a Mode 3 which is without fast Magnetometer calibration.

2 Likes

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?

Probably 20hrs. It definitely drifts slowly but that doesn’t matter.

2 Likes

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…
mspaint_dyU9ElPakA

1 Like

I thought fusion to GPS heading should remove all long term drift?

1 Like

I don’t know, maybe I am making another mistake, if anyone has any idea about my drift problem …

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.

1 Like

Hello,

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.

Math

2 Likes