CMPS14 Compass

Not directly, it just zeroes out based on current heading and gravity vector. What it does is saving the quaternion so that you have the rotation matrix for the new orientation. AFAIK you can also write that directly to BNO085 flash, so you could probably do the JD procedure by storing the two matrices and averaging out the tilt directions etc.

Since itā€™s all about a transformation from the IMU position to the tractor position, could the quaternion be calculated in the ESP32 and then applied there? Might be some slight latency, but it would allow for flexibility and a method of calibrating the IMU that wouldnā€™t depend on finding perfectly flat ground.

Page 41 to 43.

BNO080_085-Datasheet.pdf (1.4 MB)

Yeah thatā€™s what I had in mind, do the calibration in the microcontroller and directly store the values to the BNO in the end.

1 Like

Hello

Reset FRS Record Sensor Orientation to default value: Qw = 1, Qx = Qy = Qz = 0.

Writing to FRS is a little bit more complex:
First, send a FRS Write Request indicating which FRS record to write and the amount of data to be written.
Then BNO08x respond with a FRS Write Response to acknowledging the request (I suppose with status 4).
Second, send a FRS Write Data with the data to write in the FRS.
Then BNO08x respond with a FRS Write Response to indicate a successful conclusion to the flash writes or if the process failed a failure indication.

Iā€™ve never tried, I donā€™t know how the part of the library allowing to do that is organized.

Math

1 Like

If you need all those possibilities, then perhaps.

But most just want/need a heading and roll, no calibration, hook it up and go. The CMPS works just fine for that.

1 Like

Iā€™ve got one system calibrated, one not. No discernible difference.

AOG will take care of a very poorly calibrated BNO, especially since it had to work with the 055. Ugh, what a piece of silicon that was.

We are basically all using the BNO055 sensor now, albeit with much better post processing, and I donā€™t think BNO085 users are actually running a less well calibrated system.

From all Iā€™ve read the magnetometer is the device needing calibration. We donā€™t even use it with BNO085 GameRotationVector, and the result is superior heading stability with no EMF interference issues.

Reading on in the Hillcrest calibration literature it is clear to me that the gyroscope actually calibrates itā€™self when it is static in either case.

CEVAā€™s Hillcrest Labs business unit has created ā€œdynamic calibrationā€ algorithms which can
calibrate the sensor simply by moving the device in specific motions. During normal AR/VR
application use, Hillcrest recommends that dynamic calibration for the gyroscope and
magnetometer be disabled to avoid new calibrations being created during gameplay which can
cause unwanted motion artifacts. The gyroscope is automatically calibrated when the device is
> stable, and the magnetometer calibration is not likely to change significantly if the user uses the
device in the same general environment.

1 Like

image

image

Iā€™ll put the cmps14 in the middle of the tractor, under the seat. Do we need to reset compass with GPS and cmps14? Is it automatically reset

Just turn it on, and connect to AgIO and AOG will do the rest.

I tried to equalize the compass, I could not physically.

The cmps14 and GPS compass do not match. but it goes very smoothly.:grin:

1 Like

No, the IMU comes up in random directions - but AOG takes a stable heading reading from the IMU, it doesnā€™t care what direction it is pointing, as long as it doesnā€™t drift too much or jump around.

Think of the imu like putting your hand on a vibrating panel, it just stops vibrating and is quiet

image

brother is measuring this way.
While working in the field, the average error margin is 3 cm, very rarely 4 5 cm.

2 Likes

On another thread we fiddled with Witmotion 901 imu, and I wondered, is there (if any) filtering agopengps does to roll (or heading)ā€¦

Is there sanity check for roll? I believe nobody ride tractor at 45 degree roll?-) At least my un-agriculturel-mind thinks so. :slight_smile:

Came to my mind just when looking some test video and roll goes allthe way 90 degree on agopengps.

Filtering or limiting? Iā€™ve never seen the CMPS14 be different then what the roll actually is. I agree, hardly a measurement past 25 degrees makes no sense. But if you send 90 degrees, it will use 90 degrees as a roll for calcs

Hello, I have the gps antenna placed in the front part of the roof of the cabin, now I am about to install the cmps14. I have read the entire topic and agree to place it as centered as possible on the tractor so that the readings are similar when turning right or left. I have thought of also placing it on the roof of the cabin at the same height as the antenna. Do you think this is a good idea? if so, would it be better to place it on the pivot axis ?, or slightly ahead?

Most important is away from fan motors, speaker magnets that sort of thing. Basically as low and close to the differential as possible - within reason. I have been putting it beside the seat at butt level - seems to work really well as i have a little shelf area there.

1 Like

Can I connect the cmps or bno85 to the mma8451 points on the pcb board using wire less than 3ft without using another nano? This will allow me to center on tractor away from anything electrical?

Not a simple question because there are so many versions of each and 3.3v and 5v.

Did your board use the 5v version of mma or 3.3? I think the 085 is 3.3v. Some have desoldered the pins as well for the cmps14 and mounted. But you can use short wires and connect.

This little mod should almost have its own little topic discussion for reference.