Dynamic Test Scheduling in Hardware-In-the-Loop Simulation of Commercial Vehicles
Krishna R. Pattipati, Robert S. Lynch
Modern day commercial vehicles are controlled by various Electronic Control Units (ECU). They are not only tested as single units, but also by networking them in Controlled Area Network bus (CAN) to form a complete electrical control system. This is achieved using Hardware In the Loop (HIL) Integration Lab. In HIL, the electrical system is connected to a real time mathematical model of the vehicle plus it’s environment so as to form a loop.
Testing functionality of the electrical system begins by defining functional tests. An example would be testing cruise control activation. Executing each test is made possible by parameterizing variables in the vehicle dynamic model and externally controlling them.
HIL based Verification and Validation (V&V) is moving towards automation. This is because of the complexity of electrical control systems is increasing and manual V&V is time consuming. In an automated test environment, a Test Engineer develops test scripts to implement functional tests. These test scripts execute the vehicle model in real time, control parameterized variables, and observe the electrical system response. This is compared to the expected response to decide if a functional test passed or failed.
Tests are designed to remain independent of each other. Scheduling of tests is done by the Test Engineer, which is a difficult task owing to their large number and possible combinations. Hence, the normal practice is to execute tests in a predefined sequence.
To solve the test scheduling problem in Hardware In the Loop simulation, two solutions are proposed. Both the solutions exploit relationship between test case and state of the vehicle in a dynamic simulation environment. An example of such relationship is engaging cruise control only when vehicle speed is above 20 km/h. It can be proved that a test process that is sensitive to the simulation environment will be more realistic and hence efficient.
One solution is to model the test execution as a state machine. Tests are treated as states. Entry conditions for each state are defined using state variables of the dynamic model. When a simulation is run, state variables of the dynamic model are sampled in real time. One sample of state variables trigger a transition from one state to another in the state machine. When the state machine is in one state, a test case corresponding to that state is selected and executed. A sequence of these transitions results in a test process evolving in time.
The second proposed solution is functionally similar to a state machine but it’s implementation is derived from logic design. Here, one sample of state variables is compared with entry conditions of each test case. Test cases whose entry conditions match with the current sample are selected for execution.
Both the solutions use Failure Mode Effective Analysis (FMEA) to resolve test selection conflicts, that is, situations where more than one test is selected.
Results show that test execution using this approach is sensitive to the simulation environment and comparable to that of a real test drive scenario. An improvement in test efficiency both in Qualitative and Quantitative terms is also achieved. Test runs show how the new method of test execution allows faults to propagate from one test to another like in a real test drive.