Author: Paul Ciolek, Junior Embedded Systems Developer
Seat belt information is crucial to many of Geotab’s customers. However, it is not always as easy to retrieve as its physical simplicity may imply.
Seat Belt Data Is Not Mandated by OBD II Specifications
This means that different vehicle models, makes, and years can all report seat belt data differently. Because of this, Geotab goes the extra mile to obtain seat belt 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 seat belt data, but only when a piece of data passes the verification process will Geotab start reporting seat belt.
Obtaining Seat Belt Data
While it seems seat belt data should be straightforward to report, as there are only two states – buckled or unbuckled – in actuality, it is not! The many complexities include:
- Seat belt data is specific to the vehicle manufacturer. 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 seat belt data another car could report an ajar door.
- Sometimes, seat belt 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 seat belt data is presented in.
- Seat belt 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 seat belt data once it settles
- Some drivers still never use a seat belt, 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 seat belt data.
Detecting and Verifying Seat Belt Data
The following describe the various stages that the GO device must go through in the seat belt 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 seat belt requests.
- Once the GO device identifies possible seat belt data, it then detects if it is in fact seat belt 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 seat belt
- Account for various random seat belt events such as:
- Drivers unbuckling their seat belt 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 seat belt 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 seat belt data.
Geotab is constantly adding new seat belt data for more and more models, makes and years. The detection and verification process is continuously being updated to account for new seat belt information and the different ways seat belt can behave in vehicles and fleets.
Let’s hear your seat belt questions – ask away in the comment box below!