Ford Develops MATLAB Based Tool for Analyzing Drive-Cycle Test Results
Enable automotive engineering teams to evaluate the emissions, fuel economy, and performance of vehicles during drive-cycle tests
Use MATLAB to develop and distribute a production tool that analyzes and compares simulation and test results
- Development accelerated with professional support
- One-off scripts transformed into widely used software
- Domain expertise extended
Engineers from Ford’s Vehicle Energy Management Engineering global team are responsible for evaluating the emissions, fuel economy, and performance of Ford vehicles. Before conducting drive-cycle tests on hardware, they use modeling and simulation to make design tradeoffs, optimize parameters, and predict performance. When hardware is available, they compare hardware test results with simulation results. In the past, this process was completed in spreadsheets or ad hoc scripts that varied from program to program.
To increase the consistency of drive-cycle test result analysis, Ford engineers created CycleTool. CycleTool enables teams to assess system performance, generate reports, track data from multiple test facilities, and identify the root cause of discrepancies between simulation and hardware test results. It includes 60,000 lines of MATLAB® code and was built using a modern software development methodology that incorporates automated testing and continuous integration.
“When we started developing CycleTool, MATLAB made it possible to keep everything in a single environment, since most models at Ford are developed in MATLAB or Simulink,” says a CAE engineer at Ford. “We started small and used the object-oriented capabilities of MATLAB to manage growth as the tool evolved over time.”
In the past, each Ford team used its own spreadsheets or custom scripts to analyze test results. This approach was inconsistent, duplicated effort, and made it difficult for teams to share new features or methods. Ford wanted to eliminate these drawbacks by standardizing on a single tool.
To facilitate widespread use of the tool, the engineers needed to add database support and an easy-to-use interface to the initial version. In addition, the process for continued development of the tool needed to incorporate version control, defect tracking, and automated tests.
Ford engineers developed early versions of CycleTool in MATLAB and worked with MathWorks consultants to establish a workflow for completing development and distribution.
The engineers used MATLAB with Statistics and Machine Learning Toolbox™ to implement statistical and analytical methods for denoising, normalizing, and analyzing test results and comparing them with simulation results.
Using the object-oriented capabilities of MATLAB and the model-view-controller design pattern, the team developed an interface that simplified the configuration of CycleTool and the creation of standard charts and reports. To enable powertrain and testing teams in different locations to share results in CycleTool, the engineers used Database Toolbox™ to add support for storing data in a central database.
After using the MATLAB Unit Test framework and mocking framework to create automated tests for verifying CycleTool components, the team implemented a database testing framework that uses Docker containers to launch and populate database instances.
They integrated the automated tests into a complete software development workflow that incorporates Jira for defect tracking and agile project management, GitHub® for version control, and Jenkins™ for continuous integration.
Ford teams in the UK, Germany, Australia, Mexico, US and China now use CycleTool. The development team is in the process of expanding the tool to integrate with Ford global databases and enterprise systems.
- Development accelerated with professional support. “The MathWorks engineers who worked with our team were clearly on the cutting edge of industry development practices,” says a technologies implementation technical expert at Ford. “The expert and timely advice they provided enabled us to build CycleTool and improve our development process much faster than if we had tried to do it all ourselves.”
- One-off scripts transformed into widely used software. “When the people using a tool are different from the people developing it, you have to start treating it as a real product,” says a technologies implementation technical expert. “MATLAB enabled us to make this transition and integrate version control, automated testing, defect tracking, and continuous integration into our development process.”
- Domain expertise extended. “Automotive engineers are not necessarily well-versed in software development or data science,” notes a CAE engineer. “The MATLAB environment, with its built-in functionality and clear documentation, made it easy for us to apply our skills—and develop new ones—in building and rolling out an actual software product.”