Updating preprocessing and aiding system documentation 66/31166/2
authorRamasamy <ram.kannan@samsung.com>
Tue, 2 Dec 2014 08:50:34 +0000 (14:20 +0530)
committerRamasamy <ram.kannan@samsung.com>
Tue, 2 Dec 2014 08:55:53 +0000 (14:25 +0530)
- Added new equations for preprocessing and aiding system
- Changed formating for documentation.
- Updated diagrams for orientation and gravity.

Change-Id: I913cd22de5fa30ee8c4a91cc7a62a7ff93f0588d

src/sensor_fusion/design/documentation/diagram/device_orientation.png
src/sensor_fusion/design/documentation/diagram/orientation_effect_on_gravity.png
src/sensor_fusion/design/documentation/equation/equation_10.png [new file with mode: 0755]
src/sensor_fusion/design/documentation/equation/equation_11.png [new file with mode: 0755]
src/sensor_fusion/design/documentation/equation/equation_6.png [new file with mode: 0755]
src/sensor_fusion/design/documentation/equation/equation_7.png [new file with mode: 0755]
src/sensor_fusion/design/documentation/equation/equation_8.png [new file with mode: 0755]
src/sensor_fusion/design/documentation/equation/equation_9.png [new file with mode: 0755]
src/sensor_fusion/design/documentation/sensor_fusion.htm

index 6bc621a..f652061 100755 (executable)
Binary files a/src/sensor_fusion/design/documentation/diagram/device_orientation.png and b/src/sensor_fusion/design/documentation/diagram/device_orientation.png differ
index 9386b90..052b738 100755 (executable)
Binary files a/src/sensor_fusion/design/documentation/diagram/orientation_effect_on_gravity.png and b/src/sensor_fusion/design/documentation/diagram/orientation_effect_on_gravity.png differ
diff --git a/src/sensor_fusion/design/documentation/equation/equation_10.png b/src/sensor_fusion/design/documentation/equation/equation_10.png
new file mode 100755 (executable)
index 0000000..7fd49f6
Binary files /dev/null and b/src/sensor_fusion/design/documentation/equation/equation_10.png differ
diff --git a/src/sensor_fusion/design/documentation/equation/equation_11.png b/src/sensor_fusion/design/documentation/equation/equation_11.png
new file mode 100755 (executable)
index 0000000..cbb589d
Binary files /dev/null and b/src/sensor_fusion/design/documentation/equation/equation_11.png differ
diff --git a/src/sensor_fusion/design/documentation/equation/equation_6.png b/src/sensor_fusion/design/documentation/equation/equation_6.png
new file mode 100755 (executable)
index 0000000..cadeeed
Binary files /dev/null and b/src/sensor_fusion/design/documentation/equation/equation_6.png differ
diff --git a/src/sensor_fusion/design/documentation/equation/equation_7.png b/src/sensor_fusion/design/documentation/equation/equation_7.png
new file mode 100755 (executable)
index 0000000..a2f76b2
Binary files /dev/null and b/src/sensor_fusion/design/documentation/equation/equation_7.png differ
diff --git a/src/sensor_fusion/design/documentation/equation/equation_8.png b/src/sensor_fusion/design/documentation/equation/equation_8.png
new file mode 100755 (executable)
index 0000000..cecb2a6
Binary files /dev/null and b/src/sensor_fusion/design/documentation/equation/equation_8.png differ
diff --git a/src/sensor_fusion/design/documentation/equation/equation_9.png b/src/sensor_fusion/design/documentation/equation/equation_9.png
new file mode 100755 (executable)
index 0000000..ac27db6
Binary files /dev/null and b/src/sensor_fusion/design/documentation/equation/equation_9.png differ
index 0ccfb0e..eb31730 100755 (executable)
@@ -1,16 +1,17 @@
 <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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Bias: Any non-zero sensor
 output when the input is zero</p>
@@ -30,7 +31,7 @@ mechanical lock-in</p>
 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- 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
@@ -51,18 +52,7 @@ along Z axis to produce correct yaw measurement. Geo-Magnetic sensor along with
 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>
 
@@ -73,7 +63,6 @@ to determine the heading of a device.</p>
 </center>
 </FIGURE>
 
-
 <FIGURE>
 <center>
 <img src="./diagram/block_diagram_orientation_estimation.png" width="40%"
@@ -83,6 +72,8 @@ Estimation.</FIGCAPTION>
 </center>
 </FIGURE>
 
+<h3>Preprocessing of Sensor Data</h3>
+
 <FIGURE>
 <center>
 <img src="./equation/equation_1.png" width="35%" height="5%">
@@ -91,7 +82,7 @@ Estimation.</FIGCAPTION>
 
 <FIGURE>
 <center>
-<img src="./equation/equation_2.png" width="35%" height="7%">
+<img src="./equation/equation_2.png" width="35%" height="6%">
 </center>
 </FIGURE>
 
@@ -113,14 +104,48 @@ Estimation.</FIGCAPTION>
 </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
@@ -128,7 +153,7 @@ tilt (pitch and roll). The geomagnetic sensor along with the computed tilt data
 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
@@ -136,7 +161,7 @@ covariance (R) is calculated by computing covariance of windowed block of aiding
 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>
@@ -152,7 +177,7 @@ Kalman filtering.</p>
 <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
@@ -193,7 +218,7 @@ given above, the values (GRx,GRy,GRz) are converted from (0,0,G) to (0,G,0) due
 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