Data Acquisition for a Formula Student car.
In this blog, I will be writing about the data acquisition system that I built with my teammates for the year 2021.
Our newest car EO3 employs a completely new sensor data acquisition system. A more powerful microcontroller, the Teensy 4.1 is used with the automotive-grade CAN protocol. Previously, we used analog signals to receive data rom the sensors that were prone to stray signals and noise. Also, since the testing track is a little far from the campus, we also added the capability to transmit live data to a cloud server using the ESP8266 board. The HC12 module was used to transmit data over a large distance considering the area of the Hockenheimring Baden-Württemberg racing circuit in Germany and the Kari Motor Speedway in India. The conversion of analog values from the sensors to 8-bit digital values is done on the CAN node PCBs.
A seperate interface circuitry is designed for a sensor whenever required, such as the pressure and wheel speed sensors. Together, we have integrated all the connections and designed the harness.
To ensure that all of our subsystems work efficiently, we have developed our first-ever data visualization app. The app also supports Tableau integration for advanced data analysis and over-the-air (OTA) updates. We call the app “Nautilus”.
Our software stack is open-sourced on a GitHub repository. The application offers features such as a dashboard, data plotting, post processing of data, live recording, and more.
Overview of our cloud infrastructure
The cloud framework is based on AWS EC2 compute platform and the flask micro web framework. socketIO is used to establish chat-rooms to relay sensor data in real-time. The data is also sent to Tableau client nodes through the Google Sheets API. Received data is logged to AWS S3 and PostgreSQL based database for backup.
The dashboard features a grid view of all sensors present on the car. Users can create and save sessions from the top panel. The track mapping from GPS data is created on this page.
To debug any issues in each subsystem, the app provides an offline visualization and debugging page called “Analysis”. Users can select sensors and plot their graphs, lap-wise. Users are also presented with an option to load recorded data from a JSON file. Plots can be exported in CSV, SVG, and PNG file formats.
Connection Page & Track Mapping
Users can rename sensors and change their mapping from raw voltage
This was our first season where we developed our in-house data visualization software stack. This app will be used as a foundation for future support of Android and iOS.
Experimental support for ROS (Robot Operating System) data visualization is also under active development: