Author: Paul Ciolek, Junior Embedded Systems Developer
Seatbelt information is crucial to many of Geotab’s customers. However, it is not always as easy to retrieve as its physical simplicity may imply.
Seatbelt data is not mandated by OBD-II specifications.
This means that different vehicle models, makes, and years can all report seatbelt data differently. Because of this, Geotab goes the extra mile to obtain proprietary seatbelt information. Geotab’s plug-and-play solution, the GO device, employs a complex detection and verification algorithm to combat these difficulties in order to cater for as many vehicles as possible. The GO device will report data it believes is seatbelt data, but only when a piece of data passes the verification process will Geotab start reporting seatbelt.
Obtaining Seatbelt Data
While it seems seatbelt data should be straightforward to report, as there are only two states – buckled or unbuckled – in actuality, it is not! The many complexities include:
- Seatbelt data is proprietary, this means that different models and makes report the data in different locations through different pids (Parameter IDs, code used to request engine data). Where one car reports seatbelt data another car could report an ajar door.
- Sometimes, seatbelt data is broadcasted voluntarily, while at other times the data needs to requested from the engine computer, and further, sometimes data is only reported once when the state changes. The GO device needs to be able to process all circumstances that seatbelt data is presented in.
- Seatbelt data can be very “bouncy” as it often tends to jump around for the first few seconds of ignition on, before it finally settles to the correct value. One would not expect 20+ buckled and unbuckled events within the first few seconds of ignition on! The telematics GO device must determine this is the correct seatbelt data once it settles
- Some drivers still never use a seatbelt, which others use it in an unusual manner such as just taking it off in the middle of trips. Taking into account unusual driver behaviour also makes it challenging for the GO device to verify seatbelt data.
Detecting and Verifying Seatbelt Data
The following describe the various stages that the GO device must go through in the seatbelt detection process in order to be an “all in one” solution:
- Needs to be able to scan through all the broadcasted data and try all the various seatbelt requests.
- Once the GO device identifies possible seatbelt data, it then detects if it is in fact seatbelt data, and not some other piece of data such as the driver door opening.
- If it is false data, the device will skip it and need to return to search for another piece of data that could be seatbelt
- Account for various random seatbelt events such as:
- Drivers unbuckling their seatbelt to deliver a package but leaving ignition on
- Drivers unbuckling at high speeds to get something out of their pockets
- Drivers buckling up before ignition on
- Drivers unbuckling after ignition off
- Drivers unbuckling before coming to a complete stop
One can surely speculate how the list can go on and on for various different driver behaviors. Geotab’s detection system caters for many of these events to verify seatbelt data before it starts being reported to the customer. The GO device processes when unbuckled and buckled events occur during the trip and use other pieces of engine data before the device decides how likely that this piece of data is truly seatbelt data.
Geotab is constantly adding new seatbelt data for more and more models, makes and years. The detection and verification process is continuously being updated to account for new seatbelt information and the different ways seatbelt can behave in vehicles and fleets.
Let’s hear your seatbelt questions – ask away in the comment box below!