Changes

m
no edit summary
Line 10: Line 10:  
Once vehicle‘s axes are calculated, device is considered calibrated.<br>
 
Once vehicle‘s axes are calculated, device is considered calibrated.<br>
 
<br>
 
<br>
Note: moving forward along any axis will generate negative values. This means acceleration will generate -X values, accordingly breaking will generate X values. Same goes for other axes. <br>
+
'''Note:''' moving forward along any axis will generate negative values. This means acceleration will generate -X values, accordingly breaking will generate X values. Same goes for other axes. <br>
    
Configurable parameters can be found at [[{{{model|FMB1YX}}}_System_settings#Accelerometer_Auto_Calibration|System Settings Accelerometer Auto Calibration]]
 
Configurable parameters can be found at [[{{{model|FMB1YX}}}_System_settings#Accelerometer_Auto_Calibration|System Settings Accelerometer Auto Calibration]]
Line 29: Line 29:  
|}
 
|}
 
</center>
 
</center>
====Auto calibration before firmware version 03.25.07.Rev.00.====
  −
Accelerometer auto calibration functionality has one purpose - determine how FMB device
  −
is mounted in a vehicle. After the calibration process ''eco driving'' functionality becomes active
  −
and calibration data will be used to determine harsh acceleration, braking and cornering events.<br />
  −
There are two conditions when auto calibration takes place:<br />
     −
*If on device startup no calibration was detected;
+
======Auto-calibration======
*If the device receives an SMS/GPRS message with ''auto_calibrate:set'' text.<br />
  −
 
  −
After functionality has started FMB device periodically checks current appliance GNSS,
  −
ignition and movement source parameters and if the conditions match:<br />
  −
 
  −
*position fix got;
  −
*GNSS speed is zero;
  −
*ignition is ON;
  −
*first calibration vector was not saved yet;<br />
  −
 
  −
Then first vector is taken. Saved vector will be considered as ground vector and it will be
  −
used at further calibration calculations.<br />
  −
''Note: When FMB device saves first ground vector vehicle must be parked on flat ground''.
  −
Crooked vector may have an impact on further calculations.<br />
  −
Afterwards first ground vector was taken, device analyses conditions:<br />
  −
 
  −
*position fix got;
  −
*GNSS speed is at least 20 km/h;
  −
*ignition is ON;
  −
*second vector was not saved yet;
  −
*vehicle driving in the same direction with 5⁰ tolerance;
  −
*vehicle speed increase by 7km/h within 1 second.<br />
  −
 
  −
For next vector. Second vector will be taken if all conditions match. Immediately after
  −
second vector is received, it will be multiplied by first (ground) vector, the result of these
  −
vectors is vector multiplication cross product which is the right side of a car. By using
  −
same vector multiplication method, device front, left side will be calculated. At this point
  −
calibration is successfully ended as indication device sends an SMS/GPRS message with
  −
''Device is calibrated, to recalibrate send:auto_calibrate:set''.<br />
  −
''Note: SMS/GPRS message will be sent only if auto calibration functionality was triggered by''
  −
SMS/GPRS message''.<br />''
  −
For user convenience in case auto calibration functionality fails then notification message
  −
will be sent. For exact messages, check algorithm section.<br />
  −
''Note: SMS/GPRS message will be sent only if auto calibration functionality was triggered by''
  −
SMS/GPRS message''.<br />''
  −
To get current calibration status ''auto_calibrate:get'' SMS/GPRS command must be sent to
  −
the device. If device is calibrated it will respond with ''Calibration state: calibrated'' or otherwise
  −
''Calibration state: not calibrated''. Also this command returns saved Ground and Side vectors.<br />
  −
After every TRIP START event, device starts shadow calibration. This type of calibration is
  −
running in parallel with already saved vectors (this means that vectors does not reset until
  −
shadow calibration have both new vectors). After shadow calibration is done, device updates the
  −
vector values to the new ones. There are two conditions when shadow calibration does not run
  −
at TRIP start event:<br />
  −
 
  −
*Normal calibration is still running.
  −
*Shadow calibration is still running from previous TRIP event.<br />
  −
 
  −
To take ground vector these conditions should be met:<br />
  −
 
  −
*Ignition is ON
  −
*Device got GPS FIX
  −
*Vehicle speed = 0km/h<br />
  −
 
  −
Device will check these conditions every 1sec until they will pass.<br />
  −
To take side vector these conditions should be met:<br />
  −
 
  −
*Vehicle speed >= 20km/h
  −
*Device got GPS FIX
  −
*Ignition is ON
  −
*Device angle does not change more than 5 degrees in past 1 sec
  −
*Speed need to increase by 7km/h in 1s period.<br />
  −
 
  −
Device will check these conditions every 1 sec until they will pass.<br />
  −
 
  −
 
  −
====Auto calibration rework and improvements from firmware version 03.25.07.Rev.00.====
  −
 
  −
*Exponential moving average (EMI) Filter added.
  −
 
  −
=====Auto-calibration Improvement=====
      
Auto calibration task is launched on one of these conditions (assume calibration is enabled in configuration):<br>
 
Auto calibration task is launched on one of these conditions (assume calibration is enabled in configuration):<br>
Line 127: Line 52:  
Once both buffers are full, auto calibration is attempted. If calibrated values pass calibration quality threshold, calculated calibration is written to flash as current calibration – device is calibrated. <br>
 
Once both buffers are full, auto calibration is attempted. If calibrated values pass calibration quality threshold, calculated calibration is written to flash as current calibration – device is calibrated. <br>
 
Note: If GPS fix is lost or ignition is turned off, buffers’ data is dumped and must be gathered from 0 again.<br>
 
Note: If GPS fix is lost or ignition is turned off, buffers’ data is dumped and must be gathered from 0 again.<br>
 +
 +
At this point calibration is successfully ended as indication device sends an SMS/GPRS message with ''Device is calibrated, to recalibrate send:auto_calibrate:set.<br>''
 +
 +
''Note: SMS/GPRS message will be sent only if auto calibration functionality was triggered by SMS/GPRS message.''
 +
For user convenience in case auto calibration functionality fails then notification message will be sent. For exact messages, check algorithm section.<br>
 +
''Note: SMS/GPRS message will be sent only if auto calibration functionality was triggered by SMS/GPRS message.''
 +
To get current calibration status ''auto_calibrate:get'' SMS/GPRS command must be sent to the device. If device is calibrated it will respond with ''Calibration state: calibrated'' or otherwise ''Calibration state: not calibrated''. Also this command returns saved Ground and Side vectors.<br>
 +
    
=====Re-Calibration=====
 
=====Re-Calibration=====
   −
When calibration is present, device checks for re-calibration every 60s indefinitely. Re-calibration requires fix and ignition to run also re-calibration is turned off when vehicle is stopped for more than 15s until conditions are satisfied again. When calibrated device’s mean axes of set interval(calibrated accelerometer data) differ more than set amount from desired (0,0,1) (perfect vehicle’s axes) calibration is considered inaccurate, or device’s position has changed and re-calibration is needed. Calibration is cleared from flash and auto calibration task is started.<br>
+
When calibration is present, device checks for re-calibration every 60s indefinitely. Re-calibration requires fix and ignition to run also re-calibration is turned off when vehicle is stopped for more than 15s until conditions are satisfied again. When calibrated device’s mean axes of set interval(calibrated accelerometer data) differ more than set amount from desired (0,0,1) (perfect vehicle’s axes) calibration is considered inaccurate, or device’s position has changed and re-calibration is needed. Calibration is cleared from flash and auto calibration task is started.<br/>
 
+
Note: turning device around calibrated Z axis will not trigger re-calibration, after turning device around Z axis manual re-calibration is advised. After calibration if quality value is less than 0.80, calibration update functionality is run. Calibration update constantly tries calibrating device in background until 0.80 quality is reached. Calibration update functionality does not change calibration if calculated new calibration quality is less than 0.80.<br/>
Note: turning device around calibrated Z axis will not trigger re-calibration, after turning device around Z axis manual re-calibration is advised.
  −
After calibration if quality value is less than 0.80, calibration update functionality is run. Calibration update constantly tries calibrating device in background until 0.80 quality is reached. Calibration update functionality does not change calibration if calculated new calibration quality is less than 0.80.
   
{{{excessive_idling|
 
{{{excessive_idling|
   Line 167: Line 98:  
==Towing Detection==
 
==Towing Detection==
   −
[[Image:Fmb120_towing.png|right]]
+
[[Image:Fmb120_towings.png|right|250px]]
    
''Towing Detection'' feature helps to inform the driver about unexpected car movement when it was parked. {{{model|FMB1YX}}} generates an event when car is being towed or lifted, for example, in a case of vehicle evacuation. {{{model|FMB1YX}}} activates towing function when following conditions are met:
 
''Towing Detection'' feature helps to inform the driver about unexpected car movement when it was parked. {{{model|FMB1YX}}} generates an event when car is being towed or lifted, for example, in a case of vehicle evacuation. {{{model|FMB1YX}}} activates towing function when following conditions are met:
Line 177: Line 108:  
==Crash Detection==
 
==Crash Detection==
   −
[[File:Crash Detection cfg.PNG|right]]
+
[[File:Crash Detection.PNG|right]]
 
[[Crash_trace|Click here to enter Crash Tracer data parsing page]]
 
[[Crash_trace|Click here to enter Crash Tracer data parsing page]]