Difference between revisions of "FMB Accelerometer Features settings(03.28.XX)"
Line 79: | Line 79: | ||
* '''Updated recalibration algorithm''' | * '''Updated recalibration algorithm''' | ||
− | * '''Calibration status IO added''' | + | * '''Calibration status IO added: 4 possible options (0-no calibration, 1-calibrated, 2-calibration disabled, 3-Full and final calibration)''' |
* '''Added ground vector capturing while driving''' | * '''Added ground vector capturing while driving''' | ||
* '''Trip simulator feature''' | * '''Trip simulator feature''' |
Revision as of 19:34, 10 March 2023
Accelerometer Calibration
Calibration algorithm is used to recalculate accelerometer axes to represent vehicle‘s axes (see Picture below). Vehicles axes are as follows:
1. X is front.
2. Y is left.
3. Z is down.
Once vehicle‘s axes are calculated, device is considered calibrated.
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.
Configurable parameters can be found at System Settings Accelerometer Auto Calibration
Commands that can be used during calibration:
Command | Response | Description |
---|---|---|
auto_calibrate:set | Yes | Request auto calibration task start |
auto_calibrate:get | Yes | Request calibration info (time, ground vector, side vector) |
auto_calibrate:clear | Yes | Request calibration clear from flash and stop calibration task |
auto_calibrate:status | Yes | Request calibration status and calibration task status |
*auto_calibrate:tryforever | Yes | Enable Forever Mode – calibration status will be sent until reset |
Auto-calibration
Auto calibration task is launched on one of these conditions (assume calibration is enabled in configuration):
1. 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.
2. Device calibration was previously disabled by configuration and now is enabled. If Full calibration is already stored, it will not be overwritten.
3. 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.
4. 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.
HDOP and PDOP values are checked before start calibration process. If current HDOP or PDOP values are less than 10, auto calibration will not start.
After auto calibration task has been started, it will go on indefinitely until satisfactory calibration is acquired.
Data Required
Auto calibration needs to fill two buffers to calibrate the device:
1. All accelerometer data – buffer which collects all data from accelerometer at 10Hz frequency. To fill this buffer set seconds of data samples are needed. When buffer is full, oldest data is dumped and new data is placed into the buffer.
2. Straight accelerometer data – buffer which collects straight accelerations data from accelerometer at 10Hz frequency. To fill this buffer set seconds of data samples (set times Hz samples) are needed. When buffer is full, oldest data is dumped and new data is placed into the buffer. Algorithm rules to acquire these samples:
2.1. GPS fix is present.
2.2. Ignition is on.
2.3. GPS speed is more than 5 km/h.
2.4. GPS heading is equal to last GPS heading (+/-1 degree) at GPS sample rate 1Hz.
2.5. GPS speed more than 5 km/h from last sample (accelerating).
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.
Note: If GPS fix is lost or ignition is turned off, buffers’ data is dumped and must be gathered from 0 again.
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.
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.
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.
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.
Note: turning device around calibrated Z axis will not trigger re-calibration, after turning device around Z axis manual re-calibration is advised.
From FW 03.28.03 recalibration algorithm will collect 15 recalibration requests in sequence to start recalibration. When position change is detected, calibration data is cleared and status is changed to “Empty”. After first successful calibration attempt (in a few minutes) status is changed to “Present”. After full calibration status is changed to “Full” and calibration check is started again.
Major accelerometer Changes from Firmware 03.28.XX
- Updated recalibration algorithm
- Calibration status IO added: 4 possible options (0-no calibration, 1-calibrated, 2-calibration disabled, 3-Full and final calibration)
- Added ground vector capturing while driving
- Trip simulator feature
- Improvements in following topics:
- FW/BACK detection
- Full calibration evaluation
- Vector quaternion renewal after full calibration
Excessive Idling
When vehicle stops for a specific amount of time the scenario is activated, a record will be generated and digital output status will be changed to 1 when configured. You can configure the time it takes to turn on this scenario (Time to Stopped). Scenario is activated until the vehicle starts moving (movement is detected only by the accelerometer) and keeps moving for an amount of time that is configured. You can configure the time it takes to turn off this scenario (Time to Moving)
info
Unplug Detection
An event will be generated when FMB1YX is unplugged from external power or plugged back in again.
Scenario settings
- Disable - disable scenario.
- Low Priority - when low priority event is triggered, device makes additional record with indication of event cause.
- High Priority - module makes additional record with High priority flag and sends event packet immediately to the server by
GPRS.
- Panic Priority - triggers same actions as High priority, but if GPRS fails, it sends AVL packet using SMS mode if SMS is enabled in SMS Data Sending settings.
Eventual Records
- Disable - scenario status value is sent in each AVL record.
- Enable - scenario status value is sent only in eventual AVL records.
Unplug Detection mode
- Simple - unplug detection according to external voltage only. Is used in cars where power voltage is not dependent on ignition (recommended).
- Advanced - unplug detection according to external votage and accelerometer. Is used in cars where power voltage is disconnected when ignition is switched off.