From 02d8a813cd1d4673841ffe3a49ac547df4b8f5b8 Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Mon, 24 Nov 2014 17:40:44 +0530 Subject: [PATCH 01/16] Adding Virtual Sensor Configuration Information Adding html document for information on configuring virtual sensors. Change-Id: I296dc7be45b201c70d151e7dac2e2b5325d5abd6 --- Virtual_Sensor_Configuration.htm | 146 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 Virtual_Sensor_Configuration.htm diff --git a/Virtual_Sensor_Configuration.htm b/Virtual_Sensor_Configuration.htm new file mode 100644 index 0000000..596d3fe --- /dev/null +++ b/Virtual_Sensor_Configuration.htm @@ -0,0 +1,146 @@ + +Information on Configuration of Virtual Sensors + +

Description for Orientation Virtual Sensor "ORIENTATION"

+ +

XML Code

+ + +<ORIENTATION>
+ <NAME value="ORIENTATION_SENSOR" >
+ <VENDOR value="SAMSUNG" >
+ <RAW_DATA_UNIT value="DEGREES" >
+ <DEFAULT_SAMPLING_TIME value="100" >
+ <ACCEL_STATIC_BIAS value1="0" value2="0" value3="0" >
+ <GYRO_STATIC_BIAS value1="0" value2="0" value3="0" >
+ <GEOMAGNETIC_STATIC_BIAS value1="0" value2="0" value3="0" >
+ <ACCEL_ROTATION_DIRECTION_COMPENSATION value1="-1" value2="-1" value3="-1" >
+ <GYRO_ROTATION_DIRECTION_COMPENSATION value1="1" value2="1" value3="1" >
+ <GEOMAGNETIC_ROTATION_DIRECTION_COMPENSATION value1="-1" value2="-1" value3="-1" >
+ <ACCEL_SCALE value="1" >
+ <GYRO_SCALE value="1146" >
+ <GEOMAGNETIC_SCALE value="1" >
+ <MAGNETIC_ALIGNMENT_FACTOR value="1" >
+ <AZIMUTH_ROTATION_COMPENSATION value="-1" >
+ <PITCH_ROTATION_COMPENSATION value="-1" >
+ <ROLL_ROTATION_COMPENSATION value="-1" >
+<ORIENTATION>
+ +

Description of Congiguration in XML Code

+ +

Based on the configuration parameter there may be a single value or +three values assigned. In case of three values, 'value1' represents X-axis +component, 'value2' represents Y-axis component and 'value3' represents +Z-axis component for any sensor.

+ +

NAME

+

Name of the Virtual Sensor

+ +

VENDOR

+

Name of the vendor who developed Orientation virtual sensor.

+ +

RAW_DATA_UNIT

+

Units for the raw data output from the Orientation virtual sensor. The +unit options available are 'DEGREES' and 'RADIANS'. The output device +orientation would be expresses in terms of degrees or radians based on the +option selected.

+ +

DEFAULT_SAMPLING_TIME

+

Default sampling interval (in msec) value at which the Orientation +virtual sensor is initialized.

+ +

ACCEL_STATIC_BIAS

+

The static bias value for accelerometer X, Y and Z axis data is +computed when the device is at rest with an device orientation (pitch, +roll, azimuth) as (0, 0, 0). The non-zero accelerometer data values observed +on the X, Y and Z axis are the bias values to be entered respectively. +The entered bias values would be subtracted from the accelerometer input +data in the pre-processing stage of the sensor fusion algorithm.

+ +

GYRO_STATIC_BIAS

+

The static bias value for gyroscope X, Y and Z axis data is computed +when the device is at rest with an device orientation (pitch, roll, azimuth) +as (0, 0, 0). The non-zero gyroscope data values observed on the X, Y and +Z axis are the bias values to be entered respectively. The entered bias +values would be subtracted from the gyroscope input data in the +pre-processing stage of the sensor fusion algorithm.

+ +

GEOMAGNETIC_STATIC_BIAS

+

The static bias value for geomagnetic sensor X, Y and Z axis data is +computed when the device is at rest with an device orientation (pitch, roll, +azimuth) as (0, 0, 0). The non-zero geomagnetic sensor data values observed +on the X, Y and Z axis are the bias values to be entered respectively. The +entered bias values would be subtracted from the geomagnetic sensor input +data in the pre-processing stage of the sensor fusion algorithm.

+ +

ACCEL_ROTATION_DIRECTION_COMPENSATION

+

The rotation direction compensation for each axis X, Y and Z is assigned a +value of "+1" if the clockwise rotation of the device for the particular axis +results in positive increase in accelerometer data values. The rotation +direction compensation for each axis is assigned a value of "-1" if for the +clockwise rotation of the device for the particular axis results in negative +increase in accelerometer data value. This parameter will take only take two +values +1 or -1.

+ +

GYRO_ROTATION_DIRECTION_COMPENSATION

+

The rotation direction compensation for each axis X, Y and Z is assigned a +value of "+1" if the clockwise rotation of the device for the particular axis +results in positive change in gyroscope angular rate values. The rotation +direction compensation for each axis is assigned a value of "-1" if for the +clockwise rotation of the device for the particular axis results in negative +change in gyroscope angular rate value. This parameter will take only take +two values of either +1 or -1.

+ +

GEOMAGNETIC_ROTATION_DIRECTION_COMPENSATION

+

The rotation direction compensation for each axis X, Y and Z is assigned a +value of "+1" if the clockwise rotation of the device around any of the +different axis results in a positive increase in geomagnetic sensor data values. +The rotation direction compensation for the axis is assigned a value of "-1" +if for the clockwise rotation of the device for the any axis results in +negative increase in geomagnetic sensor value. This parameter will only take +two values of either +1 or -1.

+ +

ACCEL_SCALE

+

In the current version of the sensor fusion algorithm this value is always +set to +1.

+ +

GYRO_SCALE

+

If MAX_VAL is the maximum possible gyroscope data magnitude on all three +axes for both the positive and negative measured values, then the value equal +to (2 x MAX_VAL) should be entered for this field. The MAX_VAL magnitude which +also is the same as the maximum range of the gyroscope sensor has to be taken +from the sensor specification document or can be computed by rotating the +device on all axis and measuring the maximum possible gyroscope value during +the rotations.

+ +

GEOMAGNETIC_SCALE

+

In the current version of the sensor fusion algorithm this value is always +set to +1.

+ +

MAGNETIC_ALIGNMENT_FACTOR

+

If the magnetic orientation of the device geomagnetic sensor points to north +when the device azimuth is pointing north this value is set as +1. If the +magnetic orientation of the device geomagnetic sensor points to south +when the device azimuth is pointing north this value is set as -1. For both +the settings the North->East->South->West rotation of the device results in +positive change in geomagnetic sensor data values and North->West->South->East +rotation results in a negative change in geomagnetic sensor data values.

+ +

AZIMUTH_ROTATION_COMPENSATION

+

If the North->East->South->West azimuth rotation of the device results in +positive increase in the azimuth output this value is set to +1.If the +North->East->South->West azimuth rotation of the device results in negative +increase in the azimuth output this value is set to -1.

+ +

PITCH_ROTATION_COMPENSATION

+

If the clockwise pitch rotation of the device results in positive increase +in the pitch output this value is set to +1.If the clockwise pitch rotation +of the device results in negative increase in the pitch output this value is +set to -1.

+ +

ROLL_ROTATION_COMPENSATION

+

If the clockwise roll rotation of the device results in positive increase +in the roll output this value is set to +1.If the clockwise roll rotation +of the device results in negative increase in the roll output this value is +set to -1.

+ -- 2.7.4 From e36e52947f79f79596d03c7fd8d66b9824bf4a82 Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Tue, 25 Nov 2014 13:42:53 +0530 Subject: [PATCH 02/16] Updating orientation input units support for gravity - Adding support for input orientation in terms of degrees and radians during computation of gravity. Change-Id: Ib14b4b95f3ba98b924f0da16683bd1bc077c4ac3 --- src/gravity/gravity_sensor.cpp | 33 +++++++++++++++++++++++++-------- src/gravity/gravity_sensor.h | 1 + 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/gravity/gravity_sensor.cpp b/src/gravity/gravity_sensor.cpp index 328cab8..a870244 100755 --- a/src/gravity/gravity_sensor.cpp +++ b/src/gravity/gravity_sensor.cpp @@ -38,6 +38,7 @@ #define SENSOR_NAME "GRAVITY_SENSOR" #define SENSOR_TYPE_GRAVITY "GRAVITY" +#define SENSOR_TYPE_ORIENTATION "ORIENTATION" #define MS_TO_US 1000 @@ -46,6 +47,7 @@ #define ELEMENT_RAW_DATA_UNIT "RAW_DATA_UNIT" #define ELEMENT_DEFAULT_SAMPLING_TIME "DEFAULT_SAMPLING_TIME" #define ELEMENT_GRAVITY_SIGN_COMPENSATION "GRAVITY_SIGN_COMPENSATION" +#define ELEMENT_ORIENTATION_DATA_UNIT "RAW_DATA_UNIT" gravity_sensor::gravity_sensor() : m_orientation_sensor(NULL) @@ -66,6 +68,13 @@ gravity_sensor::gravity_sensor() INFO("m_vendor = %s", m_vendor.c_str()); + if (!config.get(SENSOR_TYPE_ORIENTATION, ELEMENT_ORIENTATION_DATA_UNIT, m_orientation_data_unit)) { + ERR("[ORIENTATION_DATA_UNIT] is empty\n"); + throw ENXIO; + } + + INFO("m_orientation_data_unit = %s", m_orientation_data_unit.c_str()); + if (!config.get(SENSOR_TYPE_GRAVITY, ELEMENT_RAW_DATA_UNIT, m_raw_data_unit)) { ERR("[RAW_DATA_UNIT] is empty\n"); throw ENXIO; @@ -156,10 +165,14 @@ bool gravity_sensor::delete_interval(int client_id) void gravity_sensor::synthesize(const sensor_event_t &event, vector &outs) { sensor_event_t gravity_event; + float conversion_const = 1; const float MIN_DELIVERY_DIFF_FACTOR = 0.75f; unsigned long long diff_time; + if(m_orientation_data_unit == "DEGREES") + conversion_const = DEG2RAD; + if (event.event_type == ORIENTATION_EVENT_RAW_DATA_REPORT_ON_TIME) { diff_time = event.data.timestamp - m_timestamp; @@ -169,10 +182,10 @@ void gravity_sensor::synthesize(const sensor_event_t &event, vector Date: Tue, 25 Nov 2014 14:58:55 +0530 Subject: [PATCH 03/16] Adding diagram to Configuration document - Adding device orientation diagram - Formating document for better readability Change-Id: Ib14b4b95f3ba14b924f0da16683bd1bc077c4ac3 --- Virtual_Sensor_Configuration.htm | 51 +++++++++++++++++++++------------------ device_orientation.png | Bin 0 -> 37845 bytes 2 files changed, 28 insertions(+), 23 deletions(-) create mode 100755 device_orientation.png diff --git a/Virtual_Sensor_Configuration.htm b/Virtual_Sensor_Configuration.htm index 596d3fe..ad40152 100644 --- a/Virtual_Sensor_Configuration.htm +++ b/Virtual_Sensor_Configuration.htm @@ -1,10 +1,15 @@ Information on Configuration of Virtual Sensors -

Description for Orientation Virtual Sensor "ORIENTATION"

+

Configuration of Virtual Sensors


-

XML Code

+

1. Orientation Virtual Sensor

+
+ +

+ +

1.1 XML Code

<ORIENTATION>
 <NAME value="ORIENTATION_SENSOR" >
@@ -26,30 +31,30 @@  <ROLL_ROTATION_COMPENSATION value="-1" >
<ORIENTATION>
-

Description of Congiguration in XML Code

+

1.2 Description of Configuration in XML Code

Based on the configuration parameter there may be a single value or three values assigned. In case of three values, 'value1' represents X-axis component, 'value2' represents Y-axis component and 'value3' represents Z-axis component for any sensor.

-

NAME

+

1.2.1 NAME

Name of the Virtual Sensor

-

VENDOR

+

1.2.2 VENDOR

Name of the vendor who developed Orientation virtual sensor.

-

RAW_DATA_UNIT

+

1.2.3 RAW_DATA_UNIT

Units for the raw data output from the Orientation virtual sensor. The unit options available are 'DEGREES' and 'RADIANS'. The output device orientation would be expresses in terms of degrees or radians based on the option selected.

-

DEFAULT_SAMPLING_TIME

+

1.2.4 DEFAULT_SAMPLING_TIME

Default sampling interval (in msec) value at which the Orientation virtual sensor is initialized.

-

ACCEL_STATIC_BIAS

+

1.2.5 ACCEL_STATIC_BIAS

The static bias value for accelerometer X, Y and Z axis data is computed when the device is at rest with an device orientation (pitch, roll, azimuth) as (0, 0, 0). The non-zero accelerometer data values observed @@ -57,7 +62,7 @@ on the X, Y and Z axis are the bias values to be entered respectively. The entered bias values would be subtracted from the accelerometer input data in the pre-processing stage of the sensor fusion algorithm.

-

GYRO_STATIC_BIAS

+

1.2.6 GYRO_STATIC_BIAS

The static bias value for gyroscope X, Y and Z axis data is computed when the device is at rest with an device orientation (pitch, roll, azimuth) as (0, 0, 0). The non-zero gyroscope data values observed on the X, Y and @@ -65,7 +70,7 @@ Z axis are the bias values to be entered respectively. The entered bias values would be subtracted from the gyroscope input data in the pre-processing stage of the sensor fusion algorithm.

-

GEOMAGNETIC_STATIC_BIAS

+

1.2.7 GEOMAGNETIC_STATIC_BIAS

The static bias value for geomagnetic sensor X, Y and Z axis data is computed when the device is at rest with an device orientation (pitch, roll, azimuth) as (0, 0, 0). The non-zero geomagnetic sensor data values observed @@ -73,7 +78,7 @@ on the X, Y and Z axis are the bias values to be entered respectively. The entered bias values would be subtracted from the geomagnetic sensor input data in the pre-processing stage of the sensor fusion algorithm.

-

ACCEL_ROTATION_DIRECTION_COMPENSATION

+

1.2.8 ACCEL_ROTATION_DIRECTION_COMPENSATION

The rotation direction compensation for each axis X, Y and Z is assigned a value of "+1" if the clockwise rotation of the device for the particular axis results in positive increase in accelerometer data values. The rotation @@ -82,7 +87,7 @@ clockwise rotation of the device for the particular axis results in negative increase in accelerometer data value. This parameter will take only take two values +1 or -1.

-

GYRO_ROTATION_DIRECTION_COMPENSATION

+

1.2.9 GYRO_ROTATION_DIRECTION_COMPENSATION

The rotation direction compensation for each axis X, Y and Z is assigned a value of "+1" if the clockwise rotation of the device for the particular axis results in positive change in gyroscope angular rate values. The rotation @@ -91,7 +96,7 @@ clockwise rotation of the device for the particular axis results in negative change in gyroscope angular rate value. This parameter will take only take two values of either +1 or -1.

-

GEOMAGNETIC_ROTATION_DIRECTION_COMPENSATION

+

1.2.10 GEOMAGNETIC_ROTATION_DIRECTION_COMPENSATION

The rotation direction compensation for each axis X, Y and Z is assigned a value of "+1" if the clockwise rotation of the device around any of the different axis results in a positive increase in geomagnetic sensor data values. @@ -100,11 +105,11 @@ if for the clockwise rotation of the device for the any axis results in negative increase in geomagnetic sensor value. This parameter will only take two values of either +1 or -1.

-

ACCEL_SCALE

+

1.2.11 ACCEL_SCALE

In the current version of the sensor fusion algorithm this value is always set to +1.

-

GYRO_SCALE

+

1.2.12 GYRO_SCALE

If MAX_VAL is the maximum possible gyroscope data magnitude on all three axes for both the positive and negative measured values, then the value equal to (2 x MAX_VAL) should be entered for this field. The MAX_VAL magnitude which @@ -113,11 +118,11 @@ from the sensor specification document or can be computed by rotating the device on all axis and measuring the maximum possible gyroscope value during the rotations.

-

GEOMAGNETIC_SCALE

+

1.2.13 GEOMAGNETIC_SCALE

In the current version of the sensor fusion algorithm this value is always set to +1.

-

MAGNETIC_ALIGNMENT_FACTOR

+

1.2.14 MAGNETIC_ALIGNMENT_FACTOR

If the magnetic orientation of the device geomagnetic sensor points to north when the device azimuth is pointing north this value is set as +1. If the magnetic orientation of the device geomagnetic sensor points to south @@ -126,21 +131,21 @@ the settings the North->East->South->West rotation of the device results in positive change in geomagnetic sensor data values and North->West->South->East rotation results in a negative change in geomagnetic sensor data values.

-

AZIMUTH_ROTATION_COMPENSATION

+

1.2.15 AZIMUTH_ROTATION_COMPENSATION

If the North->East->South->West azimuth rotation of the device results in -positive increase in the azimuth output this value is set to +1.If the +positive increase in the azimuth output this value is set to +1. If the North->East->South->West azimuth rotation of the device results in negative increase in the azimuth output this value is set to -1.

-

PITCH_ROTATION_COMPENSATION

+

1.2.16 PITCH_ROTATION_COMPENSATION

If the clockwise pitch rotation of the device results in positive increase -in the pitch output this value is set to +1.If the clockwise pitch rotation +in the pitch output this value is set to +1. If the clockwise pitch rotation of the device results in negative increase in the pitch output this value is set to -1.

-

ROLL_ROTATION_COMPENSATION

+

1.2.17 ROLL_ROTATION_COMPENSATION

If the clockwise roll rotation of the device results in positive increase -in the roll output this value is set to +1.If the clockwise roll rotation +in the roll output this value is set to +1. If the clockwise roll rotation of the device results in negative increase in the roll output this value is set to -1.

diff --git a/device_orientation.png b/device_orientation.png new file mode 100755 index 0000000000000000000000000000000000000000..037ad6a769216912b9618b714166135aad1c28a3 GIT binary patch literal 37845 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 Date: Tue, 25 Nov 2014 16:22:18 +0530 Subject: [PATCH 04/16] Adding configuration for gravity virtual sensor - Adding configuration information for gravity virtual sensor - Adding diagram for understanding gravity configuration - Updated orientation sensor diagram to represent correct y-axis rotation. Change-Id: I8e10ad057ac007cf7576560875cb2572a9efb7df --- Virtual_Sensor_Configuration.htm | 47 ++++++++++++++++++++++++++++++++++++++- device_gravity.png | Bin 0 -> 37993 bytes device_orientation.png | Bin 37845 -> 37742 bytes 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100755 device_gravity.png diff --git a/Virtual_Sensor_Configuration.htm b/Virtual_Sensor_Configuration.htm index ad40152..7c82015 100644 --- a/Virtual_Sensor_Configuration.htm +++ b/Virtual_Sensor_Configuration.htm @@ -127,7 +127,7 @@ set to +1.

