<html>
<head><title>Sensor Fusion for Tizen Sensor Framework</title></head>
-<h1>Introduction</h1>
+<h1><center>Sensor Fusion for Tizen Sensor Framework</center></h1>
+
+<h2>Introduction</h2>
<p>Sensor Fusion is the process of combining the accelerometer,
-gyroscope, geo-magnetic sensor, GPS data and barometer in order to generate
-accurate virtual sensor outputs such as Orientation, Gravity, Linear
-Acceleration, Altitude, etc. Sensor Fusion is used for extracting
-individual virtual sensor components from composite sensor data and/or
-combining multiple sensor data to create new sensor component data while
-compensating for individual sensor errors. Ideally the following errors would
-have to be corrected during sensor fusion:-</p>
+gyroscope and geo-magnetic sensor in order to generate accurate virtual sensor
+outputs such as Orientation, Gravity, Linear Acceleration, etc. Sensor Fusion
+is used for extracting individual virtual sensor components from composite
+sensor data and/or combining multiple sensor data to create new sensor component
+data while compensating for individual sensor errors. Ideally the following
+errors would have to be corrected during sensor fusion:-</p>
<p> - Bias: Any non-zero sensor
output when the input is zero</p>
<p> - Quantization error: inherent
in all digitized systems</p>
-<h1>Sensors Used for Sensor Fusion</h1>
+<h2>Sensors Used for Sensor Fusion</h2>
<p>Accelerometer Sensor :- Accelerometer data is a combination of linear
acceleration and gravity components. Applications would be interested in using
GPS latitude-longitude measurements could be used to accurately estimate
heading of the device.</p>
-<p>Barometer Sensor :- Measures atmospheric pressure. Height of the device from
-sea level could be measured based on change in atmospheric pressure at that height.
-Sensor Fusion could also be used to combine the altitude from the GPS data with
-height measured from the Barometer measurements and produce corrected altitude
-measurements. </p>
-
-<p>GPS Data :- Provides exact position in terms of latitude, longitude coordinates
-and altitude for the phone. Can be used along with barometer for producing
-corrected altitude measurements. Could be used along with Geo-magnetic sensor
-to determine the heading of a device.</p>
-
-<h1>Orientation Estimation</h1>
+<h2>Orientation Estimation</h2>
<p><center></center></p>
</center>
</FIGURE>
-
<FIGURE>
<center>
<img src="./diagram/block_diagram_orientation_estimation.png" width="40%"
</center>
</FIGURE>
+<h3>Preprocessing of Sensor Data</h3>
+
<FIGURE>
<center>
<img src="./equation/equation_1.png" width="35%" height="5%">
<FIGURE>
<center>
-<img src="./equation/equation_2.png" width="35%" height="7%">
+<img src="./equation/equation_2.png" width="35%" height="6%">
</center>
</FIGURE>
</center>
</FIGURE>
-<h2>Driving System</h2>
+<FIGURE>
+<center>
+<img src="./equation/equation_6.png" width="35%" height="5%">
+</center>
+</FIGURE>
+
+
+<h3>Orientation Computation Based on Aiding System</h3>
+
+<FIGURE>
+<center>
+<img src="./equation/equation_7.png" width="35%" height="4%">
+</center>
+</FIGURE>
+
+<FIGURE>
+<center>
+<img src="./equation/equation_8.png" width="35%" height="4%">
+</center>
+</FIGURE>
+
+<FIGURE>
+<center>
+<img src="./equation/equation_9.png" width="35%" height="4%">
+</center>
+</FIGURE>
+
+<FIGURE>
+<center>
+<img src="./equation/equation_10.png" width="35%" height="4%">
+</center>
+</FIGURE>
+
+<FIGURE>
+<center>
+<img src="./equation/equation_11.png" width="35%" height="4%">
+</center>
+</FIGURE>
+
-<p>The gyroscope output data consists for angular rates for pitch, roll and yaw.
-Gyroscope angular rates are corrected for bias (both static bias and bias correction
-from Kalman filter) and noise using low pass filter. The Gyroscope angular rates are
-converted to Quaternions after scaling.</p>
+<h3>Driving System</h3>
-<h2>Aiding System</h2>
<p>The accelerometer and geomagnetic sensor data are corrected
for noise and compensated for static bias. Accelerometer is used to compute
is used compute yaw. The computed Euler angles (pitch, roll and yaw) are
converted to quaternions.</p>
-<h2>Noise Covariance Computation</h2>
+<h3>Noise Covariance Computation</h3>
<p>The process noise covariance (Q) is calculated by computing
covariance of windowed block of driving system data. The measurement noise
system data. The process and measurement covariance computed are to be used in
Kalman filtering.</p>
-<h2>Kalman Filtering</h2>
+<h3>Kalman Filtering</h3>
<FIGURE>
<center>
<p>,where the first term is the quaternion representation of the Euler angles
error and the next three terms are the error in knowledge of bias errors.</p>
-<h1>Determination of Gravity</h1>
+<h3>Determination of Gravity</h3>
<p>When a device is subjected to motion in Euclidean space, the 3D accelerometer
data generated from the device is a combination of linear acceleration and gravity
components which are a measure of linear and rotational motion respectively.The
shift in the axis which experiences the gravitational field (G is measure of Earth's
gravity).</p>
-<h1>Determination of Linear Acceleration</h1>
+<h2>Determination of Linear Acceleration</h2>
<p>Linear Acceleration virtual sensor data provides the measure of the acceleration of
a device after removing the Gravity components on the 3-axes. Accurate linear