A bunch of patches from Jon and Tridge have just gone into master. My understanding is the changes include:
· Accelerometer range increased from 8G to 16G.
o We believe that the reason copters always climb (in AltHold, Loiter, etc) when they have really high vibration is because of accelerometer value “clipping”.
o Everyone will need to re-do their accelerometer calibration. Copter and Plane users should hit an arming check requiring this. Because the offsets and scaling are stored in new areas in eeprom if you later downgrade you’ll find that your old accel calibration values have returned. As per usual, just be careful not to load accel scaling and offsets from a param file produced by an older version of the firmware.
· Replace MPU6k hardware filtering with software filtering.
o MPU6K_FILTER is replaced by GYRO_FILTER and ACCEL_FILTER which allow changing the accel and gyros filtering separately. Note that “0” means no filtering which won’t fly well but will allow seeing pure raw IMU values in the dataflash logs (previously only post-filtered values were visible).
· Support coning correction (requires some changes to EKF that are not in master yet). I’ll leave Jon or Paul to explain this.
· Sensor rotation is done before applying offsets.
o Previously if you ever changed the AHRS_ORIENT parameter you would need to re-do your accel calibration. This is no longer required.
· Additional checking during accel calibration
o This reduces the chance of a bad accel calibration happening by checking the users has placed the board in all 6 directions.
o Also check for accelerometer failures during the calibration
· Removed 1D calibration for Plane, Rover.
-Randy
o Previously if you ever changed the AHRS_ORIENT parameter you would need to re-do your accel calibration. This is no longer required.
We can definitely add in a preflight calibration that does a “level” which will not be a full accel calibration but instead set the AHRS_TRIM_X and Y values depending upon the board’s current lean. This level feature is built into the 6-position (aka 3D) accel calibration but it’s not hard to make it work as a stand-alone feature.
In case there’s any question, the 3D accel calibration really is important though for the accel based position estimates (aka inertial nav). If the accels offsets and scaling aren’t accurate the position estimates go bad very quickly. If you want to try it out for yourself, it’s possible by first loading plane on your pixhawk or APM and doing the “1D” accel calibration. Record the INS_ACC* parameter values, then load copter (which will wipe out your params) and then overwrite the params with the values from the 1D calibration. Arm, fly and reply back with how it goes!
-Randy
--
You received this message because you are subscribed to the Google Groups "drones-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drones-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
By the way, this request is already on the to-do list:
https://github.com/diydrones/ardupilot/issues/1856
-Randy
From: Randy Mackay [mailto:rmac...@yahoo.com]
Sent: 13-Mar-15 9:30 PM
To: 'drones-...@googlegroups.com'
Subject: RE: [Bulk] [drones-discuss] Re: accel/gyro changes in master - accel calibration required
We can definitely add in a preflight calibration that does a “level” which will not be a full accel calibration but instead set the AHRS_TRIM_X and Y values depending upon the board’s current lean. This level feature is built into the 6-position (aka 3D) accel calibration but it’s not hard to make it work as a stand-alone feature.
In case there’s any question, the 3D accel calibration really is important though for the accel based position estimates (aka inertial nav). If the accels offsets and scaling aren’t accurate the position estimates go bad very quickly. If you want to try it out for yourself, it’s possible by first loading plane on your pixhawk or APM and doing the “1D” accel calibration. Record the INS_ACC* parameter values, then load copter (which will wipe out your params) and then overwrite the params with the values from the 1D calibration. Arm, fly and reply back with how it goes!
-Randy
From: drones-...@googlegroups.com [mailto:drones-...@googlegroups.com] On Behalf Of OlliW
Sent: 13-Mar-15 6:32 PM
To: drones-...@googlegroups.com
Subject: [Bulk] [drones-discuss] Re: accel/gyro changes in master - accel calibration required
"The airframe does not have to to be placed at exact angles for the roll/pitch/upside down orientations for the fit algorithm to work ... The simple single point level is less able to handle situations where the board is misaligned with the copter"
--
Holger - accel offsets can change by 0.5 m/s/s due to temperature changes going from summer to winter, so until we add temperature compensation or control, the 6 point calibration is necessary for many users
and anyone with a large copter should devise a jig of some description to hold it at the different orientations.
--
> but I reckon a serious commercial user would be prepared to pay extra for a board that was calibrated and verified.
That is how most of the more expensive industrial IMU boards are manufactured. There is hardly any technical difference from what we are doing, but a combination of pricier sensors and automated heat/movement calibration on every board during manufacturing makes them deliver better and consistent results.
--