About the Customer:

Our customer is a Tier 2 supplier of advanced AI-driven automotive safety technology based on decades of scientific research.

Business Challenge:

The customer had designed a driver monitoring system that would be installed in trucks. The system monitors the driver’s eye behaviour and facial expressions with the help of a Driver Facing Camera (DFC). It detects driver alertness, wakefulness and attentiveness and intervenes in case of any unsafe driving behaviour.

The hardware components of the driver monitoring system included:

  • In-cabin sensor – Tracks eye closure and head position to provide protection against fatigue and distraction.
  • Controller – A fan-less computer which is the heart of the driver monitoring system. All peripherals and power are connected to it.
  • Forward facing camera – Installed in front of the vehicle to capture footages of the road
  • Vibration Sensors - Vibrates the driver’s seat when fatigue or distraction is detected (by monitoring driver’s facial expressions and driving behavior).

The data collected by the system is also stored on the cloud.

Driver Monitoring System

The customer was seeking an experienced partner for automated testing and validation of their driver monitoring system. Since the IoT team at Embitel has worked on similar projects in the past, they decided to partner with us.

Embitel Solution:

Automation testing and validation of the system:

  • We leveraged NI TestStand HIL System to automate the test sequences and validate the outcome. This is a customized product that takes inputs from the front camera, road facing camera, CAN bus, etc.
  • Python scripts and NI LabVIEW programs are integrated in the code for certain functions.
  • Devices involved in testing are programmable power supply, CMW for RF testing, GPS Module, NI FPGA modules, etc.

We simulated the events and analysed the system response based on the logs captured in the system.

How does the camera capture the driver’s expressions in the automation testing scenario?

We simulated the driver’s expressions manually by mimicking the gestures of a tired driver (eg. closing the eyes) in front of the driver facing camera. We also recorded various expressions in video files so that an extensive list of test cases is captured on video. These videos are used as input for the testing and validation. Test Automation sequences were designed with NI TestStand tool and followed with Test Execution.

What type of test cases did we execute for the driver facing camera?

The configuration file has different parameters such as blinking time, eyes closure time, etc. that helps in monitoring fatigue. Our team created the configuration file and loaded it on the driver monitoring system. The configuration file along with the recorded test case videos are provided as input for the testing. It is possible to simulate the CAN (or any other BUS) signals as well and provide that as input.

The tests are then automatically executed in sequence. When the eye closure time is more than the configured time, the system gives an alert such as a feedback vibration. Every event like fatigue, distraction, overspeed, etc. is updated in the logs. Changes in the configuration can be easily performed and deployed into the System to evaluate Negative scenarios with the Test System.

Later, our testing team monitors the logs and validate whether the tests have passed or failed. We also validate the output to ensure that all scenarios are covered.

The logs are updated on the cloud server when the system is connected to the internet and there is good network signal reception.

Embitel Impact:

Successful automation testing of driver monitoring system – The automated testing processes we followed reduced manual testing efforts and expedited the testing phase significantly.

Tools and Technologies:

  • Customized NI HIL System according to the Project requirements
  • NI Labview: To develop Test Automation scripts
  • NI TestStand: To automate Test Sequences of NI Labview scripts and other scripts (Shell commands, Python scripts, etc) and to perform Test Execution

to Help!