Pages: [1] 2   Go Down
Author Topic: IMU experience ?  (Read 7071 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi
anyone toying with IMU ? what is your experience and what could suggest me ?
arduIMU ?
freeIMU ?
pololuIMU ?

any other interesting IMU (opensource) project ?
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 170
Posts: 12465
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

what is imu?
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Gosport, UK
Offline Offline
Faraday Member
**
Karma: 19
Posts: 3114
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://en.wikipedia.org/wiki/Inertial_measurement_unit ?
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yes, inertial measurement unit and typical applications are

- UAV navigation
- Odometry
- Motion tracking
- General motion sensing
- Platform stabilization
- Image stabilization
- Enhanced GPS navigation

it's made with accelerometers, gyroscopes, magnetometers (each in 3 axial, x, y, z)
all fused together by DCM algorithm to provide the user with a quaternion which has information about the orientation

issues are about drifts and calibration: arduIMU v3 is suffering a lot about this issues, while the freeIMU seems to be better
« Last Edit: November 05, 2012, 08:26:14 am by lock » Logged

Torino, Italy
Offline Offline
Sr. Member
****
Karma: 2
Posts: 312
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi there, I'm Fabio the guy behind the FreeIMU.

A couple of precisations: any IMU may be subject of drifting, depending on the specific sensor bias of that specific IMU.. Assuming that no design flaws are present (eg: wrong power rails to the sensors, noisy voltage regulator, current carrying tracks near sensors, etc..) and that the IMU production has been done properly (eg: sensors stored without moisture, correct reflow oven soldering setup, etc.), IMU with similar sensors should perform pretty the same. So, assuming the above is true, an ArduIMU, since uses the same sensors of the FreeIMU, should perform the same.

With sensors heavily affected by biases, calibration becomes foundamental. Receintly I released calibration code for the FreeIMU (altough adaptable to other IMUs since open source) and this is the performance of a calibrated FreeIMU: https://www.youtube.com/watch?v=eho9MswafJI

Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

IMUs are not magic objects, but there are 4 differences:

1) the filtering algoritm and the method you use to compensate biases and drift of each sensors, including the feedback strategy you implement to handle the error propagation

2) the limitation of the math implementation, arm processor with 64bit floating point will work better than softfloat on avr8, more stable, less numeric error propagation

3) calibration method, in where the skilled experience is the most

4) how they are physically built, if the the magnetometer is shielded it suffers the less

ArduIMU v3 is sold with a firmware that is suffering more issues than putting freeIMU firmware on it. I got an ArduIMU v3 from spark fun and it is working not so well (yes, even if i have calibrated it), the hardware is quite similar to the freeIMU 3.5, but the firmware do the difference: freeIMU works better on the quite similar hardware !

There are other projects (even if most of them are commercial) with a different calibration method which seems to be more efficient and stable. The pololu IMU for example is much more stable: it's an IMU with arm MPU and comes with factory-calibrated to remove soft and hard iron distortions present in the enclosure. When integrated into the end-user system, additional calibration may be necessary to correct other magnetic field distortions. Magnetometer calibration can be performed using the CH Robotics Serial Interface software.

http://www.pololu.com/catalog/product/1255 (yeah, it's so cool, but it costs 200 euro)

wandering if there are similar projects around the net in where we can grab their "secrets" 

for example the FOX team seems to have a stable IMU and know how about how to calibrate and handle it: i have to study their hardware (i have seen analog IMU in their old quad copter) and their firmware.

also, there are papers around universities in where they discuss about using different magnetometers interpolating them in order to reduce errors and bad things.
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

here you can see a propeller by parallax (it's an 8 cores MPU)
programmed in SPIN (it an high level language made by parallax)
which comput DCM things (only 2 cores used)



you can see the SPIN source and a little discussion here
http://forums.parallax.com/showthread.php?131022-Propeller-DCM-Now-with-source
« Last Edit: October 25, 2013, 04:35:23 am by lock » Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In this case this guy has no magnetometer at all
Logged

Torino, Italy
Offline Offline
Sr. Member
****
Karma: 2
Posts: 312
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mmm.. sorry but I'm not impressed. On the poor 16 MHz 8-bit Arduino, I'm able to run the FreeIMU library up to about 400Hz.. including calibration stuff for acc, magn and gyro.. what's the point of having "8 cores MPU" if you algorithm goes up to 200Hz ?!?!?!
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

"having 8 cores MPU to run 200Hz algorithm" is not the point of my post!

i have reported it just because it is a different experience
not because we are talking about 8 core2 MPU in where that guy has a propeller to toy with

probably he wants to use 2 cores to do the IMU things, and other 6 cores to handle his quadcopter, radio, motors, etc ...
it doen't matter, and it doesn't matter if you are impressed or not

the real point is

1) he has used fixed point instead of floating point, and he has observed a lot of numerical noises which cased him to seriously handle the error propagation, this could teach how to care about the math support

2) he has not used any magnetometers, which could suggest us to reconsider the real contribute of magnetometers

unfortunately we don't know nothing about the procedure he has used to calibrate, as we do not know nothing about the pololu's IMU
but he got good results !
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I ve opened this thread in order to discuss and to know if anyone
has skilled experience in gyroscope calibration, for esample

gyros needs temperature compensation, so i am wandering if there is something on the net
i have only seen this http://code.google.com/p/itg-3200driver/issues/detail?id=9

wandering if "good calibration papers" exists and where to read them  smiley-mr-green
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

an other commercial product what i am watching is
this one http://www.digikey.com/product-highlights/us/en/analog-devices-npe-vol6/2672?WT.z_email=newsletter_ADI_mems#tabs-8
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

about FOX team, here it is a great demo about what an IMU can do:
the following video demonstrates an algorithm that enables tracking in 6DOF (pitch, roll, yaw, and x, y, z displacement)
the algorithm uses IMU attached to foot for measure gain characteristics and thrak;s wearer's location
http://www.virtualrobotix.com/video/3d-tracking-with-imu
Logged

Torino, Italy
Offline Offline
Sr. Member
****
Karma: 2
Posts: 312
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That's Sebastian Madwick's work, not Foxteam.
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1489
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yeah, Madwick's work (as anyone could read in the video sub text) reported by FOX team in their website.
and which i am reporting here as "IMU experience"


any good paper found about gyro temperature issue ?
Logged

Pages: [1] 2   Go Up
Jump to: