6dof imu
Timmoore
Posts: 1,031
The people working on autononous flight systems may find this interesting.
Its a 6DOF IMU that only needs 1 cog. It is based on Jason Wood's 5DOF.
It has the extra dof added and uses compass data for correction data on the 6th DoF
It also has the gyro/acc/compass data coming from outside the object so its not necessary to change the code for different gyros/acc/compass
The gyro gain/acc midpoint/compass offset/etc also is passed in on init for the same reason.
The floatmath was reworked not to use float32full.
One of the downsides in not using a cog for float maths, is it is slower - from 20 updates/sec to 12.5 updates/sec (on a 80Mhz system)
You can built a version using 2 cogs that uses a modified version of float32 to do the neccessary math with 1 additional cog rather than 2 cog at 20 updates/sec
I would expect you can speed up the extra maths in atan2 but I haven't tried that.
Its a 6DOF IMU that only needs 1 cog. It is based on Jason Wood's 5DOF.
It has the extra dof added and uses compass data for correction data on the 6th DoF
It also has the gyro/acc/compass data coming from outside the object so its not necessary to change the code for different gyros/acc/compass
The gyro gain/acc midpoint/compass offset/etc also is passed in on init for the same reason.
The floatmath was reworked not to use float32full.
One of the downsides in not using a cog for float maths, is it is slower - from 20 updates/sec to 12.5 updates/sec (on a 80Mhz system)
You can built a version using 2 cogs that uses a modified version of float32 to do the neccessary math with 1 additional cog rather than 2 cog at 20 updates/sec
I would expect you can speed up the extra maths in atan2 but I haven't tried that.