when the device azimuth is pointing north this value is set as +1. If the magnetic orientation of the device geomagnetic sensor points to south when the device azimuth is pointing north this value is set as -1. For both -the settings the North->East->South->West rotation of the device results in +the settings, the North->East->South->West rotation of the device results in positive change in geomagnetic sensor data values and North->West->South->East rotation results in a negative change in geomagnetic sensor data values.

@@ -148,4 +148,49 @@ set to -1.

in the roll output this value is set to +1. If the clockwise roll rotation of the device results in negative increase in the roll output this value is set to -1.

+ +

2. Gravity Virtual Sensor

+ +
+ +

+ +

2.1 XML Code

+ +<GRAVITY>
+ <NAME value="GRAVITY_SENSOR" >
+ <VENDOR value="SAMSUNG" >
+ <RAW_DATA_UNIT value="M/S^2" >
+ <DEFAULT_SAMPLING_TIME value="100" >
+ <GRAVITY_SIGN_COMPENSATION value1="1" value2="1" value3="1" >
+<GRAVITY>
+ +

2.2 Description of Configuration in XML Code

+ +

Based on the configuration parameter there may be a single value or +three values assigned. In case of three values, 'value1' represents X-axis +component, 'value2' represents Y-axis component and 'value3' represents +Z-axis component for any sensor.

+ +

2.2.1 NAME

+

Name of the Virtual Sensor

+ +

2.2.2 VENDOR

+

Name of the vendor who developed Gravity virtual sensor.

+ +

2.2.3 RAW_DATA_UNIT

+

Units for the raw data output from the Gravity virtual sensor. The +unit options available are 'M/S^2'.

+ +

2.2.4 DEFAULT_SAMPLING_TIME

+

Default sampling interval (in msec) value at which the Gravity virtual +sensor is initialized.

+ +

2.2.5 GRAVITY_SIGN_COMPENSATION

+

When the device orientation on a specific axis changes from 0 to +Π/2 and the gravity component for the orthogonal axis changes from 0 +to +G, the orthogonal axis gravity component is set to +1. When the device +orientation on a specific axis changes from 0 to Π/2 and the gravity +component for the orthogonal axis changes from 0 to -G, the orthogonal axis +gravity component value is set to -1.

diff --git a/device_gravity.png b/device_gravity.png new file mode 100755 index 0000000000000000000000000000000000000000..052b7383d7eaea69a8fa4b008e9f402a6a235744 GIT binary patch literal 37993 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
    Z0 zk^`cIE$%jlHf8k)J7U+LHs5iG<-?NI@HSjQ&NA|@0hdtI9rc_?%2JfL|F=#E58wpD z&0npf^18|0DhMnks(y6gMdV0P7i_RD3=j>ZPj> zZ&Nr?Cx2+zpf|4_HQ+|i^xK>X4sT!YBfltR%p4HZoOpm5z_4UkSYTzPynHR|wbLc| ziuM|to;$PHDFYaT-n*ihi#6I(_w|l&Yg+G|As1&SA=42QW~}LWaN4OWw?2o2<3_CU3M>t;RYTAXG=Q(z1gfznmDw&i zvQm`;%3J-XMaM2U!8ZQYPJ8h3O!bC&h2isbEe!o&)k-)LfyhjxgnBRgt0S%}xkcxI z%kiAzjBCQc#*ajE5Q@}>9CR}69R?RTf1N3Zo1ATG z$b8*L{lz178XVZL0s!C>4eSm=u#bWo^Ktk44pP+PIk#;=OkL2Ebe&4w%w!Jsh33B9 z3V)s^{A6y|UhP8`EM0M`d}?zMtde|fEqpTn|8x`9TM+Ok8lUWz^A+jrwonN89SsQa J=lBt*{{h$#OTqvE literal 0 HcmV?d00001 diff --git a/device_orientation.png b/device_orientation.png index 037ad6a769216912b9618b714166135aad1c28a3..f6520618dbd3a927ee54b5dff7753357a7fcd34b 100755 GIT binary patch literal 37742 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 DV{}5$ literal 37845 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 Date: Tue, 25 Nov 2014 16:52:01 +0530 Subject: [PATCH 05/16] Adding configuration details for linear accel sensor - Adding configuration information for linear accel virtual sensor Change-Id: I9f10ad057ac007cf7576560875cb2572a9efb7df --- Virtual_Sensor_Configuration.htm | 68 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 66 insertions(+), 2 deletions(-) diff --git a/Virtual_Sensor_Configuration.htm b/Virtual_Sensor_Configuration.htm index 7c82015..870904a 100644 --- a/Virtual_Sensor_Configuration.htm +++ b/Virtual_Sensor_Configuration.htm @@ -180,7 +180,7 @@ Z-axis component for any sensor.

    2.2.3 RAW_DATA_UNIT

    Units for the raw data output from the Gravity virtual sensor. The -unit options available are 'M/S^2'.

    +unit options available are "m/s2".

    2.2.4 DEFAULT_SAMPLING_TIME

    Default sampling interval (in msec) value at which the Gravity virtual @@ -193,4 +193,68 @@ to +G, the orthogonal axis gravity component is set to +1. When the device orientation on a specific axis changes from 0 to Π/2 and the gravity component for the orthogonal axis changes from 0 to -G, the orthogonal axis gravity component value is set to -1.

    - + +

    3. Linear Acceleration Virtual Sensor

    + +

    3.1 XML Code

    + +<LINEAR_ACCEL>
    + <NAME value="LINEAR_ACCEL_SENSOR" >
    + <VENDOR value="SAMSUNG" >
    + <RAW_DATA_UNIT value="M/S^2" >
    + <DEFAULT_SAMPLING_TIME value="100" >
    + <ACCEL_STATIC_BIAS value1="0" value2="0" value3="0" >
    + <ACCEL_ROTATION_DIRECTION_COMPENSATION value1="-1" value2="-1" value3="-1" >
    + <ACCEL_SCALE value="1" >
    + <LINEAR_ACCEL_SIGN_COMPENSATION value1="1" value2="1" value3="1" >
    +<LINEAR_ACCEL>
    + +

    3.2 Description of Configuration in XML Code

    + +

    Based on the configuration parameter there may be a single value or +three values assigned. In case of three values, 'value1' represents X-axis +component, 'value2' represents Y-axis component and 'value3' represents +Z-axis component for any sensor.

    + +

    3.2.1 NAME

    +

    Name of the Virtual Sensor

    + +

    3.2.2 VENDOR

    +

    Name of the vendor who developed Linear Acceleration virtual sensor.

    + +

    3.2.3 RAW_DATA_UNIT

    +

    Units for the raw data output from the Linear Acceleration virtual +sensor. The unit options available are "m/s2".

    + +

    3.2.4 DEFAULT_SAMPLING_TIME

    +

    Default sampling interval (in msec) value at which the Linear +Acceleration virtual sensor is initialized.

    + +

    3.2.5 ACCEL_STATIC_BIAS

    +

    The static bias value for accelerometer X, Y and Z axis data is +computed when the device is at rest with an device orientation (pitch, +roll, azimuth) as (0, 0, 0). The non-zero accelerometer data values observed +on the X, Y and Z axis are the bias values to be entered respectively. +The entered bias values would be subtracted from the accelerometer input +data in the pre-processing stage of the sensor fusion algorithm.

    + +

    3.2.6 ACCEL_ROTATION_DIRECTION_COMPENSATION

    +

    The rotation direction compensation for each axis X, Y and Z is assigned a +value of "+1" if the clockwise rotation of the device for the particular axis +results in positive increase in accelerometer data values. The rotation +direction compensation for each axis is assigned a value of "-1" if for the +clockwise rotation of the device for the particular axis results in negative +increase in accelerometer data value. This parameter will take only take two +values +1 or -1.

    + +

    3.2.7 ACCEL_SCALE

    +

    In the current version of the sensor fusion algorithm this value is always +set to +1.

    + +

    3.2.8 LINEAR_ACCEL_SIGN_COMPENSATION

    +

    When the device is linearly displaced along any of the axis in positive +direction and the linear acceleration component for that axis should be +positive, in this case then this value is set to +1. When the device is +linearly displaced along any of the axis in the positive direction and if the +linear acceleration component for that axis is measured to be negative, in this +case this value is set to -1.

    -- 2.7.4 From f6e966b363801eb174a57b2e550e88004b175997 Mon Sep 17 00:00:00 2001 From: Vibhor Gaur Date: Wed, 26 Nov 2014 17:43:43 +0530 Subject: [PATCH 06/16] Configuring geomagnetic test file with changes in public code for IIO interface Change-Id: I33d93962102b0d69cc8c515fa4d2086d52584115 --- test/src/geomagnetic.c | 106 ++++++++++++++----------------------------------- 1 file changed, 29 insertions(+), 77 deletions(-) diff --git a/test/src/geomagnetic.c b/test/src/geomagnetic.c index 8cee361..ac8e599 100755 --- a/test/src/geomagnetic.c +++ b/test/src/geomagnetic.c @@ -17,97 +17,49 @@ * */ -#include -#include -#include #include -#include -#include -#include +#include +#include +#include -static GMainLoop *mainloop; +int handle; -void callback(unsigned int event_type, sensor_event_data_t *event, void *user_data) +int main(int argc, char* argv[]) { - sensor_data_t *data = (sensor_data_t *)event->event_data; - printf("Geomagnetic [%6.6f] [%6.6f] [%6.6f] [%lld]\n\n", data->values[0], data->values[1], data->values[2], data->timestamp); -} + int result; + event_condition_t event_condition; -void printformat() -{ - printf("Usage : ./geomagnetic (optional)\n\n"); - printf("event:\n"); - printf("CALIBRATION_NEEDED\n"); - printf("RAW_DATA_REPORT_ON_TIME\n"); - printf("ATTITUDE_DATA_REPORT_ON_TIME\n"); - printf("interval:\n"); - printf("The time interval should be entered based on the sampling " - "frequency supported by geomagnetic sensor driver on the " - "device in ms.If no value for sensor is entered a default " - "value will be used.\n"); -} + printf("start test!\n"); -int main(int argc,char **argv) -{ - int result, handle; - bool error_state = FALSE; - unsigned int event; + handle = sf_connect(GEOMAGNETIC_SENSOR); - mainloop = g_main_loop_new(NULL, FALSE); - sensor_type_t type = GEOMAGNETIC_SENSOR; - event_condition_t *event_condition = (event_condition_t*) malloc(sizeof(event_condition_t)); - event_condition->cond_op = CONDITION_EQUAL; - event_condition->cond_value1 = 100; + result = sf_start(handle, 1); - if (argc != 2 && argc != 3) { - printformat(); - error_state = TRUE; - } - else { - if (strcmp(argv[1], "CALIBRATION_NEEDED") == 0) - event = GEOMAGNETIC_EVENT_CALIBRATION_NEEDED; - else if (strcmp(argv[1], "RAW_DATA_REPORT_ON_TIME") == 0) - event = GEOMAGNETIC_EVENT_RAW_DATA_REPORT_ON_TIME; - else if (strcmp(argv[1], "ATTITUDE_DATA_REPORT_ON_TIME") == 0) - event = GEOMAGNETIC_EVENT_ATTITUDE_DATA_REPORT_ON_TIME; - else { - printformat(); - error_state = TRUE; - } + if (result < 0) { + printf("can't start Geo SENSOR\n"); + return -1; + } + else + printf("Started Geo Sensor\n"); - if (argc == 3) - event_condition->cond_value1 = atof(argv[2]); - } + sensor_data_t values; - if (!error_state) { - handle = sf_connect(type); - result = sf_register_event(handle, event, event_condition, callback, NULL); - - if (result < 0) - printf("Can't register geomagnetic sensor\n"); - - if (!(sf_start(handle,0) < 0)) { - printf("Success start \n"); - } - else { - printf("Error\n\n\n\n"); - sf_unregister_event(handle, event); - sf_disconnect(handle); + while(1) + { + result = sf_get_data(handle, GEOMAGNETIC_BASE_DATA_SET, &values); + if (result < 0) { + printf("Failed to read data\n"); return -1; } - - g_main_loop_run(mainloop); - g_main_loop_unref(mainloop); - - sf_unregister_event(handle, event); - - if (!(sf_stop(handle) < 0)) - printf("Success stop \n"); - - sf_disconnect(handle); + else + printf("Geomagnetic : [%f] [%f] [%f]\n", values.values[0], values.values[1], values.values[2]); + usleep(100000); } - free(event_condition); + result = sf_disconnect(handle); + + if (result < 0) + printf("can't disconnect Geo SENSOR\n"); return 0; } -- 2.7.4 From fc92ee62b12b5b4f6a2e8ebdcfd8ac15ab92c2da Mon Sep 17 00:00:00 2001 From: Vibhor Gaur Date: Mon, 24 Nov 2014 17:35:55 +0530 Subject: [PATCH 07/16] Updating accelerometer test file for compatibility with changes in public code Change-Id: I601ca6fb00d046fcf8fb38cfb17cd6bd7f13a2e4 --- test/src/accelerometer.c | 37 ++++++------------------------------- 1 file changed, 6 insertions(+), 31 deletions(-) diff --git a/test/src/accelerometer.c b/test/src/accelerometer.c index 1c0e540..09028e4 100644 --- a/test/src/accelerometer.c +++ b/test/src/accelerometer.c @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include static GMainLoop *mainloop; @@ -35,14 +35,9 @@ void printformat() { printf("Usage : ./accelerometer (optional)\n\n"); printf("event:\n"); - printf("ROTATION_CHECK\n"); + printf("RAW_DATA_REPORT_ON_TIME\n"); - printf("CALIBRATION_NEEDED\n"); - printf("SET_HORIZON\n"); - printf("SET_WAKEUP\n"); - printf("ORIENTATION_DATA_REPORT_ON_TIME\n"); - printf("LINEAR_ACCELERATION_DATA_REPORT_ON_TIME\n"); - printf("GRAVITY_DATA_REPORT_ON_TIME\n\n"); + printf("interval:\n"); printf("The time interval should be entered based on the sampling frequency supported by accelerometer driver on the device in ms.If no value for sensor is entered default value by the driver will be used.\n"); } @@ -64,30 +59,10 @@ int main(int argc,char **argv) return 0; } - if (strcmp(argv[1], "ROTATION_CHECK") == 0) { - event = ACCELEROMETER_EVENT_ROTATION_CHECK; - } - else if (strcmp(argv[1], "RAW_DATA_REPORT_ON_TIME") == 0) { + if (strcmp(argv[1], "RAW_DATA_REPORT_ON_TIME") == 0) { event = ACCELEROMETER_EVENT_RAW_DATA_REPORT_ON_TIME; } - else if (strcmp(argv[1], "CALIBRATION_NEEDED") == 0) { - event = ACCELEROMETER_EVENT_CALIBRATION_NEEDED; - } - else if (strcmp(argv[1], "SET_HORIZON") == 0) { - event = ACCELEROMETER_EVENT_SET_HORIZON; - } - else if (strcmp(argv[1], "SET_WAKEUP") == 0) { - event = ACCELEROMETER_EVENT_SET_WAKEUP; - } - else if (strcmp(argv[1], "ORIENTATION_DATA_REPORT_ON_TIME") == 0) { - event = ACCELEROMETER_EVENT_ORIENTATION_DATA_REPORT_ON_TIME; - } - else if (strcmp(argv[1], "LINEAR_ACCELERATION_DATA_REPORT_ON_TIME") == 0) { - event = ACCELEROMETER_EVENT_LINEAR_ACCELERATION_DATA_REPORT_ON_TIME; - } - else if (strcmp(argv[1], "GRAVITY_DATA_REPORT_ON_TIME") == 0) { - event = ACCELEROMETER_EVENT_GRAVITY_DATA_REPORT_ON_TIME; - } + else { printformat(); free(event_condition); @@ -95,7 +70,7 @@ int main(int argc,char **argv) } if (argc == 3) event_condition->cond_value1 = atof(argv[2]); - + handle = sf_connect(type); result = sf_register_event(handle, event, event_condition, callback, NULL); -- 2.7.4 From 0482eda9e8fa9fa309bb753310ec9218ef9d068a Mon Sep 17 00:00:00 2001 From: Vibhor Gaur Date: Mon, 24 Nov 2014 17:53:05 +0530 Subject: [PATCH 08/16] Updating gyroscope test file for compatibility with changes in public code Change-Id: I913ae44de5fa30ee8c4a91cc7a62a7ff93f0588d --- test/src/gyro.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/src/gyro.c b/test/src/gyro.c index 1b509b8..884507b 100644 --- a/test/src/gyro.c +++ b/test/src/gyro.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include static GMainLoop *mainloop; @@ -50,7 +50,7 @@ int main(int argc,char **argv) sensor_type_t type = GYROSCOPE_SENSOR; event_condition_t *event_condition = (event_condition_t*) malloc(sizeof(event_condition_t)); event_condition->cond_op = CONDITION_EQUAL; - event_condition->cond_value1=10.52; + event_condition->cond_value1 = 10.52; if (argc != 2 && argc != 3) { printformat(); -- 2.7.4 From 250a4a7c164ffe8e7738680115830417e4058456 Mon Sep 17 00:00:00 2001 From: Vibhor Gaur Date: Mon, 24 Nov 2014 18:06:16 +0530 Subject: [PATCH 09/16] Updating pressure test file for compatibility with changes in public code Change-Id: I7f70f6ca7ac5641fc03e6fea9b8f82616e6a875d --- test/src/pressure.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/src/pressure.c b/test/src/pressure.c index 112c016..0ac4e6d 100644 --- a/test/src/pressure.c +++ b/test/src/pressure.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include static GMainLoop *mainloop; -- 2.7.4 From 27d2bd82c873ef1f8b25356f365e32503c22d527 Mon Sep 17 00:00:00 2001 From: Vibhor Gaur Date: Tue, 25 Nov 2014 11:20:32 +0530 Subject: [PATCH 10/16] Configuring proxi test file by removing redundancies and making compatible with IIO interface support Change-Id: I8a38fcad95460b09cb8f78eb07d61f5521b16541 --- test/src/proxi.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/test/src/proxi.c b/test/src/proxi.c index 1bbd23d..7ed2d64 100644 --- a/test/src/proxi.c +++ b/test/src/proxi.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include static GMainLoop *mainloop; @@ -86,10 +86,7 @@ int main(int argc,char **argv) start_handle = sf_start(handle,0); - if (start_handle >= 0) { - printf("Success start \n"); - } - else { + if (start_handle < 0) { printf("Error\n\n\n\n"); sf_unregister_event(handle, event); sf_disconnect(handle); @@ -103,8 +100,10 @@ int main(int argc,char **argv) stop_handle = sf_stop(handle); - if (stop_handle >= 0) - printf("Success stop \n"); + if (stop_handle < 0) { + printf("Failed to stop proximity sensor\n\n"); + return -1; + } sf_disconnect(handle); -- 2.7.4 From 89abe0c89149c0c9b2da843c83c6bec7700952cf Mon Sep 17 00:00:00 2001 From: Vibhor Gaur Date: Wed, 26 Nov 2014 12:03:13 +0530 Subject: [PATCH 11/16] Fixing build issues in virtual sensors test files Change-Id: Ic009931a0bac60f27cd832e089097c034e5721af --- test/src/gravity.c | 2 +- test/src/linear_acceleration.c | 2 +- test/src/orientation.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/src/gravity.c b/test/src/gravity.c index 48081ce..a055013 100755 --- a/test/src/gravity.c +++ b/test/src/gravity.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include diff --git a/test/src/linear_acceleration.c b/test/src/linear_acceleration.c index ed36928..5e157e5 100755 --- a/test/src/linear_acceleration.c +++ b/test/src/linear_acceleration.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include diff --git a/test/src/orientation.c b/test/src/orientation.c index ca9b083..1886ad1 100755 --- a/test/src/orientation.c +++ b/test/src/orientation.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include -- 2.7.4 From 25dac29563085e84c94308bbe436a3a02e03f6c8 Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Tue, 2 Dec 2014 14:20:34 +0530 Subject: [PATCH 12/16] Updating preprocessing and aiding system documentation - Added new equations for preprocessing and aiding system - Changed formating for documentation. - Updated diagrams for orientation and gravity. Change-Id: I913cd22de5fa30ee8c4a91cc7a62a7ff93f0588d --- .../documentation/diagram/device_orientation.png | Bin 35185 -> 37742 bytes .../diagram/orientation_effect_on_gravity.png | Bin 30634 -> 37993 bytes .../design/documentation/equation/equation_10.png | Bin 0 -> 2596 bytes .../design/documentation/equation/equation_11.png | Bin 0 -> 3153 bytes .../design/documentation/equation/equation_6.png | Bin 0 -> 3323 bytes .../design/documentation/equation/equation_7.png | Bin 0 -> 2114 bytes .../design/documentation/equation/equation_8.png | Bin 0 -> 2423 bytes .../design/documentation/equation/equation_9.png | Bin 0 -> 2643 bytes .../design/documentation/sensor_fusion.htm | 91 +++++++++++++-------- 9 files changed, 58 insertions(+), 33 deletions(-) create mode 100755 src/sensor_fusion/design/documentation/equation/equation_10.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_11.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_6.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_7.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_8.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_9.png diff --git a/src/sensor_fusion/design/documentation/diagram/device_orientation.png b/src/sensor_fusion/design/documentation/diagram/device_orientation.png index 6bc621a8f90b5ed1b6155913e6af375a6c36ab4b..f6520618dbd3a927ee54b5dff7753357a7fcd34b 100755 GIT binary patch literal 37742 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 DV{}5$ literal 35185 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⪙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ΠaOX0X%%+Cen+|o}2;#0$g0z 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

      Z0 zk^`cIE$%jlHf8k)J7U+LHs5iG<-?NI@HSjQ&NA|@0hdtI9rc_?%2JfL|F=#E58wpD z&0npf^18|0DhMnks(y6gMdV0P7i_RD3=j>ZPj> zZ&Nr?Cx2+zpf|4_HQ+|i^xK>X4sT!YBfltR%p4HZoOpm5z_4UkSYTzPynHR|wbLc| ziuM|to;$PHDFYaT-n*ihi#6I(_w|l&Yg+G|As1&SA=42QW~}LWaN4OWw?2o2<3_CU3M>t;RYTAXG=Q(z1gfznmDw&i zvQm`;%3J-XMaM2U!8ZQYPJ8h3O!bC&h2isbEe!o&)k-)LfyhjxgnBRgt0S%}xkcxI z%kiAzjBCQc#*ajE5Q@}>9CR}69R?RTf1N3Zo1ATG z$b8*L{lz178XVZL0s!C>4eSm=u#bWo^Ktk44pP+PIk#;=OkL2Ebe&4w%w!Jsh33B9 z3V)s^{A6y|UhP8`EM0M`d}?zMtde|fEqpTn|8x`9TM+Ok8lUWz^A+jrwonN89SsQa J=lBt*{{h$#OTqvE literal 30634 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 &O^fX2g)QVZp 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 literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..cadeeed008a317ffe649a38e41949c630479bb19 GIT binary patch literal 3323 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D43J4gK~#8N?VZ1C zBRLz#{cpHVn=ai|uH2;AW}6gKxY=Th7p@p^@xm1gZ!r)!I5;>km=^*EVPN4{SOUYs zOJFg$IJm;NJ3?@?#bI28WifdrJ(?NK=+Unk$?GKgbg?HINzYf`N2Ae<2al0RBoc}A zASRMXBoc}AA|{eZBoc}AA|{eZBoc}AA|{eZBoc}AA|?_~?AFC~mYmPld;UR_FGYHh z&WiO8|2h&8*shD;vt%+`KkyG)Y>RZv)WrXe95*k(9MD8!((#L6zb*dFM(dV;pk%*W z=jrGyxxC$Il(63{=jmveTrPA+9S(!IBYv?qi`^r~sX8B*E2=@2+WH_D{_ZIcs@0ORN!Fjg)hkx*W(1@Ef`HxvT<~>AWkYv|L z42YYMzN`-$jMABpP>})kUW^ev{RbpQ;iN)qAeMZZWLHSZ9V%dB7W=>R$=PUnW7m>@ zmf87Wbh$j(Ocpf07=@GyjiylY<90QhNG12FfZi;0iDAEVE8t_H(l*@HU}EGA@}H-Lz)8- z+eI?_ORihlz0y3JCZ2OuW5q%N2wFH%#(n;FNF1usYg9ld zcHYOvFgo~I$tuBtR^(ho2ZrPb2SY7x*38!6{8FSpG^$G7gqZtewi0`e9CqH<$60p` zC%KT{*dT8XwvbX`!?+bq8mz`tpmzn7X2D8UnIlX}|-X_Mme-Z!s<|w z_(i-_05=OrWA3V8KHK|p(113{;j#1O^+5|)$lf85JV|q)`QQg+q|?ub$}B=*c^8{c zREb2RV>D^|B52_R7MQ+MHmGFVWSN>f)EqDE5a`5hkw~z)p)XLsXcAZ|=0xJF0+?CA z*}L@Z0jx)#2&fG~3n!rdU@;bI@Zo&K<^Z!vIhyRE(|D7HngCM0GLdL>%m-M| zX<)F+5fEIj%Mk`L?^CM{8b!ec(N$!9(ViEU?`dZ>m#r$Gy+JNVC@>ppuRsa}mP$F0 zq-CoLZxukyLhX#u?G%M?!T}*yx1iz5B!^YN+qGlR!ttg#uVJ{D0|c6d6Hm;+%|Q`O zu0Ug}*}uzDl>1a+Y^y) z1T7r##NGOaPRA{u{HTyemi$Qt^rw0lhBXI8G!d&T<=w6cbXt47n-U2=sjt@4`z=!j zEu0jDcSN}q?sns(gI3hudfbVGAaxz6M^Z?6W5e@}6ImF6r6M7<*KY-!5(zt4J?YW@ zuLtzyqqc&3jXOaLFJs!80iYima54w>m8Sgfm`GYD#Wj!jf44-!jmBk0j}f%+vK%QS z-Gu0*6*vX@6~kZ+1c-7 z`Y=`;UELI-QmDn5poKfRrydt`fbuoN)@%;Fz~zJwWKI9Ko7VA)M5`@pf)-8+VuM_Y znL5Tg*nc%TS~9x|lU7XD5C~PnNkcAhVbx7gj9zpoIzoG+U4kUm;5xi$bxS)&ek&lE z1!xts4}9DT7!T-)wvD*dL212nThPLJpDQHoHaBuG2jkc`9?%y&QK2eg?Lzxs>K{lX zMjf|$1Y&8eT@VBk8y|(MV}_r%oA+UwR)!o8RRxSp4-UH9E@XMIsgjS{fjG1Fp|<($2KcW7p~9RtJbVOvKV+GQR|rBdad`vRohzX z*tc%+!;7s11@OK=#+yaq<(^c&jR!iK@Fw4UV+VjBP&6I#w_R5Iy99~DYq4_Gbfl!`NAjvoEI|0coD6DR>Dq!r;&mT66 zUy&EJ8fGm%P?`g`U7>te=&UWKo-IoK55!yMpY6!E+}Ry;YnR=#(0fcntTQ!koc zndc3>e>^4<)=RR|xLc0Xd_`psFX)tSB-6$sl_?X6O2-U7wgLK{*W1PQTj51jclqSU z{O(WIaUWL2yJY%ddHuEyo>GVuec|7hm*?4M;$g!>V`P7D8-PvqEl*taSE@*2V4h zWL$T|w`Fz$9tzJfpc_Kakxu}vOQ$aP9pM|XX(TXZ9{^O`^hLH;8Em=*RIl>o4hztC zx-Ax0llmP~-!}P=lYF&eLb_RfoF?yzPgyu6ZOG=}Kamh|DqfM&aLaKzmmk$(jn%#)MWthVAZGGz zD7Ldj`Mk6pV$P>ME4(<2U4JPbhqeWTqI#^FjeIl_(z83gepUPOyWl7?pI6|54B5!! zCsHPYOT_|~MU+p-D`yh!+HjU%N1{1AFLO}l0|WFjZiH^ptP@H9X3+dS7-h>=zkMmP z|K$9=+?~10lM@y#+6BUUE6JZfPvKguJ23rG2?e%zs$M|@BD36h4zo+s+iZez0PA5o zILVfMM4=ukZ$rMa*UsfIqPIT@>?-%KO~I~@y< zD85efn^|&^E&qh6!RjubOyqlveV}uV;b4>`ue?6{20|%al@1l*_6hmc;z!UpyC?Ls z%y!~-giJY4)9cT4&T_lX-_V8W)rzi<^V^;WBal?ga9iPnjot@t{NRm)S!|E=H`}8* zJU4S7*IU>Qjy4bL`MdIm>~N$+LNV!B1nvd#;ZZ*5i{E4H1>XwQUSsXYCQs<(S)|(U zLDXsav&>HugScIRMeuTi99=*oGtgkyJz9cD#SB|uX&~$A zgv|~Pv>Y6H(nP7eG-AZRKS!QO$UN>mE$*36{7+;e&xk0Mmqv{E5pmp!1TKx~p6icK ze@!3~k|>pzMvV9|@l=+!B9TZWa-_sW5{X12ksdrg{vQY95#WG`#0mfa002ovPDHLk FV1nE+J3#;d literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..a2f76b2c60a2fbf8125ac621b688c8025e5f472c GIT binary patch literal 2114 zcmV-I2)*}-P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2iHkNK~#8N?VZ1C z<46?8^>3(7n=YLzRchR%*~WzmH(P9Ru!X=yV2kSnhJ%HJ1w#mIwFnlrIRfIEZ4BzR zFzS{gxLJ8BwZ(ee+tIK*&@x3lvzc->(8QOo&9}8tdr^W{T!=-?6R8T!tJH~p&X`P0KPzG-pVL36Tm zfMK4Gb#fd0ex2NBe=10m&(mwIr4`Wll83wSjcr}{(U0svTYg0Tg_R*KPBjb8O;is{ zIq#xY>hLoThL$sp*L~5{^e!CRmhDF!Rt;FzokVx7I_CAu znYs0Lri+=ocS+4jzlY;8hUp(dPu$nDMIO_x zBA+a=f<1{=WK0js=$+FdCR6zm5z~!4|Bch#mkbk4ZI)1y*xb%Ag2$aM>7>Nqq?hfX;Lte~`p_Z2*lM_@8cs$17)bsOGnU z?@Gf}6&Q6IoS%U%w_952Ie~@6WibB=x^JrQ=q=2Y^rdJ9*|Ba(>H4h;|yXSH9Wq}6zH20kq4jpML%8s(+5Ah@j7e4F z1fph1G_69O$!P(G=LQ%06^Mn!Z?16Z$~A-zdFrMOrW(5bHuKIcdt7%XkX?0b<9%$N z0}RtEXl3813Bq#E>h=P5q%T|dCAh%BOhQ**fAKn zUog2RZ)9fydOqOBV1}xTFHxm#@-YDvp*o#lv<%AJNhzO}JCbX&MG4OVhUppY0@Hee zi$FWl%2&;oK-f6S49_&S&48<7sZvM?+pVao#x4q*q0k+*+5&A-J=n-*IxP+`&zKkN z5Fk_A6gt@8oH|@CcPIISQshWBf0}SubAVxvo|c9n47Qfw0-B3ge2Fm2(RPnTXTTan zYX&HwWaK1;n}g=I-K-<3sFSYM%?&&QpqSg|A5c}z0%UEGhLuN$%OSZtxsAVcbtD3w z0}RtE^k$MH3{8^Y0veY!C10`$8?(Q=`4T8aE#9>LKibSkRW;W*T{EyYWefMJBh^PH zI*7Zr2n>s+YaK3^L+(V-(UI^RV3@wq#^}IUWC<>yF_%#ECHUK}I>kK6V;r2}K`&fp zhpNCOvm$x;8Ggp?R(uAao|$Q^Q==pJFLn3!s3Z8u1a_-TDHzYYe&&V$WQR&MFUe9{g08-V=K#a>j5dNG&XFd#fcCzm{ zTE4zcwT@8z>c%t*u7HNP5koP8ZKpx`x)h;T8uPdeU#oAh=Jq$PSg~y7-n9W*j;XCA zF7BO}aBy>gVUC_g#Xu`lB)9}khPLq~)r1Tp^CeiLJ{+c;I6@MzeKbfOBsSD3b!kB3 z=(HHVUqb%0QmMVvm`XSCpi=RrMGzVjX`D_po*?CU_TG68FihWQ465J+Rf4NU@ywUd zkE?5jN(NlAL#lB+i@pSyQm;NO3PsM!I&xlcQBrYis#7TkjiGnf*nBte1tIl8r(RSv z6kF(hh;FBz7-{R=o0Wb#q>Kenpf&5w<`e3a9SPCJo%DMS;E;+7y!5PKm^}lQs99JD zOHn4cG6U3F4fv8wFKXxIFHI_%Jz6H1`uq9v9__!F>&G{@Xx2fLKe39+BGA_f$b;5x zta`tk|2erf7u;V#dKXQESk+q#KNNy)7Tbd@%-?TF2f}; zzwfg-h^QiSB!rH8dDU&5R!U}Z`@6qce+a5a=gtnEf?`Hiia$q^eJA=AyDbH#Hu zHc$FR$W)BVW)x1))tN&=T+P^!Y=Hs=VO)FHEVbullN*^M0ZKmU==kJKEY`mibsNZShj+l?t-Z|Ylz%Va~5Sf9w zMMyV*s~Gu`a+F7L;;!*s`#M*P*|_buD=2KwzNKS0pd<{P~qC&6DyyOq7+ehI@c48zo5U&1g9 s!|V$C5{6+IW>?skFbu;myYck&KVL_RrUySY%m4rY07*qoM6N<$g0iCcVE_OC literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..cecb2a64ab5c401fee95375265da71170eb47255 GIT binary patch literal 2423 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 literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..ac27db627cd6c805fe264a0b22291cbcde426fd8 GIT binary patch literal 2643 zcmV-Z3as^sP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D3Ft{gK~#8N?VZ1i z+e#3}{costd);+csZw*zHECR^aFZg%gA@W6ffVTkt^yANh9mGGa0mivfAGgYoP>AN_bE;c{q0fp-{3ecSL z?*rqJcb|ErJZ2TicAF&fkHh)rZG%Q++x234acD2he@yk&$hevtU}9<65E6~YENZs8<4tZc+bn{5ZQ11_FxmfJ=ws3Y=sxqv5DqYS zy0|RD@9WFO)bnS_MjW9e&A1vB{o1B4eZwGcRuM5hCSml|$yl2UkPFi7xi+0sKEI421)(#4cfG~O<^iUB$41G;;@vre& zI1$=xQ8NYvN7Ll1&N3v)^)Mp4PG_E5`)`9DCOw4iGmi?0zy0!v#aO43Yr!MRxD|46 zrVV`>R0PvF{(QB5qY0+E0PgrCx_B!h-)ho{YJMI^V$y1pT^)eM#96%h3?AQBMNlW~ z^I*8Na?5xO3Ej(2Yt4eG6EHr!=;A`$7TqX`Ucsu?qMPU_9n6ADB8$6_U8OHxl%l5! zVtM`|dVA@(QtV^WyXro}3mx(mU%u!wdp$1XL!t-izY+RD&uwSa%L4 z6#-u}o+eir`CJDTA#b(V+$hrwvPn?$4~WH_rXM9N{c?4hX=I~Fbp0#!6x>XLQ+XZ<`Q!5x)AAQ(mU-w z!}Lby#I%B;9iMox=5Gxu0?UPoEbqAVhU;M|Y+`<4i2G0gT*XNM`G?#JmCC!JHCaxx zEVY}0)+-%wkxyJM$bzm5Bk14>l&bV4m-dW?PWNi5879?fuFa_nBqaXJ6qg+&A;q8e z^fc+6cb{Q;p&fNJP`gNre$Z-FL{vK2@1mf)vG;nS5fJm{As)4+IOslwKz{a*3N%WB zo(?Kv>a3$F1_Ii4mM0~f{g)Z&0`|S!)8Zf*$3m5xn^C^?bzHlU3(0c*p`V2GH|c$J zpJCiFj7eBFfNRTt`A|IdtDdP_%IH+2ST4xF-CXD1F%|9pPiEdh035tOqCQ1xNUTqGkt|G#xoI+I!<@oew9gp!~m~7=C6}XrzLbK&KO5Wq9 zI>vqE!Yu0)#XyJftSaR-&2AmjDNmE_jXYMNK}GVWnpQ~ns3J00P^sL`b{m4C=S9#C zUX(23;xX|05Xq|?hsig2s6wMFL~|(vu7tZAm5D4t9~BwEr1#T(hH<6A`;{>c&Mqoa ze+Wz*t9g9EHVK<10IolBZ%d1y6aQo%_h~0sOPw_BF{i(W7CMUG|CWSfv#)QkqhYyM z(Bc;aWc?1$SpzP*2VNz0EJ&7HWLNBZ>h;cVXo1O{&#b zG?x-Xl+ZQd%+9WFNx7ay0D=Bxd}0B62V3|f{N zU2ecFP=CG~A^%m?yfzy`k>Wn$$>pbJb>V`PmherwoTD|5!o`=$k5`S-iv`W{)8T{~ zRS6+ngk(6A4%mHpbt{7~j4j~h8bV=w6-s@YOVHoehUi{J>(d z^=kVQr&&2~j&EFPh}mU6T6t+iW1ZPmIulc@=E2b&K&ib)plJ^k!HdRF7}TUT&U}*- zf#cbBHLt(w(%$P002#BcZ7BKB&2oFX*w7UG=6g=ci($xs@{O5Pzp~+^A6O+#`ng^G zJv+D6>>4@=AuNStIFkZ{b)Qv)xf5VW>*gJO*WgHcPI*v4UskHfe!H^zhFv+biDH)0 z45@6%7E>#C;(#t}r?QgL2@Q2h_XkvdpIoV`ct(v@C;4)W&QZ5U$zRm`X?`K~jg~}< zhTjI#-vO0dOMN7~{Y%rD?u+z>SVH5cDmS`x0v`AB$G+*h>SGHSXVfi|H(qZ|8YedS z9HAmnY|;rafV;f`Wk8ckhU&h&1*{^>?NZZPifE7WZ_Js^g^FUrtvR%wG}~RChh4ufLUE;byXoO@8}|ieBbQ{#ZR*y- zly2($fel*oJ#a||I-B$`yU!dh5XYQ$^L_+6OnBX#ri6ov&<`@urNaI}=(DD@CsYpXTZgxBU+C8o=qrhE^(8}ALDcx6N8n(-yM7Dz1v2#> zeQreH`O({Ti|;$E506`$l)t;q{82z`)a8r0|IFf#4L;CmUxZ;8hG7s^5r$zH#vN7> zhG7`S9aa&BVHn08RuP6_7{(n|5r$zH#+Bc{{|6!Wtf?J<$=(0}002ovPDHLkV1lr= B5C#AM literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/sensor_fusion.htm b/src/sensor_fusion/design/documentation/sensor_fusion.htm index 0ccfb0e..eb31730 100755 --- a/src/sensor_fusion/design/documentation/sensor_fusion.htm +++ b/src/sensor_fusion/design/documentation/sensor_fusion.htm @@ -1,16 +1,17 @@ Sensor Fusion for Tizen Sensor Framework -

      Introduction

      +

      Sensor Fusion for Tizen Sensor Framework

      + +

      Introduction

      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:-

      +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:-

              - Bias: Any non-zero sensor output when the input is zero

      @@ -30,7 +31,7 @@ mechanical lock-in

              - Quantization error: inherent in all digitized systems

      -

      Sensors Used for Sensor Fusion

      +

      Sensors Used for Sensor Fusion

      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.

      -

      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.

      - -

      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.

      - -

      Orientation Estimation

      +

      Orientation Estimation

      @@ -73,7 +63,6 @@ to determine the heading of a device.

      -
      +

      Preprocessing of Sensor Data

      +
      @@ -91,7 +82,7 @@ Estimation.
      - +
      @@ -113,14 +104,48 @@ Estimation.
      -

      Driving System

      +
      +
      + +
      +
      + + +

      Orientation Computation Based on Aiding System

      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + -

      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.

      +

      Driving System

      -

      Aiding System

      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.

      -

      Noise Covariance Computation

      +

      Noise Covariance Computation

      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.

      -

      Kalman Filtering

      +

      Kalman Filtering

      @@ -152,7 +177,7 @@ Kalman filtering.

      ,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.

      -

      Determination of Gravity

      +

      Determination of Gravity

      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).

      -

      Determination of Linear Acceleration

      +

      Determination of Linear Acceleration

      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 -- 2.7.4 From a9b1209852994ad08882d338409b715301412eec Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Wed, 3 Dec 2014 09:58:05 +0530 Subject: [PATCH 13/16] Adding document equations for aiding and driving systems - Adding equations for aiding system and driving system orientation estimation - changed equation formating Change-Id: I913ae44de5fa30ee8c4a91aa3a62a7ff93f0588d --- .../design/documentation/equation/equation_12.png | Bin 0 -> 3022 bytes .../design/documentation/equation/equation_13.png | Bin 0 -> 2716 bytes .../design/documentation/equation/equation_14.png | Bin 0 -> 3297 bytes .../design/documentation/equation/equation_15.png | Bin 0 -> 2136 bytes .../design/documentation/equation/equation_16.png | Bin 0 -> 3392 bytes .../design/documentation/equation/equation_17.png | Bin 0 -> 3359 bytes .../design/documentation/equation/equation_18.png | Bin 0 -> 3165 bytes .../design/documentation/sensor_fusion.htm | 58 ++++++++++++++++----- 8 files changed, 46 insertions(+), 12 deletions(-) create mode 100755 src/sensor_fusion/design/documentation/equation/equation_12.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_13.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_14.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_15.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_16.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_17.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_18.png diff --git a/src/sensor_fusion/design/documentation/equation/equation_12.png b/src/sensor_fusion/design/documentation/equation/equation_12.png new file mode 100755 index 0000000000000000000000000000000000000000..700136aa033162376cc8bde58e84af3f32ebb152 GIT binary patch literal 3022 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 QQ~&?~07*qoM6N<$f+G6aT>t<8 literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_13.png b/src/sensor_fusion/design/documentation/equation/equation_13.png new file mode 100755 index 0000000000000000000000000000000000000000..3d11c260c253ae5dadf9c1cbb45dc5e27488fc16 GIT binary patch literal 2716 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 literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_15.png b/src/sensor_fusion/design/documentation/equation/equation_15.png new file mode 100755 index 0000000000000000000000000000000000000000..1a08d95559d5e400f0dc3e8f96ac03dce8e34a83 GIT binary patch literal 2136 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 literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_18.png b/src/sensor_fusion/design/documentation/equation/equation_18.png new file mode 100755 index 0000000000000000000000000000000000000000..9ce277439fd86dee2502a93a367bd60bd1c13ac8 GIT binary patch literal 3165 zcmV-j45IUiP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D3-U=sK~#8N?VZ1i z+t?Pz^>4VIcDi(1sd6*THq&gO!cB@416vqWJV>#SLf|S82nbAIVIc?tkHBCM3(LU6 zARZ5fU<4tAFsKPjFlGtEAoA`#=jzwhy|N=b6aV;rs=XP9FEUN(Z^gJ zDOg>HqbEU>Wcm{Tfa3xx0&L`~#nd|)g^Q&+ptD?rqZ4nsSV2huI9{M4`#_#0)3NI? z!|`$*3$KUd0><xwK*>S!k!I|UK ze1d!t4hN1GW$N+$AkT6#3>WLgLAoq;T>$_b7f_L%CclYB17|RftJDOmNEKANAEY*% zc+n^IQ1U7APAH<*bWmtM_dOi|z|H~{*=6ps=&{p?AgQ2|$rs_lg2z$TVbUp7<(!A< zS9QRM%zwB+(#&_zsat{})dea7z|jH~*=0V*<42k*m=Vz_GCVDzZ!? z-&GY#R`P5<9S;ZI^Lciw4jlsIThuC`RGMTI-4ve%9T~X(EX!|iq9+6P74j^3^EOF- z_oS>0{rLSNJXgsT=})jcEYtXs#)ya4Y5dnBc{wbjScYte#nC}_9e^EVmCl0Srrm+- z4an0slXY7QEGn`}MR|GBQWa4#C4 z23dA>$-1w=u`g{i2YC+K7^MO7sY~*@Bj>M?qC@Osc*fsKO<_|~BmA6m24{rVW8!9O=XPuq{H&+q>7L)!v3O6o6p|G|CUZ91)%iLL1n_PKE;7Azh|s8 z&*JN;H#CL~(Tx#+J%S8{)li#N#9(QS)QzPA>Fdnl34|&M|0MMVcrq8A#;-x}4 zq>XpnUjyH_Y^$)of2krWxM9*UWpnM0(mk+VMQq*%&$dI50RZ6eSR011tB8Q2VZ3%8 zM+;*X-RA3*D#9l)>R5-s+#6jgLQ}PR2@kCz^tprkMSa!)04tp$A?X;fT!a^+FiGV$ z5AlOLHAS?n@v7qY$$1Fl2|Ds6T;wC^?f}TN`+3;uP!W2{?ij%r0RS8!y;Ve(>lYA zM5}F4m5{Wo-@1sFO+`3Z*0FJ&Uby{ce98f`)o68mQfmhQ0Knm~b^&cv5o7R%tf+2& zt?yq(oZ0wlBgoTfyEb{2L}iyPLHR1`oG1>6(|@^9w+fe2xh-ye!52`rp`{n{hI`%J zv55hF5T4?*G_#!6rtNS8GX_3_Omb`JjZ1yKxLJH&F z%GYyEm};`ig~n=Hc{&~WvrlumKiVB$Oy)OVgm$T^)EaW+i>d!&F1yK!C*LiT7k+dt z&aF+FuC1kem5=f@o4@dsm(dpjYU@zT^&D@8-=BkP;j zR79Mm;bWY7!5^(wzU*>28^d%TxSkqTO2Ft9vdT_}WkfRYAbOF#0 zxgx&@8z}o@otS&$npMP@Z(*n+OEra6Edm?E%!OEO7l8s?tVXhv;4c=bpv26E_ZQ(% z+d6|g_`I7JoIWV*=SMJg)QsG1{HuvHV(?!;ceRejsv-_xWutMW>lCzjc=RvDh6TVntK zy8={XE0nGk1&-JQP$dQ`d*u2v;f1M9q0RCH)wM>x>Qs6O( zoj+UqnKJxX8DhRqmB|<3h?7&h6QU8mQk!lurdjdKH5H+QHc2BXa)aa;Jxl=h2&l+b z;F7b_I){zU|N|VY~xLknON0u}XmNzt%4|q{uz8js_W`=3&Oj8v)H9)VU>y2?% z)+@D5pDr9K0>G{V71;_MDxz6W9$9(=R@+(~tlwPSs3Nwok9=YCy&FyvL#Z>0n-MH; zWmfDwTzufp0`gUN>?Eo8%(E*B-<<`?-)g*?iE&oeE7gycKt%x92cRNbVV#Op%m049 zh)qR0BU%U&PzB?*46rlHTOyr|)LT5kO5)(KSl0< zs%K~TM>zhakP222;Ys{c>?C!AIEkY_%K!A!I2J5;puF^OXylJ%RyG>004l#eEar)R8cWc)>G;q00000NkvXXu0mjf DMW6C( literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/sensor_fusion.htm b/src/sensor_fusion/design/documentation/sensor_fusion.htm index eb31730..af5b786 100755 --- a/src/sensor_fusion/design/documentation/sensor_fusion.htm +++ b/src/sensor_fusion/design/documentation/sensor_fusion.htm @@ -76,37 +76,37 @@ Estimation.
      - +
      - +
      - +
      - +
      - +
      - +
      @@ -143,15 +143,49 @@ Estimation.
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +

      Orientation Computation Based on Driving System

      + +
      +
      + +
      +
      -

      Driving System

      +
      +
      + +
      +
      +
      +
      + +
      +
      -

      The accelerometer and geomagnetic sensor data are corrected -for noise and compensated for static bias. Accelerometer is used to compute -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.

      +
      +
      + +
      +

      Noise Covariance Computation

      -- 2.7.4 From 021c5bfc000e41972f8c412e51b171e76cc3650f Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Thu, 4 Dec 2014 15:33:36 +0530 Subject: [PATCH 14/16] Adding document time update related equations - Added time update related equations to sensor fusion document. - cleanup of outdated section and diagram. Change-Id: I913ae44de5fa30ee8c4a91cc5c62a7ff93f0588d --- .../design/documentation/equation/equation_19.png | Bin 0 -> 3202 bytes .../design/documentation/equation/equation_20.png | Bin 0 -> 3358 bytes .../design/documentation/equation/equation_21.png | Bin 0 -> 3571 bytes .../design/documentation/equation/equation_22.png | Bin 0 -> 3717 bytes .../design/documentation/equation/equation_23.png | Bin 0 -> 3544 bytes .../design/documentation/equation/equation_24.png | Bin 0 -> 7122 bytes .../design/documentation/equation/equation_25.png | Bin 0 -> 5455 bytes .../design/documentation/equation/equation_26.png | Bin 0 -> 5784 bytes .../design/documentation/equation/equation_27.png | Bin 0 -> 8951 bytes .../design/documentation/equation/equation_28.png | Bin 0 -> 10788 bytes .../design/documentation/equation/equation_29.png | Bin 0 -> 2577 bytes .../design/documentation/equation/equation_30.png | Bin 0 -> 3520 bytes .../documentation/equation/state_equation.png | Bin 2183 -> 0 bytes .../design/documentation/sensor_fusion.htm | 76 +++++++++++++++++---- 14 files changed, 63 insertions(+), 13 deletions(-) create mode 100755 src/sensor_fusion/design/documentation/equation/equation_19.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_20.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_21.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_22.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_23.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_24.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_25.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_26.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_27.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_28.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_29.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_30.png delete mode 100755 src/sensor_fusion/design/documentation/equation/state_equation.png diff --git a/src/sensor_fusion/design/documentation/equation/equation_19.png b/src/sensor_fusion/design/documentation/equation/equation_19.png new file mode 100755 index 0000000000000000000000000000000000000000..54f1152e6250662c318e4a4dac431119f90fd3b9 GIT binary patch literal 3202 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 literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_21.png b/src/sensor_fusion/design/documentation/equation/equation_21.png new file mode 100755 index 0000000000000000000000000000000000000000..b8f35d5c27523ebe9f798349d5b40d9a8733569e GIT binary patch literal 3571 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 t>dnU^e9^mTUk3002ovPDHLkV1in~#PR?D literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_22.png b/src/sensor_fusion/design/documentation/equation/equation_22.png new file mode 100755 index 0000000000000000000000000000000000000000..4b83e16e27ae8926102a0e810fa97bb1058e13c2 GIT binary patch literal 3717 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 literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_23.png b/src/sensor_fusion/design/documentation/equation/equation_23.png new file mode 100755 index 0000000000000000000000000000000000000000..fd7254dccfb547bee8abf8874961b69843e2a800 GIT binary patch literal 3544 zcmV;}4JY!6P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D4Q)w8K~#8N?VZ1i z+sYQl{cot=cDwCTxpK2jnr*gF;U>lHQV3iGZjnx42m}HP0uu-Xf?y#8f zlhwkTj2zcrZgzN0!EO@;-gtEG&i_bKyfzTuLicQx#|;zw*FO(@F2KYKKE}xd{>x%{ zJp4?;XE@A}XJPUa|7kIcG>I24ecg2KaMJZ+HV@+pbyA7zk4 z*yj)A%#YDiCZUVhfXs*H9^d}eC&e!Id7M**#64jjiJ#mpEi)!f__FE6a@DPH#@-FN z5r>*?0sM3;u11n3f6U!0Z?VeB;6oCJzI%>C#PvVON641VB#4hAoVz|z(t@L7pFGx2 z{}kf7Tlw(0lVH=_Kz4ryq%-4rEH^d~@{!|3MSlPu+!_0;M&{9oqs5gp|1O$M=sg@w zX38o(Joq`(+;%Xr2T{soj6Vpw&5dAohM71)4Nvsd^BEaf{_twptr zLddax&6$=nfd^s5)i@3d>_E13FHVza?%%3&jjC0%vbci9X5Xato~W<6bzqvjE|*TB zkZ7DQj9q=j0pxb7ClLdRD|nf52rm`a?5Z(KmF4{^0w+Dc%frWWVZ6!2wMNW0G_ssL zZba^D-9b{dl(Hreqn~);x}ST8PNwio`96yAENocfV8zumWaB{%78ofOw#aDy;JYM3 zV|#HFAE#8wqPQ|^DSVSU3SfC{(gz3(=}cTqb>hfWPdcmBmoVh`t|_kaETUFi^@)g6 zLb-6oN0l++N~{I8j^v92MRCO~E~lNk#~~-sV`;rA>gs6+4xkFDTiU{B#nmt{=&aBb zgl*y~>@dvW&TWrsN2N4mrxe7MNnI&bt;qaP`1Z1~cjLQfvNTkcxMH&^oU=LNT5INt z@k-4lffGPEjWce|m4Jtn=eOnJPvVX(8}#_Z!-lZUhtvmu|C~{_AG>@hvmc? zfn#21f-GO%9jcOPNy_>tthgEmuF%yG*YB}^U9T(v>ljqSsfM`HSXeegRcD6D$MUmL zPm&jlI3(iA*Q$G}^=JpU3F0ELY_-xnOzZ`QH4*_+MnbIv zqe9|tB*VTtAT=!sCR%!|R$L9E=FFAo(LS_KLrEBocy*N6U9|+ z>bMSC6|go(8FOx}_HedHjlNCEe461~(gU8_MYrEMs zHN{odDSgYeU2X)Lgg7kulgb_n9&D0jN_Ys^SosQpV*$*|@or|LbnhH^q~BQiG|vvT zKN~{a=N72Z04uJhp^`cdofA%yut%d_z#uhdgUcp$Ej-BtTCF-m1;D&|Tq z`QmH&bYl=FX&jAOSmo53^w?Jg+ zkZ}$13J{11En9M%PZilv;U6BoD zF)qx|cZ#5CxxUNC!6#w)Tn;VKQZ70$+r03?W#GMOXOj%7T45QUHUWO_SF*d5-J*Ro zK)cX(vqx9+_C7dTT;Yuw znj<4Xx8T_j*YJrYm2-g$Wb755i20ZNuFdWsgAC3GU`QVsjqlDNkfN@Z_9Q>GWrJQ- zCavveSCq!BH2YW4DSgYeT|S2GCY(_L6QMr~@k##k^`M0f&nn8`XJ`ws-%ph z4v0pR*Uk3h=Axo9bp1uS`~p6w{!Uygt_A`ESxT$yr+-p1iP>$I`DHzNQoO>f0LaS7 z%s(q=>JC*LQ3u%0-{ZdcGL6#0^?<;KBe+PMcF6A@_-@teLeIb~Ekp2eAVP|Sq_&#_ zQq?Ja%e7tZ5jMsKi%C$Q{_*ZL>B6)j9#j{-^=4pLTv6<0%{fz(Ck+QHIVs&DBq%S*xM{)J{}8+qJb%26 z)61IDLs}TTGn#!$H+)Pd*#pzgYnksJd}6eRwTJKeU_Egs*+fB9sT>v4_aV`CO5bvA zmpg~)N4yF=pSCueI1;U$-42kF1#xwsKX+fXQ&e>T+jTH?_R7kt9BM{#R$NVniO#qS z9jWul{fR3BYWc3UvHULfpSu40sNv69v_lW#N`r}P3B6n=1gqupxoKe?>onMImTYUM zq$ezct@3EPZVry7Q~H)`yWBOP`uoCN+$=ZTnaS*K3{XD-W+G5ClC$D!Iy4}D6MSja zNfP6l&K5;aAkwqA8V87L4&%lvSV>9mdA`0SBu5c4QxT0ZVsl$LgF=xPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D8)r#GK~#8N?VZ1i z<4CuL``>WfX=j~nFjr_`S9Y^Z1s&VfZ{-CYX-d*0MIVJt!A$-5E~o; zgtlH}9%e8Ime2e*aIoL5KD`e{Z4h%{o|nPkBF39=`!~Pz&)?hd4PRDV&Q{TD7WV7KNZe~UTiMLv@73&* z?~~+eJo~Rtt7GPi_q)wQxCn-PL&;z~y9<9`ZDYSQFE88Ghd{U^!XX7jN?A60xZZIY`j8?bN%TxHn0I9gLKxpe@{}fIJ1Jf&1 z*U9*j8Z1#0y7D!zqL3vB96~El@wE7u(PFLd#HuFlKMB8-5v=|8aXubMwGLTU`HCR! zH00!EyL>0*GgW+H3avy4e5fS(w%_&J)JaA`xRwuXw+@4m>@X-`X%OviBjv{rCgBtO z+TuWHYeUU*45qeR=+|X%Eo8)+Ql>!E+rO1s565E>RbGz6|M1l`{|U$9X4k>;D_@Z8 zpO;gqi=)M+s0r<#mQ&k!L9un=8}4`O+p*0TaR{xz{V#oiX8n^-fITY29}S@!ZA1e_ zYV-iPfY8>&ezO=QLdiJ0)l8;cZJA+`XEV}GA>THbe0;onlO?pAJvQXZDP!5F@0J=q z82O7liEa~;=fX7?Dk0xnQQ`T5?-!fD_=<#{iQRPrb<>$PDrunrLR%9mW_9W%&&8U` zq~cU>QdjxQ^5*}i?&Fek5_?PJ%Gd4DwhMC7i~d&z($f0S1sv`xTroH0-p&8*JbJKpIZu6jCQYMTZA2OGUOKhM0HLh`O0i~`lT~QR zKD`-HRRhIhoGrAZMrm)9OR@af=>(@ABeJ4Ws*n=6gqD8z=~TZpu#=Q_(F8ml;I51V zHPNv)qMw7HwipoF>dBGVxDdtw|~Wu-JlBJ$9VT zv1PB{8T9*Rky-eyKfKH6aNqplyle~u;@Rn18Hk7NXsd=+-FSj6Lm-us<*I>t z9T(#aq17>HoWU@7AC_6nN7c(Gj37z5-8XcVaYc|4J7W3n;vU5LiDi_agL>#*8})Xk zraTbZim?|QrePJ-I#HwsDp5(nmTL(#Qz0X*iV?BwyJd+zCG4KKo{Q2HQ9T-riq}g= zc;C=Xyn{GW$7iQ|ZA6yd!#ap zzt=%{zX<+q|16SHd-NY2OyoN4q_-PZD0Y7?Mn>B($AX$}@+xvxmiN+9ZvA~h|jiYOARJtIek3eWE0=+PW(!#8# zK~JodgG_T^c+>#YiG899Sb)%01jSf=tj@8q->rVR8Gc98w0zBkqu!$B6||LfUysQH z;9L}&9qTm^+G=QV7fhv~lazBDc8~Mm!~d+_k37yV*LfA$>;ebB18^=loWLRMe)%*Dfl@vo0r8!W$UAAcPW#M|cg8Py`Y&2kY)NuGb+!pH$Q z2fVB~^-a0%L@q}NGXCF~p3&1(ydMHfOdVtVY0WXS0 zB@_Ul%Wz1G)wCWUv=zXe&%JXm0049Wz0(frp)!HcRshl|0DxYAX|h~EXitwW5WqTa z06@3Vg~vTF{PY2#Jvr!k0D!)LxFQb_+LNPmDJX>k0CXL_X8>l(vVhQ@9Ig)N<&kXw zfS$o6DX9I-0z!Lgc=JV+;Q;`8fX*Ewg_i+@_SB%;f!-ju6S^MQC5PtKSyEjdQ;Jc^OcKv5!s$?s5k1_*pEqh2 z3?^avM1i%gt9odfYH-uJ#vmXS{>&0YnF$%)96xZE448%B*^YDy@!)N%kA&Dn+E4H(k|OElVKkhT z*z1lCL^9o@zc!2SORdTv&9EK-Y!zBT&rdV7o&QM2)rE7ETe8kV2+4dh3O>ZrLPB@L z!Z`+NxcCMg^3LPS%(GH5gqHo#m>Vpv{Gq;9eVt>!y`NfqVV6Bq$aPLXu|q;j195s} z=a9XJtAx2}Z7r*8&l2gTkZ-%5gb#PJ_d11^KPR1t)9bT~CFpc~obZ+y`9Z}8N7VsJ zNG5fsUY^g-vzRHLh8{= zy3$0I7}I@Rp`_ivDLF24*mT0iqQJV;?gZ3x`nOk~V^+R1hiOKGUSow;sbf+{WTV8g zq?|XEWaOoyX&q}fRtD~vA8`n6Mp`4ouRk$mU0^;2wH8+(P4oL)Zdg!_A(aKVhv#+J z-Mjr$ILVO|RfbJs>=JCk@hU%dZ+1G4o>xAdwy7U$zoE|M2&^8k;0Td!FVHq>d?H^Xqc@W4gj1s-JM#i;%_9IQUUDn(aLqLxELjIXZUu&i3Kv^py91 zsb`->3A!V+dK55!2z7uqls=poYtL8W;q~gI4PR>u%oJMc_UR}`pPBE?PRBXDOXRUE zn&@#44rCpDbJ28W)y(EW_DYTS6QBWKy0bfFrk z$kfgI9AN7^blqrqRaE<(mkI(VYWj>sv}bVOuhg$~AbLzNe>EqKT0aY;$BG6DEhl^P z4OUrxr0BY@q?@bVCcC&e?_dgT_Kl*4TD8z-Wtn`Avw#fVJH$l3SWdk1*$1I@4;&rG z5J(j==Bt5v9TVdWq1D!xU=%FE;-&t&Z=cZJ9(^<%WyTO%Z@P)Su!^6lJ%JYCjjHK!czZB})`?eW`@onOg1^^Qb#c`7AzPvzg`*$t%+M`J2FQbjTMdi zAznF)p_0rtzgb%Pt4N7*3T;~2Q$nj}gPl6+`^21GkgwXOw_eyB>V>5aJU#~c5sR8~W zjT2fOH~PD}tSGi^bM*2Q{%e$2u5%ip)jDCfYQ0?7KQDDG+;R}wbHbB+sldyZ)$cOg zsczoQ4r_JX$PDeJ%_VhdCq3|VujU6{c(TTRHv!-9(5`yl|-%h;+f>CfpS>5?sX|!$hSlq-Vm1U#wc z^)qzt$7%8S4{c1iQ^WpLl56juO#>Qzb_kW91Uri!%u0 zeWS!X>>JT}{=Lg^qwBVyg&=b zhg+NyTK&GXpQX1xP8^ICJ>S?()eqB-TjUX_H>e{H)IH=6i}seZ+a!MtSGvqwkKFcj%=Z&`4`K)yH#i-GU9GVePjIwA*-+cHT(H>^d;o0i7%wS z<>7nKmv*=h<;BwJR@6Xa>jFTRNM)dtljuO;P!wXZW zV8S&`ds39EYVG9NLL05;aW5@Ua;V%}x#Z~8;=kqL2K0W@FQ%#KgLabsyKYW0T>Jsi z#y7PTZJFp1u$FcO;DnISj(_}d{EKfR4pqyOntpb&-)+KRDDGTvf*G^}Ews&DwWY%A z$`wI5ppH+;7FuB=RJf=!0J3Uv`ZiuE$6oOAS;(8TPnvcWLF)5U_`_u?zZB)B4u59m zpvp)lr7X^uq2kPT{dHIX90_Hx^4Sj8HeQWqe`K90q-LRp;%)QKJ*`ylKGbcREVS$z zR_W@g+9s}TwBQq3Wl*MHQ_wVmN7)yQWr9-HfNIN^AgL-m5 zAS(F0vhDFv7c8{rNn8VP1i~eMT`0S|->yC_f|1i#7O~Fj@$6$)%4>lYsyuD{@@VB6 zUPeW}CnU$6{X*-5-I-|3gOX2y=@+MFWTPs_|J@0BoISW~alidMA74q4zt31$q6@eN zq~BBM+K<7lM|F-D+EjfL zC4{Xpr7y- z1%&qGU~?z{Ku@4j8w__IAhf4P&sk*b;{^Z!9e_$)FS7Pp01(ls>OJ2$i_f;Yh-Au_24j$w#skQUfthp7n8o8HZW6%&_u5 zERk*s`L^px_;4pR$!Wj*Iq5^X^bV}W4)49>I+PD=T6Eb>o;y>~lFN*_|o0Do*t$b!E;*i80;B6-wIO(2_0=XCO{w zQ)HoK^pC>voY6BTXbS+Lt&WyQ6)dQR)v*A>z?y(Fs$c;wnsV#{_U!2XDVz-a;hKDI zEXFRuCLFJ_b$GMWarC_MX+lG~o5eh11zfHfU+PZzOxvDH0d^p?6~cpEJ5wuqq&8D$ zG{j)jwI;yMoF!4&-<<@kLaV|r?*yc*fx6aWoGG;AhNcq+ESdi7bet1=u31qjRY6yf}gl0g!bCy&C6^XHV zp96->M62MU68*erkM=~Pgxv#(uzDdec*ycrmbfzKzz&4AQd-;{-9qag+(F&A+k)HA zJ*0LPLm-uS@1-rKLfRpg@Dl308JXTPMLW2DCN<&chF6T*GlITG>E%8A>)bOAG;<6;yC4wSdQg6A`vyK;PRUCH zY2Wj5)s>(!_)r>sdJhf37o+L2z^)0Mg6F5b?x5`io`~qEpTw(r7bo-PoCGd@-Ugo( zq?=E$+uZZPlyOBA9@QJ3$Dt;+AGSkMYS(-6_yx`bxI7zHkXz8h#o5OKp{)t!Ww$Yv z_p)7u(Ltvd!(h?JgH9XIUbT`ML*-a6Td7^ylar##N)(X9D4DaUis{p>jcm zr*HrOAcD^x&PrF5ufC)SV^{VY;cR&zwDm#Tn)kCl1psg~l(_az3Q$m6R1s|l8^=-M zY_V;efd)cbCpkB%0RVJ?R0cXp(Y-{dLgH$?_*4Cxh%ev1a(V4kvQ%WJ3*W)-r12;= zE(wITUX%e~2^s*P2>adoc07nwmPV5AGGbObs3-4i@opUkuIegHAe!W1poj5Dg;6c0000~#y|i3KVt1U38@^BApigX07*qo IM6N<$f^l@=YXATM literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_25.png b/src/sensor_fusion/design/documentation/equation/equation_25.png new file mode 100755 index 0000000000000000000000000000000000000000..2a439b5d6f052d5879a6535d8e468223aeb28f0c GIT binary patch literal 5455 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 O@Ic>853BR&+5Z3()@39B literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_26.png b/src/sensor_fusion/design/documentation/equation/equation_26.png new file mode 100755 index 0000000000000000000000000000000000000000..f6015cf57f9bc859667afd7a92709aebc76a369c GIT binary patch literal 5784 zcmV;J7H8>+P)<_E00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D7A;9cK~#8N?VY`A z8_65T{cost>n`0@s?@ki0taCs5DpH5xF(H3 z90ykzbw@CQa78dG4iiLvGxI#NnwMu@cCA4`95zmbMT#E7=~e(N5g`; zo6M)<50_={)#!eXuMqq@DtpD?*U{u2UtpN;57Y6-VR>4P{>2wI!~A~KKP(3CN0S-8 z!Z14z3+m1x4C33e+vyY+*GZ+EO-94AdvH`-e40j-m)Q^I)0?ZZchD&Y*V`at_iA*C zk^J+`^Z{REm|cbiwIMPzd_NRc2{~GC2>37^{U`-;_;hmzY z`K5ey?LGXcOwz%xz%+XZH6{4Akz$*iqAO3|UE_7|;_40Ma z1q)_(U_o_&5YQJ$&?Mn#|2VQe_xWTfO@(g`md^Zk*z3eT2o5-SMwQ1vYu6+E%(fA} z`=EZEzFmy}cT_%;`saFPS>P$1_uh|68LpCp6CNVp;k&;bo^?2QWp)P^R1;9mqqFKC zSF&a|0}-1>OwvJjFkWf+C!07#ble->w$yE~XuaWN#k$XI9g$nFM(^QZ{0;vGzD=ta zVodx0$U&Xbe;htng?vr|rvwQ<8BYGg7m%;x!LjefGR$_uf@+{tvvXG6xpqfA)j@|H zEX83_ea077!Tg`p_>3+du61t4AzZiTf8D{HXL9J1$ z**UN7TwfTIxIPXSvWps1#Jm`3*FT*_Lzq|+_m>h7NV z$>>*AaThPwX-w>Nl`p!d691|e?Qe_9y@hO&la1U9#DVr)l;(~UdT(B;rY^6F@6|V& z44|<{yc$js&+n=;@hz$63z=4hI0Z4n=dL2&9C(8I7zkHtZi<-6(M@|N30L?3LAI zHdnf6bnBo**#&zXhi0G&qrx6|@~|Jw#vk;ea+0?)+I=Tu=)^=-Gd)|^IPXT~vEOi{ zW|_&^Ga1vSA=5)YN8s;rn>w@Qu%JpJk1N`vaK;P+)YZDrv++RK>R1q*WjFC!$smBq z0%mg(!4?LBcFanoF;R`WMNzmRAfV$~HyZ(ZV|K~HsEE2*^*v9dCE!$=ZaJ*}5K52# z^ikidQ(oT*A0pH-gdYray5(h+SQIHb$kF8uXN(zU3t&MNM2bwheiqcrR6=+;Bn1_( zGZB2Upgt08_V(*}I1FqRgkCo1U@cvt=}#Dm`qNANQa#4R=8R9DJVC92g$b1p8R@Ns zi|n2jy%*^@Eiy`lqOzYxHi-{%Gc0D9ErkU&9^0kb9nt))`Z-SuDjYyh@>{@y`WP@1 zOJy<~6_kBRDtGFyX%*B<1V^Lqz~Q}fGNM?um2}H1Y9*qEf~wGE(Qt1q_@E6Mg|I0p z_LkHjZ(Iy!n03Q~8ZS@kc!IV^Iz(7`CMsoX&`hT~IkDW!g4!HxAPU4-klI~vR1Dr# zWY!dp461^5;Jon`6k5S-a*d1p5pvZ=Q0tEijVNp~N;z;A$y^SIbi`|f0~&oO!>pCP z7u19lX)8e5qe#fIWa6ry-EEY47~=wsuXe+c0g6^S?XN2c!6R|JdABH3SgnB-z6iz5 zDz5vWi$JvqN#Ek6D9@#f*I+0m7mJ8BB`NUNi}kuQ%tqOFK}B;De8{y0Bm`BPuthOU zA8g9A5^QY(v^>KBILQGMYti*i7L%Kl+fj!{TZ(d~<_ z9Erzx>4#RC(r`d5eTzdeV!x`>HqdGOYQa&8KVmd}l8EmaX2a~cprY3tlOnQvGdOnw zti~cM1%}Buze-z4GxYDM|G(kwSEYp~m!pptgAaO=B9+tvQ$pJ>{1&Nj0S@D~jz;LL zzSW_lx{b_x0fWT7JHq99ZMX9Jow^RBZ-h%7nb~GJuAKV~f=Y-Dd}tsCBgd6LBz*A` zCn<)LFKTgJcox)YiI0O}=6xLMefYb_Mz|(<5{B6*OBGaT=Zo)pEliKxRyf*}zdoQU z6W17wM2YPFi5n+d=2S z36b-_GR($UmZ0YEdOcU0Uiaio@5RzH8v?UTNrzWov&LK9ZGlom{lE(qJbpQN^Sl;R z`CrQiS5|3Zufa%>nisV=*d(H^j9Q>hLPt?d1c>cOyxtj*P*fdy+9jkb(zig3HtDfR z$Ww{O?YGKWaZnyc?l&rl+_)$q2@g;(x8v-PO!mP6wTsZ+`>t>EQJGQB+v zow;nmWFS?kKlmdqNX?kvUiB|RCRRWRs(c_C?V$}md!t>iVJWpnZ&?B8p63T`84j{C zUMhSM;pxlc;h(osGF4_w1|O%y@;3`hr_LWL5y8PN3rG+`MT>CElLd5WYcr*gSI=qg z1Gh3=-eC3}nKe10A>wSh#{^JKzrQQubz>g;Av{4~b0sL<^DyXySV$`gY68uGjl zW0HKkJ_T%DHY_@ZEa?q#swScp+58Nupy|ptQr+EVkqYi;>=cp5RZKO zBWYQWF>VH#H-NP8VwD+mDTp7|shGmAA@uc&kic;2zuwX$S+16Puc~perRkXcL1n9w zYu~R8+`4Yj?w3Pu-vhIsKpM{(9x$cCww8K1Ft4{jt7#&i2MwpLRj&mVYHXo=BXno@ zjTmrE`87z7O?Jw}S3zoxl1Z~KRDMS?rt~VN*yV9l$bG(|zlf}Jry8o|7kr+oe>3|A ztk!$FaX}KwC5vk(y!#5x!R zRf}IJQlz~?RQN~}4Y~j^$%2p0@i!xL7%0+lC!UZ6m0@-Ver%Z#pm3SamQ!&P)O!5e zZN2A`_%k>a5zb(JoDx)Q#0_5uM51mDl{lRP2yxV3z|NqI$AblxVHkdFnE)tcdG&P_ zjN00SIZI<+b-kODxBsz(NE%B)P33!afa-SYrnW%IP+S3?d;>GJ`N?FMor51+h9)Uw z1}YeJ7L-LjcHXX6yCWv5XhAjpB?Ogt)dqCYPY5Rk6$C%g;Ld`|FibZ5*fKN?1XYHo zCvMP*iCFLL;S8?-i9%5Ibj(lzHF&y|pkl%|q|*osD#I|@@MFu6=*TcFs9(o}Q-9h; zSdTFk?AIWnTaY1l?g&T@^HNHe>QxG9NYn0)xLWoR-4bw0a&8`z9X0FkKQ(-c%X{6xBjN+=Ml z8F3I;9T49bXyOfBoI|n@TeEaQ#n61;o=mwW#IWqeTCdlD96WL#zozs0nSBTBK%&)= z*+&vxzH)8dvlsq~4G+`FKgtS$qWMEhX&I5D)zay7`C_Q+zCkbT8(C&EwkI%*`{a_F za9BJ@UlH+K_fte@sod%^VZ)Yq{WMt>w#t${>(~^^&GKIHa-k zOYb3pV-l9X4y;57`fa@(1Xa*r4{d``j4W7uhww@hk+-h_9kB1ka~Rkx56u(hOSKlc zrsr(3dlwU?#omicCcdGKUvQEvVYe9;R7Qg#rZvWNZ8d-w&Ixl>)v-Xg9ENtrSJ5E7 zmajo1YNmi7H8nSeX488#qUCRQ@jHbYQdHIgeggLwfH4qX;wnt@a|SPu$wm9GjrLw# zE(ym76GFrQ;QdgUr2*4Y@)k>a6cCREcbloH=gDNs3>@FW8g71raqaDHq=LInh|~n4 z#Lx5WTkRBE)8?GvD`awLv-je10ljSbIA?oQdzDpU+M$$X)gGjL;tu^0>kFzFw0f#c zXb)`{D8V+`_4@I2%Atx)bMqGWt~&w8YDG#R&T{<^=f zx4BlKN9FBhUzb8_XA6Kbn0PgkA`YFiCe|^|#L!vLkQ%K)P+`5(z!<~UMMd!bW{%Rl z2bN)khFuhgjr!g4P;E-x;^GsjUbLXL1dMxp*J}|J%58;Bi@!lIY>E~O;ZZ-benGtx zxGfL0R{?hsS5;P3YZ1f`N;z5O8|18H$_m&Dpwq!~~7<8^yzqEr1R7&qFScJ}LfM%C#V@=UPTS%)g4YN`~O~#jSKr~aE z<549h8ZwN@!*pC-3_ryqyk>|Ic-FrPbSVjzDyTaMdiSvhT^OuWOUbmF+WBg%JzIGO z2yN|?EBhw2=daJz%U)Rt$3mrK4I6Adg1}l zEr(S!g`mDyr@X!sK7`j+s%dymJbuNcz9&a2->dKcDn$sdAuS z=%7;Si|n2jy%!nN2lLL!g4zbun6O@^62i*>hghUhh)UIXBnLp#;swL38y3_I{~FOd z&H7sCsG#giQh83ljX9{72wseDAJJ&J{yQw>A^su0KzT)Vc{LMMg)WN*)&~)QX$yB4 z`J~Uug4%*qKQ@lHOnxoRP(^~Z&N6RaXPixm>*#Jj+P+6bNSpv5e*_hKGc ze@(cXDM8Il0>uT@tlTrqmcoK6QMNuZuRO6&02-8ZjH?rL!6Pw2=jFyih1CVH>Kh?) z7^B491rKx)sDhTPBA*oHxio(99G*kuoDyzIYJtw^l46EgfyXUDr8G4jT&4sy^Ug*+ zD)=s~Jp+bW3oNJ#d|c_k5f?@<+ivCYy;{0b2BjwHss{uWMKQh%4ZPR4M{O!k;ec39 zfH@R#@K+VPq)Tau<@s-reFe)Ni$+TFd42v5f;ta8XinW#5|FGj5urF>MNEK+p|p%2&#W_NFxVS zTt)amj=`o6Kg!JSycBrX`tSHVg}DjcUqu3=_401149k#~T`Y z7q(`u_A7AL=>WSE55h1_r}Y~bC+c+7j8!;9qE2Nr_ttAl5UXv)0tigQ8VybOiT0`R z$^~_l48~XeGICLpR~L2koOwvG=0ub-~y$yc{K6i=m>9@0ORt z;afSG9i9I9MGNKL5~Xj*Cris46`9vPz_WtYV`H!79kQR$p#XN zsw4F8vhvnzOk~Dt)Y^>FAW8zKnvOp#7C2Nywi&{#FJU^9u9MX%oIeCQbg{i;m->8`tYGDFfCY7D*1b*5K-~23`;OL$FSk;7F~XNvUbX zqjH~0hS^?NP)#6F_5^)lFA&)(T5njyIDlUg3-r}U&<6;;JbpQN^Sl;R`CrrFlbH$g zzJvr-=P;7aVvvwWrDEdP^ks(GB3MuzAb}Qd|Jg+#DZQ273nJZBZ@07;)bnJ*gyUto;nWx*bpf>&IS^Dbkr39}G$D^lg|_*7k2B1sVL|nInBM$S zz6vknzN5gRiQ8tLV5b^3n#%%f@VbS~-+Qs{LYmzSil4@~TZ7QZ`@8D=(8^&bjWo3x z-W$rkLi=6|$0+1ciPy{5UKyBSwig!EeL`(%BzMk{``$FPddmm5u8Xak$TTOh_ac-< zd#{IY3Wz3E68Plu`t4cIku;TtT?i@^Tw_TN=+|qu4<&n4%oBnIb?=ZpL&LJS>3Zrn z*vF6Voncl7R4avqVW5c}XTDNGSrq%;p^e;IO49?^!c1>2Bw&w5#gDE40Ac%o2UeF;kp%!i7p^2Lt>b07 zm)>ko-&5U1aHId+abtYOf|yl{w}(k6S;{yLQrQ2S-u2t@X`fEi*RA~L~T&qpf*Oo^BDLCZdPtU&&$koS(Os;5y zjQerS>|Sm<_#D9rTgEgM#X@2Llz#wHCEA<27I-aJ&ksSDy;k1_s+ zRzA(bZ}JvLWxyba(`K&r_j1fijiJNSGGJ;#SA<~Z#@Gxv;*dO$8GN$+M~GNvh51g3 z3}_?^)&17$=3Mqr*0H(1yR$5^G4kl}I}4vI85@}vk;Pl2U~j(Y)s632p@hb_Cj98f zSv%d%{6p_@#eq6~$&R#mu&S&V9x)3OLIWhsSMz0L2Ue>%2Vds73v#z_?|^T`wrE}< zUy3&Bu^hEe#QC@rr5d)&HR=$4Ijc@4cmzqvTQP0GFDSy zZa?XNpax|8kR%(kW=*yj^)($dO~W4~zrbnYRD?uU_Q;pjuJOWcE-gYC=LQw}(VB4x ziRJ5WX9||st24S`SotYs8*Xgu54pbW7d0oa=eL_RNAO*%swDML?;xw^!#l%`qwQ#( zmm}{Rw%uJ%uJ`w;5l)P8YqNmI^?C5VQmfFdUDbPvLd)vy)}+q$A$9)U zj_p~U^+7n)ZM&=sDOudvd>AHg?z*RaQ^I(u{0rs3Ng~LXaH^#6b>brvGI;s%qkcU4 zDXwK)P6h;N1Wva^9G_3HGpFeGO6s39-?Uj4TYM|);tsZe%A2t2w}__`R{z5;`O&c9 z9(OIj5TCQy4WmAari?2vS`b{|6u10l{py0`u})YDfxsSrw87IW4VoFeY_(HV6Wd8Y zKYvN$4@tSniq_L>q2ddg5iq0PW+u^;i2G0#^@EkQJNCw2YTEnrplMJch$slck2)wm zkpeTuJuS^-EGR&2djB%p(4#mr%HX17%|z3WYE}p1D($v9f2;E z)*QrDOLR+ePmdgpYI}Z#$l`0zC!}fP!ASXafB3n7wf7r$Ix1vg9DAerq#q{4j1*<{ zE2>e`>J^QNlR6hj2_mkK@}M>D`r0ef(XR`4YdW<-NVyPr{?rglOX-jX2fs|~Y~-RIq|Kd-wpHZ>vxaY};a z(bYRUC)t0a{P?t|W(?-BokflOM?%A-z?@s&u^^)=Rg!%D4oYn5mZ_}{d&L+$8Yg;c$-IC-c}oe15vW73DSynCg#WD%yz(@2F_B4wB) z&hn&M&E4g+Zh4`!U3>$p@IS{jN!NmE`z20?ER$E!P7LxMpPbtXrSwSS3TnfrD{;oW zlC1^_EGEz)EA^{0@fu^?eKV|w#JqZ4nw_%_Qj`Q$mUSFfHlSM?@jjpTN8Gggj)@(xa-&Gf+!*PN7L51|$LcNOT7SJVS# zLy>ST>yCzy$YcYRdTeoolWEkmc}grQ%{ZD-;4i6C`$|?M@GimNXFnRMQl zt+wf?An^R9^!9|H(ILZDAj50xqA4IeKDS_^c68$7siWk#<_;+ zmFV??*dUdJ%3}h*glQ}A4C3Z|yZ9ZqM;8WqWVm|0ocCfsU8Se?ZFirxU=2H0f+F^( zf9IYM991DXFmK4;q3go&&56k#|*?cru_+-XF(-WVEV$5mNqU*<_X1mw%F$#3!4@m&)C@Wp{DAE ze|>BJhfs^$>+jOWh|u}k`Fpi*h)#QfuVyLq7eGc}@iPtOU0Y30Rnfxgkm9MmU7}Kl zPoZ(;<+;P$e57nLZc7c@NMMVh5exq&G3n-a?Il(}!HPMCK>F`(hg(n@3HCATg7TMhO zP=rtrSzO@hn9V?>Iy-Vo%nQ`jH~U1h)6jK=w}9k&&=AVWg$% zUrGF0s-iB*HN72GZPzA)9&^6;;+TitX(~aTdW4otf zWD1AqYyf)ZK(c?ZVqznVE#G=<=YhktF=c7-p{h2SAk)aONKE0`>XgtQNh2b1mUC;k z|3K^IN{Ii}y$2T?g0o1VBvwy#!O!u9>ipVG$F;hyt@{V-(+M*$wEugvQ6k%ijz?2c z;MIbWo1Nb%v|jsIzrgdpy6;>b@a1R)HE}2DN?r`wo+i{@tSj%fLz4&AUYObavy<`M zf`j&*W`@JUuAj>3U!au`r-vS<I$9yT7_{hpHPuh%s$&z zT)w`R^MNXDYZoFE!KL2}i+Xc+2$rEN!-<%Gm9Pc5K(4 z_Ao{ULC2=~yTe=dqw6Ne}k z^9*g4D?Rs3oi`GC&!3ht&VG>7F>q7ze%@ z*R(Hmm1KlX5Sv>NG+3N*7!x_5{H%1c{c@xG?H457jjRJvo{jB@6imXBqkexL6);7? zJR$O;V;>$V5AM<*qBB{(aebXIVVz_^;b?olcN`5h^c-gtuI4;Rp6fiI^UgomekvL14xLrhfiJ!3qKOKMT!lam(rnT9B%F;U;J zdbv;;V+GVmfv0Bk#@$H;j3#9eRO`QipG{VYxbtrOGpx+|q!8krP@`WzqCz;@og8XO zDP8baCH~9fnE@9jU%#8vr9Vg8Jv~A*q6grt^NumH?sB45)ST3$%&kYBnjtMN?P`Vde zj_lQ!>#U+|&2?glzx5EYbM+nYgHlKReKE3LYF0fH&p;%?yfD~G!DOsdUB1Ge^p10`1kC=o+P>p^sR6@WIqYD0PkSNJNW~lDRaYJsKImZ3sEho z3U7SIB`k_OhnJi!yyUjtZkzj)nfSQBssGaomYO^EQ|h1u4^VlqU;2Z=DcfKt`J1X= zTdjdjJXdb%b@zHZKsc_04i#%P{Sw3>TYXkHl42eT$sL2 z%aDMIS94I%$q>%j!ZCyBvEhQ)`|l|23pOL}+~;Q;)!y4o>?|N1~63MiL^A z3sCB}5GM#dC@GV1)rj55u_AVlEED)Q*24{9t4=VL0gtn?pM^(n5`8=`_}d*9FiJ?e z>L1#fZ35Gsd2XFfaN;IMRWm1SL8V7Z=M-+{o6CaCFl00nb>dq?c~731qsbO}v0Puw zy;X%hRR{!jRHr9KDY9srh`YgW{Dy%rBj+x(?rOS+VVnVwb(1FVn|&=|LZ-z~DG<2v zr0IK{VAq&da~mUESrei6amQCYFan46Ygue>(Y*NN-(jP?WE8e*JgsVxTy=kI>IGh1 zDq-(8HM{0%gWKC57=+5>9x|^0$NQn=7 z4M24HK<)NK33AlRLgUVj1}X1;^Iu^N#s%WB<%oC8N8v{<6ph--+#jcZbc?qO`Fb|j__gjA$?kiDA zK2~=irIRY-MXQ;pvDDoU{;Epo0X|@u^&OapjK&CT`CN=mEzMHHlT?eK;43LZ^|Ty? zF*6?r@)Qze1k(Z6z6StkfoMy@*0GTg6guy7@CMYCkJ7Il(Y!%7`>@&ivdM=bA)~i0 zJ5VcxQO}Q}q$?itB@3iQHxv{g4i%C>ub?n0JO@Qc2aBE>@nyj%Ke*U_`DTV5sq?T4 z8h*)jM)gx0q-Db7c1=HQ03LuT@?*WAt{dnu__=>#1M~?H3pgto<)ua^oLAne;9Dti z(EGSO@(HsPAIz@!dY1I{A2V@DC$OH|_Zh&AjCb*ap~InK-k36Qxp!;UOA|THcC39>o>fW=Ww;;A} zbafl~fy|OLiM*tnra0{AJ+Bg-;szS&FiNOi06Z zWXFLgLJMHGKKzpMDW?)5gM78YZ4csYUdGKfw8+7;aIz@yb7$CQHP6d)cEn9+A&(4q z#7G95-CUQa39VH}ASuW<=?fk`lVx!_HeTz$BAYT!2?=a~X)5K!TtGC$s z@(pGz=!)0xl!ylXBP7@iBh-|qA|mspz)GBnHaKFZ>3A2gfL=-7VYRt2W(1u~mL{Q@|`2Hb%S z;<#VG?Ifh3{4Y?xMJ~n*(PWk@%9<%esr<>;AE&uWYEWRwowGjo^)9o~OimIllh?!* zs(7z)QUmd23|L>0>!N_*5@$rN_&_^L@234ll4kZTSj|-!uxA*7=Ty=qBJK%OkLSW9M2GwU@8r!m#d)-h36js5*vPzI7f?% z7ug6gpvW_ViuRuBx(5Jt;pWab@`L0@PyTe!aVkTkn#Bu9qNj0}xn-s=v!-xi5ebtF z2@RZ9JkwpBD(ZQS3O2fZbz=OdiEf}Fe%$`Ci`7KxYcE5wx%DK$>g0jW9op^rztLxdC*$ zu4$gwU}wdf+D7m9_9O?7oP$zd=!NX|0pUCk&p+ip0aA*^9oxx)i*2{0Xz`>JK6MH? zkI#xIytr+`{WPKpWE~d(z#_;wk&Bu@fnTJL9)|(`6|*28c{Cej9Qq@B8IZ}J5jHT@ zEX_SQ3cags1jI{x4d5=YuK9}k$z3LC+Aa5*`?qDYFeW~@iclvvo$xAhbPzHKLJb3g z?Y>x@QIP}0r9;a{XQxa5iTsb9dK2N*oD^B$`ddt&{=;$`RF{@_mM|#eg(4)(bQIIE zu*Y9{`cEn7b*FmjXUmMFMde**d4z++Kw*U(b9MT&tSC&SURL1b^h@O@g(BoON$L5k zF(LrKB&X3GFC$|S1i6KW0svAn3=_f^df-@>I1KcX#whcg>w~qGFCGJ=*tUXrZ4vy# zpJA#t#=-zV-Xqlu#XQS>B#Mc@{xtvqlzt`&TO+^WKyD-W2><|CR{bIHHRBkD&7;qF zSM&-1sFMZ{xRfyp@_6<<-eVQ?KH{gQ4B#l>Er} z=*Zpmt>WmGScfc-p15jxjAh)dEd#^Isww9Q7a8o`y0-0?c{Uq1G^a#Z3d+AtTj+0g zPD;= z$hEqgKqULV{t=*3YBxlENu^}-_XQ9x{s$%hzW6@8BzKY0h(h7r&<8HI$!owrVU*)# zu{#Qv7Fn0E7jRcc82^Rs)T7b&LEh4Q&03Gk^1l|&F|D_&k-HR=oHEnf8xfBMs@?LI zg^3>{ZcW3I3|U5{b|SN`ZXU?R-%eZ;djy?{SNo}RXJ@s(`~k!2l6zi%Ma~@Y1G&ue zioTE8D2^?C%ukOINcg?CV*0VH!J>HP<(tOTh@rK_{B0BCvNWrnItm`00`)hYj+b%T zDwgsbSg_K|>ta#EJ2FhYS6lQWI3s-TdbQ)S{}uMxiT3DfRL5=rud~M8r1|y99#}9w zcXw^NIVX9c?9a(^&&=gYE_&i`bGkY<^MCd9!h%D<0Mm-T>C*6z)`7y>awWLwBraLi zk?<;!oJpo{v%y2{M^k*&#m=PUX2f4!*619ZpmELYcuU%}p7$71yDz(4&Y^=h zdKWrVdsxw2guOO%dMz2IU$#+mQ8ISw{nj{_Ms>t@o@H#x&rJ%Z$Jp0x4H!jHn=4APD)3T=8CMd$Ca+5zgmBPz`fu3x@h zr!TG;sGh%*)$f21wv$}Qq?~BiN{R4M2q(L(yaP}#so56JthC7dEd2lb~YiY(2)FVh8V-M z58Sly0~9%aP*7)(DeMnR&lPPewnq1;%p)L#tC4&mD&(xtb1|^cEnBvluN0WHwy)rU zNGixmX}O4STjTgs$jvFoYwWGR^vN6lm~?b zJ^M*Vv>ArRpoOGD>LAqDq-?3NDl^OKPU*z|c%L%f0BwOG7C#JK-a53$|QKM zRI1!~`uehtm*c}%E+Zq4V2s^>b2rlGML!ea>4fU8A!FX>{>xTsZH^QZwn9mh`W|*P zoY71Hu#cJHiFVwxwud^7f985;COo8!WeO&70Fx&9D!$xQ;um8U?E4qRO)A}PMd>+_cx?IFd$kLn4HE)w1i zZgcK;($^C9G_x+};LN@(UNh*}G5}6~UI4D){2|iM3{(c2}a=akAsUHM)ZTs{8*DFS7Jn6OJDe z^v3$Iv+$CF>LI0YpY&-Du{-V>NzL}{4 z2_$l(9m*rNv@ZVWh(%iPv;M^~;In3w8A}Aa z6es7c-@bm50JoP`E@9z^rYRI^qgsf=oLaB5#&t5+CFEN;>nn5HKxFy6_8j&{%BbBZq$Nq(0juGmYxl%3Yi?lWg8}a)%@9cG9;BH^o-}G+kGGap1>< z_#fj1-HUdwVC9%n$N7jS1pChd2W1?2K4`YnO!n1u;$m_G&wXKqnBU?+ zm*%=j`d2eyMcKXl*hz<~wXmT>*2=@eixq63{Rcu@UfwJh)&75ou4gwLj}C26mY1zG zb(cXXGR^j|(QWs_aN_#jqujUi2cTs!zSuATK;bQ2dt&n5n9c_SEQZOTx;Jgx^M9j1 zro(5}I>vNXFirl%RymBcql*@|U4O4Mpi}md6d1%n){PNJ2>qhZPBVdMKL#3wKrOU! zEwBJt_C>!mw$Iyu(FSB9*W^JMT?Q524Bib#BPlU8E%Ln`m55amMx()_@fb#&j%WWE zc9tFUs>x&%BbDIKm*l}`n2e&j;8&6OPgoK46JnT|FW$@g3`hy~xwyZLcd8G-I96d~ z3HSErj!S}-FaYd7F-qhk1~QBh#*H?>n19c2&!!$8SJwmrG=HdKQUL%!Nls1nw~YDM F{{!o+lGgwL literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_28.png b/src/sensor_fusion/design/documentation/equation/equation_28.png new file mode 100755 index 0000000000000000000000000000000000000000..f090f91bb4df3c227bb5910049b2c8680f0d53fc GIT binary patch literal 10788 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 Q%MF06q>@Cn*q7k{10Zs9kN^Mx literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_29.png b/src/sensor_fusion/design/documentation/equation/equation_29.png new file mode 100755 index 0000000000000000000000000000000000000000..b62f0914c47640d45c45fbe6d3d58202fcabdad2 GIT binary patch literal 2577 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
      DnI*zwe; z<-^KgXNTBrbW!Y3YY*`ymC1CWe#z)bWt9Qnb>S|2YuhFuwia+F)-=5r8nmAXZZo@_ zCZBDu55yPQANDamc^VjJAjlmtJWUnMW5$$PJtws!@k{msaCtB)+-7;h#1 zSS3te?7J4992DaW1stR=kE95wL-K7$SA6uwk#LWE8%M8<_gROW!2;dVi>w9$fj}Ve uGzqdA2m}IwKx+h94Fm##K%gal{`?z2@zgMR{_r9I0000R32;bRa{vGi!~g&e!~vBn4jTXf02y>eSaefwW^{L9a%BKbX=8G4b8lvJAWvpy zX=7!7?KN=#00;+3L_t(|+U;CBYa2@x*56RA)}8-=Dm7_tlP1L$YFxOx#e#|pDFQAQ z1cAT>!-5DH0%k!F3_-9MLK?$z351IfqzFL>LbwDWf-zzF?#%AYzPwLKtDRNO2P!OC z_MSQCd~;qi9S{fvLQUw<5)cT4x&Ul=U5^t)mGfRAKgkLf=@+Pm29SJ=~!*pS%~ehc{NQn%B^AQ7=7u_uCA zV_{EWS(bR+z*#+1_&Q_5!5GfQJ^WHFObiMNRmJ!YTi0MXKNK^BBE7J@*|}lwU&GV~ zO!g-V%20sK0(KxDdrcjzqN;OOaHjmTOXz(T()XLOGxg<@HI=w8bQ3j|(B4nk=TBiS z?sNa@9tdWQ`Q&d*mk;p=7{9^7&2i$CSGq8VA(-ya!ZJ%QGT-b}tDrYcE=76?e^rFL zNY@&+2>_{+zIlDuc z^X*L2T{)QAi^l2~J3E&bqTXVmRM=fbFKu)_4nIuqY7@+h);_J{LGo?s7uD=#_XuWb zVdxFt3^1~nXicH;ugxdWJYznAW`1f_H|1CfrmSAt>3kAv%*~}tm1_}xLk#LNiohqAA*z`s*9Ba?|@k_hUYLYh0&*VP+}3!D%~z4@1sjz2r%ep}(2TTb9k z+1H*6obKua#!PWtZH$>mCcM%e0a>rC>psR2pH+L|2ijlGt_}^72x38j?$n3ma!aMGyNQEL7|N=Hje6=aoPq4cPdUUJCZ z{Q_%vqTuc>?I&%`xvu_-zaKigzO^ zQr?7X5ZS0=pcVC!limeut=w3>AjQ-*XP=EOBJby&mkEp8yil)B*Haz&6d;%smgQmD z@MVTk^4#(g=Io7U*i|3=@C1`Lel3Yor4*uyUUG~xh+b4Ymz0+RPB4r)Q}%h8V0TxQ zKoyX$(G%uUMKFvgZ?AB9p(&N>RnvmN|0~>;!xc=Jf>D{Buqy+a$x3(F;-wfbQxJ6F#S;^lV7j zB?|@z#aXswjV#bzpd&t4^4gmT>MC|_Ohx(jLooL{%)xMHn}`7*K9ps=OPt4%MbMOi zt$<}muo@mv%U?(qU0I`ujFx}hL1BB^ACejyuW-#L9}hWeQK%QGg9U6kmDv%k>f}`b zY2UG~{6Q{0$tefGb~uZ+orr=AZ z!z0lD@{jemPdG84#+}t-#QaOh*T!Q8X^;mfbzF>XESK2_jTM;W{ap!0R_N16Lqu&} z#B$Ge7z_GfsC3G)-Fk(xAJbVbSsabd1tsNeHRL@mB_e7fn0*sW-i1@KFUV>7*NE0*4#w(y>uEco}h96FUHg4wT? zhWB@PRsGl1EWgjCUf*~{yQF}VRi@EaT z?Hx&a)EtOl2<5P{pdE94DS@Nv9yJIe7($V&MFzUc5399TTz+ezthEiGn{SUO4Lm%E zU -

      Noise Covariance Computation

      +

      Time Update System

      -

      The process noise covariance (Q) is calculated by computing -covariance of windowed block of driving system data. The measurement noise -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.

      +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      -

      Kalman Filtering

      +
      +
      + +
      +
      - -
      Fig. 3. Kalman Filter Stages.
      +
      -

      To ensure linear Kalman filtering the following error state equation is used:

      +
      +
      + +
      +
      -

      +
      +
      + +
      +
      + +
      +
      + +
      +
      -

      ,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.

      +
      +
      + +
      +

      Determination of Gravity

      When a device is subjected to motion in Euclidean space, the 3D accelerometer -- 2.7.4 From f777d77df3c5fc8fe967436aa0ceea7817881114 Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Fri, 5 Dec 2014 10:45:15 +0530 Subject: [PATCH 15/16] Adding equations for measurement system, gravity, Linear Accel - Adding equations for measurement update system, gravity computation and linear acceleration Change-Id: I913ae44de5fa30ee8c4a90bb5c62a7ff93f0588d --- .../design/documentation/equation/equation_31.png | Bin 0 -> 2402 bytes .../design/documentation/equation/equation_32.png | Bin 0 -> 2219 bytes .../design/documentation/equation/equation_33.png | Bin 0 -> 2477 bytes .../design/documentation/equation/equation_34.png | Bin 0 -> 3145 bytes .../design/documentation/equation/equation_35.png | Bin 0 -> 5395 bytes .../design/documentation/equation/equation_36.png | Bin 0 -> 5473 bytes .../design/documentation/equation/equation_37.png | Bin 0 -> 3950 bytes .../design/documentation/equation/equation_38.png | Bin 0 -> 2429 bytes .../design/documentation/equation/equation_39.png | Bin 0 -> 2290 bytes .../design/documentation/equation/equation_40.png | Bin 0 -> 2230 bytes .../design/documentation/sensor_fusion.htm | 72 ++++++++++++++++++--- 11 files changed, 64 insertions(+), 8 deletions(-) create mode 100755 src/sensor_fusion/design/documentation/equation/equation_31.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_32.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_33.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_34.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_35.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_36.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_37.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_38.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_39.png create mode 100755 src/sensor_fusion/design/documentation/equation/equation_40.png diff --git a/src/sensor_fusion/design/documentation/equation/equation_31.png b/src/sensor_fusion/design/documentation/equation/equation_31.png new file mode 100755 index 0000000000000000000000000000000000000000..9a1c524f9bc2ba940570733d10ac96ebe8efd466 GIT binary patch literal 2402 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 literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_33.png b/src/sensor_fusion/design/documentation/equation/equation_33.png new file mode 100755 index 0000000000000000000000000000000000000000..7768cdb96599977db5fa1d0cd81418c424d1e1fe GIT binary patch literal 2477 zcmV;e2~zfnP)N000{Z0ssI2L=)<800001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2|`IkK~#8N?VZ1i z+ej40{costyIs1gRH@k}%{D1ixVa)lAceriL5g$&!$BYr5G;Yf!6FD82gicACXKjb;6q_h$6Vj&I+mvuur|nfJcmnbAldePJsB+R)lRwu{&wh3Q&dy>wzU;QEzi#5m zWwPAqEfv0G(GwN!$oFpS){8U_J*Na@n4uWhKeo#>3cT>ue0{ICnAol7*A72B7FG!u zjO{ABiNnie)#boMAwPsw69U?gww{j7DxLaXIGeAj3lQ3W9oc_|0lSYB>>muqc6A%S zyvBO%&g@q2XV++??)^h3iw7ZD#Pg#!?-#~>9sFbWDV;p>r?+ld@^ukkj{Mo;#M)7j z0HJ7)bY%#FZpuy}Oe>B2N8#*)I`D3jO$!ZjrAKeOWfBxNd(&)FJfTV<`S16;iwy%= zbt!(lAh%xQc0xcqYO5>dX3g=V1PONs?(fp4p8q0qs@UCjG4n^4@#3rA;EbrD_p%4@ zISt3`AB>UR`gR&j3Q2UY#;X@9%7dux2O_HEcvgMyN7tn!kdhc6ig6f!$V2)?tr3TO zD^hthx|pP&YB^=~56TaAt0X9@3?RjB?8o!d^^Q#vu)E8qfv8n4yj~9GZM(a4;sw*} zu5f_+b@oDbGrdW&+~{orZ3%`TFcebr55*u>y^o)ZF!@+)L3LK*GAdC-2xxn4ZGdjp zLlA_g&d0Y^a@C;~*gqJA?K}>CE{FyMXA!R~vq}(3R3cevkttRS z^H(OVQ9>^cr~A48F5)qiUu7JopJ5k3sfN*b1S)ezkD~00-k^a_cSY=u1||V;wl%lw z5z*eh!8mp0mvslNSfmg$Ls+%htMKiVfOgbY7fj8nPjw%ec(_-ETMo4^Fyn!C^rEcL z3sA_xS@{IqkI4SP7?Gjqm-JyfpGCjkt|0pE*Yj6$oN<`C5W4p|ivQG;#-bZFQ{Pv^ zRd~$fx?))TV?X~;Pkws*p^~#YyW)U4oFUVW04f1P`-d9zcu&*2>hRFuA220o(0#NJ zgaNF&v45BZG>7=AAB@ck^IDCMt6HkwAF`qj*CI_M>>o@W)d{vlluevf!Xn+BYWLda zA9`awH%R}0z1rL@=#o*Lz$IW{|G-*HpHk63D{W0@gu;tONizkIueY{ z3LBeN3+!dQKpJrI7RDoB|6poBC)g6bB3z$Pa}P3MADd=kWlB~GcN>2g(wOoObilsP zPdr6ir(#El2my81 zRzp}jU~E=ZCrt$%F3?nywk9w)oD2G{(y&u}%$ea7PTNH?%kV`aVg&PcR=N?Jqf(|E z$+Umy8!x8hB>V$1AG-|5TP#IgR0ERSN|Ut2C17CxplU;_kMs{%6^2bu;f2VXBJ_1( zR=uAmE&M>8&&6SJSA{nIK}EbR88*x0mub4($_sfSem8vcra8_ir z4ULG}TZ>WPIt^8P9~j4rfAyEl1I8+zn^l%X{w2CZeyhIsu_gY7@(KTdgLxy@C5bsM z{(;FBz3*U95?~UV-T*How6zGfBndBs@8i4}s)UXo45Y;g0kvzZ z2+^A)xk=+I|M~OK!@bQwrCEjhh;SG6U0DU^fZadv;34;Am?n_Y3X!&_wwe^wAg8*D z5~v4r-9HL=VSMw)qVa;EmFb+Yw_y>JmqK`lEY@iIJhGAyn z^!}mFfJj={mzY!$Ks8xuA`Mg;{|Ms`_$(J!m>%aG(m(VNL{xxnaqzMIqjvv8J}CP# z>T>_19mILUwWF7y_a*1(7{(C@X$JvUVM#=tQXb4dN+~mhe;90PkM#nAKOQx zm2%Y;E!V{Sbc=vw5Iy1nK_mb~a}P0*-5QniwF-x-$jR#jBq?XV-B?JeO>4DES#|L! zuw$tn411N1RcLo?yM_=@;;ZhIo3;B<;MPF?n{NQ5}I{*I%%qN^OomxmhPxNA(jS4xf zRciInq literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_34.png b/src/sensor_fusion/design/documentation/equation/equation_34.png new file mode 100755 index 0000000000000000000000000000000000000000..ebf026271a1c85c3d28ed5a1b882604f00db212b GIT binary patch literal 3145 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 XRli=U$Ln0u00000NkvXXu0mjf0o$gm literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_37.png b/src/sensor_fusion/design/documentation/equation/equation_37.png new file mode 100755 index 0000000000000000000000000000000000000000..9312dec75af3d4c1fa3308dac92245c3fdbfe8b0 GIT binary patch literal 3950 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 M07*qoM6N<$f>JD6asU7T literal 0 HcmV?d00001 diff --git a/src/sensor_fusion/design/documentation/equation/equation_40.png b/src/sensor_fusion/design/documentation/equation/equation_40.png new file mode 100755 index 0000000000000000000000000000000000000000..10e1a07b103e82b0a0d10a77f73699adfd291921 GIT binary patch literal 2230 zcmV;n2ub&eP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2un#sK~#8N?VZ1C z<46?8^KYn5n=b!=Dm7`g*(QYwHz`saTp@6Au*G!-S6c-H;b5ypuyD;15Zi2HaJPj~ zb1X+tlOh;%EMXD3nRz2y8ol|Y$ZN-bpK4c@mHG9)-!~(9bn;9P1VIqJAPXS~f*^Xb zQwv!Y`Nv6okrtIa(B>geE|WAbR`|!S6-%wFW&TIRtG$#5j)iJfeEB#TU8D=VVU~F! z+GQpGPY?tO3#HGK@du56&5!O3}&Kga{lRQK5^h{pN7gF;rT`7}Ja zn9LvLft^!*&qil%P1M4t*3j9f;bgYEqfSrttUN zPvXTu3g6{U-+G)+E>6Pf{J`d>1Tg?yEu;8$fk%gk9j5Mzg@DwI?|5jhzNPWG{I`UA zQmBu(<}9Rk5w~C#g2>Ag=~f2fj^c+rId6n8oOU+KzBgiydCwbN#C0vi(Gu82FXQAo^tKQo!2w=RA(|bX zVsNSQ_o{8coFIym-&rxeEW}i6DU`^xM)a;~sM|+QvqtHn*$=ER7wU`?ETmOJutVp$ zsrXyLC_|@an(+Vw)ziWW;=tjP3`9HuE?n0)H^1?euW=3%VrbsRBOTB4nik?7{KBci z>1=+(GF3li7v&X#y`sbc@*nRjle;pRfw&sZ~Pz{aZL+Bzlp&!$4ll&+DU^R zOmtk>iI}SJPKu`U)qj48cK=%MLMxGpg$}e+U=%qv4!(ltz@DTO1hFTWLWv32)fJoQ zL%=rm1dUeoptwF3aSaPW=PwAn9H(OC!QVolo`}A{rNlxVt_%HDcraMYMj|)Y)7&SE?M{AC+nO3owKmA8 zKtD3Jfu%5QRC`+%d76ZQ$3wTq8IN&1_;vw795iY$u6er8k}H`JzQjVbN&MPE;Of>i zpJjiSn_Kf9iyna0Li7dj{#%2>+xks?H_5TB);L&*wqC~X4h^WbYa>ICYzV^SCiD8~ zpWQ-qjqKY61aZ)4LaAQDlK*?Lg&-;2+CrRG2KX{X^P#aJEd;8kFTgG>gx_I?wL8I} z7Q*XgxRlvK>QnQ0APXUg2FPNDGz=X=zOay&S)-~sx>bSNLhJ%9ZU!hJ z?PNSn^n!>qK^sv*qiS24Y=fTj_&zUAq%_ zT8OsRcH^|3FeDlaL5EcLp!Z-feZ|(@R_i5*qXHz}91)0xNblKfCjq}s?~0X(I4o4b zLQsusX5aAR>dyB;0$SyUjJwHcoc$|5)JlUjskEN39mEoU*DAn5S^^4^+TtoJf5L}a zK@{IIS&{XGLBXsMT3#(Yb|yC2GB%6e39Q|%=3KHzybO#W4hbG>W`#s84bvi}a zcvw|_og&*5tCI0c5c`XDTD<=Kc1y5$z2)9w%SFmsrM;aZUh9SsSLJN_=dHJr4o!8R zkD1x6cg(H#yi&>lr>QLio!BxPOS8xp=vL4+9y-oS7D607$dY>-+(HqRTIzpubjn`4B6+ESHQ5W zu??hua9W#?gSr77g9M>ecb8(|wccp4sCK7z!Z?4?Dpn0_un+YU+wRV0A4aE5X@=Q` z1kv&KI1%WYg?&e)FP%CX#{)z{t1-z!2*M!rFGG1GwMBh9eMlg6Mg2p-pYZY8X;nN4 zw*UKkgBhbj$?&c~#2m$O+`|R;Kc66o-2kum7-z%0_H -

      Determination of Gravity

      + +

      Measurement Update System

      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +

      Determination of Gravity and Linear Acceleration

      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 @@ -277,6 +304,24 @@ width="40%" height="40%"> +

      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      +

      Gravity virtual sensor data provides the measure of the direction in which the Earth’s gravitational force is observed in the device’s frame of reference. The orientation of the device decides the measure of the influence of Earth’s gravitational @@ -284,10 +329,6 @@ force on the 3-axes of the device. The following equations are used for projecti the tilt(pitch, roll) of the device on the Earth’s gravity axis to determine earth’s gravitational effect on the devices reference axis.

      -

      GRx = Earth’s Gravity * sin(pitch)

      -

      GRy = Earth’s Gravity * sin(roll)

      -

      GRz = Earth’s Gravity * cos(pitch) * cos(roll)

      -
      @@ -309,9 +350,24 @@ a device after removing the Gravity components on the 3-axes. Accurate linear acceleration data are calculated by subtracting gravity components from the 3-axes calibrated accelerometer data.

      -

      LAx = Ax – GRy

      -

      LAy = Ay – GRx

      -

      LAz = Az – GRz

      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +

      References

      -- 2.7.4 From e604e5ae802ff05364e223233d1c1f1b0a46cf34 Mon Sep 17 00:00:00 2001 From: Ramasamy Date: Fri, 5 Dec 2014 17:14:10 +0530 Subject: [PATCH 16/16] Cleanup of unsupported sensors related code - Removing code related to motion sensor - cleanup of code for unused sensors Change-Id: I8e10ad057ac007cf7576560875cb5072a9efb7df --- packaging/sensord.spec | 2 +- sensor_plugins.xml.in | 1 - sensors.xml.in | 58 ----------- src/libsensord/CMakeLists.txt | 1 - src/libsensord/client_common.cpp | 41 -------- src/libsensord/sensor_internal.h | 1 - src/libsensord/sensor_internal_deprecated.h | 1 - src/libsensord/sensor_motion.h | 150 ---------------------------- src/libsensord/sensor_orientation.h | 0 src/shared/sensor_common.h | 5 - 10 files changed, 1 insertion(+), 259 deletions(-) delete mode 100755 src/libsensord/sensor_motion.h mode change 100644 => 100755 src/libsensord/sensor_orientation.h diff --git a/packaging/sensord.spec b/packaging/sensord.spec index f5aefe8..1cab59a 100755 --- a/packaging/sensord.spec +++ b/packaging/sensord.spec @@ -79,7 +79,7 @@ cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DACCEL=%{accel_state} \ -DGYRO=%{gyro_state} -DPROXI=%{proxi_state} -DLIGHT=%{light_state} \ -DGEO=%{geo_state} -DPRESSURE=%{pressure_state} -DTEMPERATURE=%{temperature_state} \ -DORIENTATION=%{orientation_state} -DGRAVITY=%{gravity_state} \ - -DLINEAR_ACCEL=%{linear_accel_state} -DMOTION=%{motion_state} \ + -DLINEAR_ACCEL=%{linear_accel_state} \ -DTEST_SUITE=%{build_test_suite} make %{?jobs:-j%jobs} diff --git a/sensor_plugins.xml.in b/sensor_plugins.xml.in index 40faa12..f40f79a 100755 --- a/sensor_plugins.xml.in +++ b/sensor_plugins.xml.in @@ -16,7 +16,6 @@ - diff --git a/sensors.xml.in b/sensors.xml.in index 37c1c34..3c4240b 100755 --- a/sensors.xml.in +++ b/sensors.xml.in @@ -167,64 +167,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/libsensord/CMakeLists.txt b/src/libsensord/CMakeLists.txt index bb2b159..6686be2 100755 --- a/src/libsensord/CMakeLists.txt +++ b/src/libsensord/CMakeLists.txt @@ -64,7 +64,6 @@ install(FILES sensor_accel.h DESTINATION include/sensor/) install(FILES sensor_geomag.h DESTINATION include/sensor/) install(FILES sensor_light.h DESTINATION include/sensor/) install(FILES sensor_proxi.h DESTINATION include/sensor/) -install(FILES sensor_motion.h DESTINATION include/sensor/) install(FILES sensor_gyro.h DESTINATION include/sensor/) install(FILES sensor_pressure.h DESTINATION include/sensor/) install(FILES sensor_context.h DESTINATION include/sensor/) diff --git a/src/libsensord/client_common.cpp b/src/libsensord/client_common.cpp index 8acb613..24932bb 100755 --- a/src/libsensord/client_common.cpp +++ b/src/libsensord/client_common.cpp @@ -32,10 +32,8 @@ log_element g_log_elements[] = { FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, GEOMAGNETIC_SENSOR, 0, 1), FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, LIGHT_SENSOR, 0, 1), FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, PROXIMITY_SENSOR, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, THERMOMETER_SENSOR, 0, 1), FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, GYROSCOPE_SENSOR, 0, 1), FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, PRESSURE_SENSOR, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, MOTION_SENSOR, 0, 1), FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, CONTEXT_SENSOR, 0, 1), FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, GRAVITY_SENSOR, 0, 1), FILL_LOG_ELEMENT(LOG_ID_SENSOR_TYPE, LINEAR_ACCEL_SENSOR, 0, 1), @@ -45,25 +43,11 @@ log_element g_log_elements[] = { FILL_LOG_ELEMENT(LOG_ID_EVENT, GEOMAGNETIC_EVENT_CALIBRATION_NEEDED, 0, 1), FILL_LOG_ELEMENT(LOG_ID_EVENT, PROXIMITY_EVENT_CHANGE_STATE, 0,1), FILL_LOG_ELEMENT(LOG_ID_EVENT, LIGHT_EVENT_CHANGE_LEVEL, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_SNAP, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_SHAKE, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_DOUBLETAP, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_PANNING, 0, 25), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_TOP_TO_BOTTOM, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_DIRECT_CALL, 0,1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_SMART_RELAY, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_TILT_TO_UNLOCK, 0,1 ), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_SMART_ALERT, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_TILT, 0, 25), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_PANNING_BROWSE, 0, 25), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_NO_MOVE, 0, 1), - FILL_LOG_ELEMENT(LOG_ID_EVENT, MOTION_ENGINE_EVENT_SHAKE_ALWAYS_ON, 0, 1), FILL_LOG_ELEMENT(LOG_ID_EVENT, PROXIMITY_EVENT_STATE_REPORT_ON_TIME, 0, 10), FILL_LOG_ELEMENT(LOG_ID_EVENT, PROXIMITY_EVENT_DISTANCE_DATA_REPORT_ON_TIME, 0, 10), FILL_LOG_ELEMENT(LOG_ID_EVENT, CONTEXT_EVENT_REPORT, 0, 1), -#ifdef _RAWDATA_DEBUG FILL_LOG_ELEMENT(LOG_ID_EVENT, ACCELEROMETER_EVENT_RAW_DATA_REPORT_ON_TIME, 0, 10), FILL_LOG_ELEMENT(LOG_ID_EVENT, GYROSCOPE_EVENT_RAW_DATA_REPORT_ON_TIME, 0, 10), FILL_LOG_ELEMENT(LOG_ID_EVENT, GEOMAGNETIC_EVENT_RAW_DATA_REPORT_ON_TIME, 0, 10), @@ -75,7 +59,6 @@ log_element g_log_elements[] = { FILL_LOG_ELEMENT(LOG_ID_EVENT, ORIENTATION_EVENT_RAW_DATA_REPORT_ON_TIME, 0, 10), FILL_LOG_ELEMENT(LOG_ID_EVENT, PRESSURE_EVENT_RAW_DATA_REPORT_ON_TIME, 0, 10), FILL_LOG_ELEMENT(LOG_ID_EVENT, TEMPERATURE_EVENT_RAW_DATA_REPORT_ON_TIME, 0, 10), -#endif FILL_LOG_ELEMENT(LOG_ID_DATA, ACCELEROMETER_BASE_DATA_SET, 0, 25), FILL_LOG_ELEMENT(LOG_ID_DATA, GYRO_BASE_DATA_SET, 0, 25), @@ -159,13 +142,6 @@ const char* get_data_name(unsigned int data_id) bool is_one_shot_event(unsigned int event_type) { - switch (event_type) { - case MOTION_ENGINE_EVENT_SMART_ALERT: - case MOTION_ENGINE_EVENT_SMART_RELAY: - return true; - break; - } - return false; } @@ -192,14 +168,6 @@ bool is_ontime_event(unsigned int event_type) bool is_panning_event(unsigned int event_type) { - switch (event_type) { - case MOTION_ENGINE_EVENT_PANNING: - case MOTION_ENGINE_EVENT_TILT: - case MOTION_ENGINE_EVENT_PANNING_BROWSE: - return true; - break; - } - return false; } @@ -209,15 +177,6 @@ bool is_single_state_event(unsigned int event_type) case GEOMAGNETIC_EVENT_CALIBRATION_NEEDED: case LIGHT_EVENT_CHANGE_LEVEL: case PROXIMITY_EVENT_CHANGE_STATE: - case MOTION_ENGINE_EVENT_SNAP: - case MOTION_ENGINE_EVENT_SHAKE: - case MOTION_ENGINE_EVENT_SHAKE_ALWAYS_ON: - case MOTION_ENGINE_EVENT_DOUBLETAP: - case MOTION_ENGINE_EVENT_TOP_TO_BOTTOM: - case MOTION_ENGINE_EVENT_DIRECT_CALL: - case MOTION_ENGINE_EVENT_SMART_RELAY: - case MOTION_ENGINE_EVENT_TILT_TO_UNLOCK: - case MOTION_ENGINE_EVENT_NO_MOVE: return true; break; } diff --git a/src/libsensord/sensor_internal.h b/src/libsensord/sensor_internal.h index 8f2efd2..bec1487 100755 --- a/src/libsensord/sensor_internal.h +++ b/src/libsensord/sensor_internal.h @@ -43,7 +43,6 @@ extern "C" #include #include #include -#include #include #include #include diff --git a/src/libsensord/sensor_internal_deprecated.h b/src/libsensord/sensor_internal_deprecated.h index 79388be..f0a1a74 100755 --- a/src/libsensord/sensor_internal_deprecated.h +++ b/src/libsensord/sensor_internal_deprecated.h @@ -41,7 +41,6 @@ extern "C" #include #include #include -#include #include #include #include diff --git a/src/libsensord/sensor_motion.h b/src/libsensord/sensor_motion.h deleted file mode 100755 index 1fe2db5..0000000 --- a/src/libsensord/sensor_motion.h +++ /dev/null @@ -1,150 +0,0 @@ -/* - * libsensord - * - * Copyright (c) 2014 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef __SENSOR_MOTION_H__ -#define __SENSOR_MOTION_H__ - -//! Pre-defined events for the motion sensor -//! Sensor Plugin developer can add more event to their own headers - -#ifdef __cplusplus -extern "C" -{ -#endif - -enum motion_event_type { - MOTION_ENGINE_EVENT_SNAP = (MOTION_SENSOR << 16) | 0x0001, - MOTION_ENGINE_EVENT_SHAKE = (MOTION_SENSOR << 16) | 0x0002, - MOTION_ENGINE_EVENT_DOUBLETAP = (MOTION_SENSOR << 16) | 0x0004, - MOTION_ENGINE_EVENT_PANNING = (MOTION_SENSOR << 16) | 0x0008, - MOTION_ENGINE_EVENT_TOP_TO_BOTTOM = (MOTION_SENSOR << 16) | 0x0010, - MOTION_ENGINE_EVENT_DIRECT_CALL = (MOTION_SENSOR << 16) | 0x0020, - MOTION_ENGINE_EVENT_TILT_TO_UNLOCK = (MOTION_SENSOR << 16) | 0x0040, - MOTION_ENGINE_EVENT_LOCK_EXECUTE_CAMERA = (MOTION_SENSOR << 16) | 0x0080, - MOTION_ENGINE_EVENT_SMART_ALERT = (MOTION_SENSOR << 16) | 0x0100, - MOTION_ENGINE_EVENT_TILT = (MOTION_SENSOR << 16) | 0x0200, - MOTION_ENGINE_EVENT_PANNING_BROWSE = (MOTION_SENSOR << 16) | 0x0400, - MOTION_ENGINE_EVENT_NO_MOVE = (MOTION_SENSOR << 16) | 0x0800, - MOTION_ENGINE_EVENT_SHAKE_ALWAYS_ON = (MOTION_SENSOR << 16) | 0x1000, - MOTION_ENGINE_EVENT_SMART_RELAY = (MOTION_SENSOR << 16) | 0x2000, -}; - -enum motion_snap_event { - MOTION_ENGIEN_SNAP_NONE = 0, - MOTION_ENGIEN_NEGATIVE_SNAP_X = 1, - MOTION_ENGIEN_POSITIVE_SNAP_X = 2, - MOTION_ENGIEN_NEGATIVE_SNAP_Y = 3, - MOTION_ENGIEN_POSITIVE_SNAP_Y = 4, - MOTION_ENGIEN_NEGATIVE_SNAP_Z = 5, - MOTION_ENGIEN_POSITIVE_SNAP_Z = 6, - MOTION_ENGIEN_SNAP_LEFT = MOTION_ENGIEN_NEGATIVE_SNAP_X, - MOTION_ENGIEN_SNAP_RIGHT = MOTION_ENGIEN_POSITIVE_SNAP_X, - MOTION_ENGINE_SNAP_NONE = 0, - MOTION_ENGINE_NEGATIVE_SNAP_X = 1, - MOTION_ENGINE_POSITIVE_SNAP_X = 2, - MOTION_ENGINE_NEGATIVE_SNAP_Y = 3, - MOTION_ENGINE_POSITIVE_SNAP_Y = 4, - MOTION_ENGINE_NEGATIVE_SNAP_Z = 5, - MOTION_ENGINE_POSITIVE_SNAP_Z = 6, - MOTION_ENGINE_SNAP_LEFT = MOTION_ENGINE_NEGATIVE_SNAP_X, - MOTION_ENGINE_SNAP_RIGHT = MOTION_ENGINE_POSITIVE_SNAP_X, -}; - -enum motion_shake_event { - MOTION_ENGIEN_SHAKE_NONE = 0, - MOTION_ENGIEN_SHAKE_DETECTION = 1, - MOTION_ENGIEN_SHAKE_CONTINUING = 2, - MOTION_ENGIEN_SHAKE_FINISH = 3, - MOTION_ENGINE_SHAKE_BREAK = 4, - MOTION_ENGINE_SHAKE_NONE = 0, - MOTION_ENGINE_SHAKE_DETECTION = 1, - MOTION_ENGINE_SHAKE_CONTINUING = 2, - MOTION_ENGINE_SHAKE_FINISH = 3, -}; - -enum motion_doubletap_event { - MOTION_ENGIEN_DOUBLTAP_NONE = 0, - MOTION_ENGIEN_DOUBLTAP_DETECTION = 1, - MOTION_ENGINE_DOUBLTAP_NONE = 0, - MOTION_ENGINE_DOUBLTAP_DETECTION = 1, -}; - -enum motion_top_to_bottom_event { - MOTION_ENGIEN_TOP_TO_BOTTOM_NONE = 0, - MOTION_ENGIEN_TOP_TO_BOTTOM_WAIT = 1, - MOTION_ENGIEN_TOP_TO_BOTTOM_DETECTION = 2, - MOTION_ENGINE_TOP_TO_BOTTOM_NONE = 0, - MOTION_ENGINE_TOP_TO_BOTTOM_WAIT = 1, - MOTION_ENGINE_TOP_TO_BOTTOM_DETECTION = 2, -}; - -enum motion_direct_call_event_t { - MOTION_ENGINE_DIRECT_CALL_NONE, - MOTION_ENGINE_DIRECT_CALL_DETECTION, -}; - -enum motion_smart_relay_event_t { - MOTION_ENGINE_SMART_RELAY_NONE, - MOTION_ENGINE_SMART_RELAY_DETECTION, -}; - -enum motion_tilt_to_unlock_event_t { - MOTION_ENGINE_TILT_TO_UNLOCK_NONE, - MOTION_ENGINE_TILT_TO_UNLOCK_DETECTION, -}; - -enum motion_lock_execute_camera_event_t { - MOTION_ENGINE_LOCK_EXECUTE_CAMERA_NONE, - MOTION_ENGINE_LOCK_EXECUTE_CAMERA_L_DETECTION, - MOTION_ENGINE_LOCK_EXECUTE_CAMERA_R_DETECTION, -}; - -enum motion_smart_alert_t { - MOTION_ENGINE_SMART_ALERT_NONE, - MOTION_ENGINE_SMART_ALERT_DETECTION, -}; - -enum motion_no_move_t { - MOTION_ENGINE_NO_MOVE_NONE, - MOTION_ENGINE_NO_MOVE_DETECTION, -}; - -enum motion_property_id { - MOTION_PROPERTY_UNKNOWN = 0, - MOTION_PROPERTY_CHECK_ACCEL_SENSOR, - MOTION_PROPERTY_CHECK_GYRO_SENSOR, - MOTION_PROPERTY_CHECK_GEO_SENSOR, - MOTION_PROPERTY_CHECK_PRIXI_SENSOR, - MOTION_PROPERTY_CHECK_LIGHT_SENSOR, - MOTION_PROPERTY_CHECK_BARO_SENSOR, - MOTION_PROPERTY_LCD_TOUCH_ON, - MOTION_PROPERTY_LCD_TOUCH_OFF, - MOTION_PROPERTY_CHECK_GYRO_CAL_STATUS, -}; - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif -//! End of a file diff --git a/src/libsensord/sensor_orientation.h b/src/libsensord/sensor_orientation.h old mode 100644 new mode 100755 diff --git a/src/shared/sensor_common.h b/src/shared/sensor_common.h index 10c5918..c819197 100755 --- a/src/shared/sensor_common.h +++ b/src/shared/sensor_common.h @@ -49,14 +49,9 @@ typedef enum { GEOMAGNETIC_SENSOR, LIGHT_SENSOR, PROXIMITY_SENSOR, - THERMOMETER_SENSOR, GYROSCOPE_SENSOR, PRESSURE_SENSOR, - MOTION_SENSOR, - FUSION_SENSOR, CONTEXT_SENSOR, - FLAT_SENSOR, - AUTO_ROTATION_SENSOR, GRAVITY_SENSOR, LINEAR_ACCEL_SENSOR, ORIENTATION_SENSOR, -- 2.7.4