MATLAB: I want to know if it is possible to get displacement data out of the orientation data in the form of a quaternion

sensor fusion

I'm trying to us the Sensor Fusion toolbox to fuse accel and gyro data, then get displacement. Here is what I've tried:
>> me = loadTest('Me');
>> accel = me.sdChest(:,2:4);
>> gyro = me.sdChest(:,5:7);
>> FUSE = imufilter;
>> accel = table2array(accel);
>> gyro = table2array(gyro);
>> [orientation,angularVelocity] = FUSE(accel,gyro);
Now I want to get displacement data out. I get the orientation in the form of a quaterion, don't know how to get displacement.
Using: >> [position,orient ] = pose(FUSE); doesn't work
I understand that to get displacement you have to differentiate accel two times, but I was hoping a funtion was available for this.

Best Answer

Integrating the acceleration data two times will also integrate the measurement errors that occur in the accelerometer and gyroscope data. Moreover, effects of random noise and offset will also affect the displacement computation. This will result in inaccurate values of displacement.
It is advisable to fuse data from both inertial sensors and GPS to obtain pose and hence displacement.
To know how to determine pose using inertial sensors and GPS, refer to the following link: