The AEKD-AICAR1 evaluation kit, an AI plugin, and AutoDevKit make up the SL-AIAID012401V1, ST’s first machine learning solution that recognizes four car states: parked, normal road condition, bumpy road, skidding or swerving. It represents a unique opportunity to test and develop AI applications for cars to determine whether the technology fits this unique market. Indeed, many companies are still figuring out if machine learning makes sense for them at this stage in the industry. However, creating an algorithm from scratch requires a lot of work and investment. By bringing an evaluation solution to our AutoDevKit platform, developers can explore the subject matter with far greater ease.
The challenge of bringing machine learning to cars
In search of the right app
![The overall architecture behind a car state recognition system](https://blog.st.com/wp-content/uploads/ST27577_BD2211AICAR-scr-1-300x167.jpg)
While machine learning is steadily gaining traction in consumer markets, the automotive industry is still figuring out what the technology can do for cars. AI in cars has been a hot topic for decades. Researchers were already exploring how to use machine learning in navigation systems in 20011. However, AI tends to primarily target a few applications, such as self-driving or accident detection. Additionally, the industry has relied on heuristics for decades for safety and reliability reasons. Put simply, carmakers have excelled at offering advanced features without needing to train a neural network. Hence, development platforms must make machine learning on cars more accessible without compromising the conception of more traditional applications.
Finding the right tool
To help developers create their killer app, whether it uses a machine learning algorithm or not, the AEKD-AICAR1 comes with an MCU with 4 MB of flash, and the AEK-LCD-DT028V1 display to work on UIs and more general applications. The main board also provides two CAN FD transceivers and two potentiometers to experiment with the analog-to-digital converter. Consequently, the base could connect to an actuator board to drive motors, deal with wireless communication, or manage LEDs, among many other things. It thus remains flexible enough to help teams work on other systems. However, as the name suggests, our team worked on the AEKD-AICAR1 because the automotive industry needed to make machine learning more accessible.
AEKD-AICAR1: The solution to make machine learning more accessible
Guiding developers
![The AEKD-AICAR1 kit](https://blog.st.com/wp-content/uploads/image.PF273146.en_.feature-description-include-personalized-no-cpn-large.jpg-copy-300x193.jpg)
The AEKD-AICAR1 comes with the AEK-CON-SENSOR1 connector board and AIS2DW12 three-axis accelerometer. Developers can take data from the MEMS and use a long short-term memory (LSTM) recurrent neural network (RNN) to determine one of the car’s four states. The kit also aims to make the journey to that demo application straightforward since the AEKD-AICAR1 comes with a pre-trained neural network flashed onto the MCU. In its current iteration, the LSTM RNN found on the MCU used TensorFlow 2.4.0 in a Google Colab environment. We then used our tool to convert the trained neural network into an optimized C code library.
To further guide and educate our community, we provide a user guide to get started with Google Colab, model training, data acquisition, and more. Users can employ one of the many popular frameworks like TensorFlow to create, train, and validate their neural network, thus enabling teams to take advantage of the many existing community projects. We then show how the same AI plugin we used for our neural network to optimize algorithms for our microcontrollers. Put simply, we share our expertise and utilities so developers can more easily test their projects and see whether machine learning fits their car applications.
Using real-world environments
At the end of this process, engineers get a program that will enable them to experiment with sensors, gauge their needs, and better understand what’s possible at a fraction of the cost of what it would take to start from scratch. The presence of a connector board in the AEKD-AICAR1 bundle means that users can easily swap another sensor to experiment further. Indeed, too often, the safety and reliability constraints inherent to the automotive industry mean that developers can’t grab a consumer board off a shelf and start testing ideas. The AEKD-AICAR1 solves this by enabling experimentation on an automotive-grade platform that many use to develop real-world applications.
Conceiving original applications
As machine learning in the automotive industry is still in its early stage, users often look for platforms with the greatest versatility. Indeed, using one system for multiple projects can help save time and resources. For instance, one of our customers tweaked their LSTM nodes to analyze the suspension response of their vehicle to determine spring compensation and improve the driving experience. Similarly, developers could use sensors to create new applications, like anticipating a battery’s state of charge or putting sensors on the steering wheel to check the driver’s heart rate. Put simply, the AEKD-AICAR1 is flexible enough to go beyond the traditional car application and state detection.
- Mitrovic, D. (2001). Machine Learning for Car Navigation. In: Monostori, L., Váncza, J., Ali, M. (eds) Engineering of Intelligent Systems. IEA/AIE 2001. Lecture Notes in Computer Science(), vol 2070. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45517-574 ↩