|
|
| 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.==== | |
| | |
| 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.
| |
| | |
| Auto calibration task is launched on one of these conditions (assume calibration is enabled in configuration):
| |
| *Every time device turns on, it checks whether it was previously calibrated and has calibration stored in flash. If device has no calibration in flash, auto calibration task is started.
| |
| *Device calibration was previously disabled by configuration and now is enabled.
| |
| *SMS “auto_calibrate:set” is received. Note: SMS response is sent after calibration has been acquired.
| |
| This SMS triggers an SMS response to be sent. Response is sent when calibration is acquired. When 1 hour passes without successful calibration, failed SMS response is sent.
| |
| *Calibrated device’s mean axes of set interval differ more than set amount from desired (0,0,1) calibration is considered inaccurate. Calibration is deleted from flash and auto calibration task started.
| |
| After auto calibration task has been started, it will go on indefinitely until satisfactory calibration is acquired.<br />
| |
| | |
| =====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> |