# Direct cosine matrix implementation, are the plottings correct?

Without any knowledge of DCM, I'm porting a DCM implementation, that is used with SparkFuns 9DOF to C for ARM Cortex M3.

So far it goes well, but since I do not know what to expect of data in the matrices, I do not know if the current filter output data is tuned well.

In the test below I quickly moved the IMU with my hands over a flat table. I did this from left to right over the X-axis from the accelerometer. Sure there might be some Y-axis movement as well since I cannot achieve that accuracy with my bare hands.

Mostly I`m interested if the gyro's VS accelerometers are aligned well and not reversed. Can anyone please advice me?

Because what I do not understand is that the X-axis of the accelerometer is measuring the shaking, which is right, but also the gyro is measuring rotation over the X-axis.

On the IMU, the X axis from gyro is mounted in the same way the X-axis of accelerometer is pointing to (same holds for Y and Z)

The sample time is 50Hz

Gyro data to grad/s can be calculated by dividing by 14.375

Acc. data to Gravity can be calculated by dividing by 4096

The first 2 plots are RAW data from sensors, the third plot is the output from filter in grad/s.

10 times shaking, paused, 1 short shake, pause, one more shake, pause

Below a plot of the raw data from gyro and accelerometer (Z axis).

Clearly there is also a lot of change (noise?) on the Z-axis of the accelerometer, what I find strange since the gravity isn't changing since it is shaking/lying on a flat surface.

What I expected from this test is that only the x-axis from accelerometer shows changes (since I'm shaking in into that direction) and that the rest of all the axis (gyro and accelerometer) isn't disturbed at any way.

By the way, it is for a Quadrocopter.

Views: 449

### Replies to This Discussion

I would check that moving each sensor along each axis produces little/no effect on the other axes and other sensors. Basic orthogonality.

I've been porting MatrixNav DCM to x86 Linux + STM32 too. Maybe I can be of more help in a couple days.

.

1

2

3

4

5

6

7

8

9

10

## Groups

1789 members

26 members

317 members

41 members

• ### ArduPlane User Group

876 members

Season Two of the Trust Time Trial (T3) Contest has now begun. The fifth round, 3D model building requiring contestants to survey and reconstruct a building or natural scene from aerial images.

A list of all T3 contests is here.