Using Sensorfusion algorithm for getting exact reading from Acc+Mag+Gyro ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using Sensorfusion algorithm for getting exact reading from Acc+Mag+Gyro ?

1,656 Views
Amit_Kumar1
Senior Contributor II

Hi

I am using FXOS8700CQ ACC+ mag and FXAS21002 Gyro based FRDM-AGM01 Board, Is there any appnote to interface ACC+Gyro to get exact angle, after this I would be trying to interface magnetometer with these 2 sensors for getting the roll pitch and yaw. I used the sensor fusion toolbox and its library, the data was very precised I wanted to understand and write my own code for interfacing all these 3 sensors. but the raw values had lots of offset wanted to get rid of these offset. is there any appnote for this ? Thanks in advance.

 

Regards

Amit

Labels (1)
5 Replies

1,055 Views
michaelestanley
NXP Employee
NXP Employee

Amit,

All documentation is included in the kit doc directory.  The kit includes several different fusion algorithms.  One of those is acc+gyro.  You can then read orientation directly from the output structures of routine and (if that is what you are trying to do) manually fuse it with the mag.  I would expect performance to be a bit better than a pure eCompass (mag+accel), but not as good as the full 9-axis fusion routine (which you also have).

Good luck,

Mike

1,055 Views
Amit_Kumar1
Senior Contributor II

Hi Michael

I tried extracting the raw values using both the (sensor fusion library + toolbox recording) and (My basic interfacing code + terminal s/w) keeping the FRDM board stable at same place at same orientation, but the values I got is different. I am sorry for troubling you my only concern is I wanted to understand how things are working. Attached is my code with the o/p files. I have changed the I2C port of AGM board using the jumper position. Please help me in resolving this issue.

Warm Regards

Amit

0 Kudos

1,055 Views
michaelestanley
NXP Employee
NXP Employee

Amit,

If I understand you, you are trying to compare raw sensor readings from our library versus those from virgin code you have written?  I can only recommend studying the drivers included in the fusion library.  They are well documented in the code, and are quite stable at this point.

Mike

1,055 Views
Amit_Kumar1
Senior Contributor II

Hi Michael

Thanks a lot for your time and patience. I went through your detailed documents. It Reflects the amount of research you would have been doing to get it work. Hats off for your wonderful work. Thanks a lot for providing such an effective library. I had few questions

1) How do I select which sensors to be used ? In My FRDM-STBC-AGM01 board I have FXOS8700CQ and FXAS21002 I don't have any other sensors and was thinking if there is an option to select only these sensors.

2) Is there any option to change the sensitivity i.e for acc 2g/4g/16g or gyro 2000dps/250 dps ?

Regards

Amit

0 Kudos

1,055 Views
michaelestanley
NXP Employee
NXP Employee

Choice of sensors usually is a mix of technical and business considerations.  The table below shows strengths and weaknesses of the various types of sensors. The board you have has accel+mag+gyro.  The choice of which accel or mag or gyro will depend on desired sampling rate, full scale range, interface type, package size, cost and so forth.

SensorStrengthsAndWeaknesses copy.png
The FXOS8700CQ supports several g ranges (2/4/8).  You can change this in the drivers.c file.  The other two sensors on your board have only a single full scale range.