If you can put a man on the moon, can you take a look at my car?
Today I welcome my colleague Paul Barnard to guest post about the final report from the NHTSA-NASA Study of Unintended Acceleration in Toyota Vehicles.
By Paul Barnard
I just read the final report from the NASA Engineering and Safety Center (NESC) as part of the National Highway Transportation Safety Administration (NHTSA) investigation concerning unintended acceleration of Toyota vehicles. I was interested in the report because NASA used MATLAB and Simulink in their investigation. It’s pretty cool that MATLAB and Simulink were considered essential in a project of this magnitude.
The report focuses its investigation on two possible electronic failures. One was potential failures in the pedal position sensors and the other concerned a software malfunction in the main CPU. For the software malfunction, NESC looked for both coding defects and for algorithm flaws. This is where it gets interesting.
They looked at more than 280,000 lines of code from a representative Camry engine control unit. In order to verify the logic and understand the functionality of the code, the team used Model-Based Design. They built a high-fidelity model, using MATLAB and Simulink, for the software and the hardware to explore system design and implementation, failure causes and effects. Simulation scenarios were run and model responses were then compared to the actual vehicle responses to verify that the models were accurate. The software models provided insight into how the ECM was supposed to work. In effect, they used MATLAB to discover how the system is supposed to work and how it can fail. This allowed them to look for system vulnerabilities.
Beyond that, it was interesting to note that they found another benefit in using Model-Based Design.
“The MBD approach also supported the dissemination of the software functions and behaviors to the team as a whole. Presentations of the software in this manner efficiently communicated the software within the MY 2005 Camry microcontrollers without exposing the native source code.”
Improving team communication is often one of the reasons cited for adoption of Model-Based Design. Simulating the system models and using these models for design communication are two of the key values that Model-Based Design provides.
In the end, no major flaws in the control unit were detected, but now, there is a lot more understanding.
What do you think?
How does your organization use Model-Based Design to improve communication and understanding? Leave a comment here with your ideas.
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.