One of the two simulation packages that we used was CarMaker, developed by IPG Automotive. It is a mature commercial simulator that is used extensively in the automotive industry.
The installation and setup process was straightforward, and it comes with a number of demonstrator simulations which show its capabilities. These demos cover an extensive range of automotive areas including vehicle chassis and dynamics, powertrain (including hybrid), and ADAS (Advanced Driver Assistance Systems) systems, reflecting the history and the broad industry usage of the package.
CarMaker also includes some vehicle control software, for example for ACC (Adaptive Cruise Control) which we used to control our vehicle.
Modifications to the simulator software
Most CarMaker users would set up, run and analyse their tests using CarMaker’s GUI (Graphical User Interface), but CarMaker also provides the capability for the user to customise the software further by adding their own C code.
We used this facility in order to meet our data logging requirements, and to integrate CarMaker seamlessly into the rest of our software workflow. The process to do this is clearly laid out within CarMaker’s documentation, and we found that, for a closed-source commercial software package, there was actually a wide range of customisations possible.
Setting up and running the driving scenarios
The base scenario we chose to simulate was a motorway / highway based ACC one. It is a development of Euro NCAP's ACC cut-out scenario. This was set up within CarMaker so that we could programmatically modify the scenario’s parameters in order for us to control how the AV vehicle and the other vehicles would behave. Our software communicated with CarMaker using CarMaker’s “remote GUI control” interface.
Based on the logged data from each run, our directed search algorithms then calculate several safety-related performance criteria which it then uses to generate subsequent tests, in order to find the problematic ones.
We created a fully automated workflow that started up CarMaker, ran the multitude of tests that we wanted to perform, collected and analysed the data, and used this knowledge to define and run new tests. This ran on desktop PCs as well as on cloud-based virtual machines. We normally ran tests faster than real-time, and also sometimes ran multiple parallel instances of CarMaker in order to maximise the use of the multi-core CPU.
We were able to run thousands of simulation tests in CarMaker within a fully automated workflow. It is a powerful simulator which is under constant development and, as one would expect from mature commercial software, is stable, reliable and with excellent documentation.
CarMaker is a widely used simulation tool within the automotive industry, and used by many of our potential customers. It was therefore extremely useful to gain experience in configuring and using it, and to incorporate it into our software workflow.
Although it is closed-source commercial software, we were able to integrate our own C code into it in order to tailor its behaviour to our needs.
We gained expertise in developing and using several KPIs specific to an ACC system operating in a highway environment.
We would like to thank IPG Automotive for their help and support in providing the CarMaker software for our development work.