TESLASOFTWARE ENGINEERING
My second summer at Tesla was spent interning for the Chassis Controls group, working on software for the Traction and Vehicle Dynamics Controls team. While there, I worked on two major projects, refactoring code and data structure access and automated testing infrastructure to predict vehicle fault behavior and issues before they happen.
Skills:
- C/C++
- Python
- Vehicle Dynamics Simulation
- Embedded Software Builds
Code Refactoring
My initial project involved rewriting over 7000 lines of drive inverter code to allow for more intuitive use, faster data structure access, and less overall required data storage. This was a great dive into how the entire stack worked and into the world of building real-time systems. The safety-critical code I wrote also now lives in every Tesla in the world, running 100 times per second.
Automated Testing Infrastructure
The majority of the internship was spent integrating existing, discrete Tesla systems to produce a unified testing system. First, I constructed test cases of interest and pushed them to an automated database, replacing the previous method of manually recording test results in a spreadsheet. I then fed these tests from the database to a model that I developed to mimic inputs from drivers during those tests. This fed into the proprietary Tesla vehicle simulation, developed by the dynamics team. Then, I connected the simulation results to an automated script for measurement, to characterize the severity and controllability of the test outcome. This can then be used to prioritize tests to run in-field or validate the models against existing field tests.
This system can help diagnose issues and even predict them before they happen. For example, when the Cybertruck unexpectedly failed a field test, I could reproduce the issue in the simulation. Working with the field team in New Zealand, we solved the problem in simulation in less than an hour, whereas completing this in real life could have taken a full day of surface time.
I wrote a Master's level internship report for the Johns Hopkins University Laboratory for Computational Sensing and Robotics, which is available for download.
Team Tasks
In addition to the two major projects, I also helped with everyday tasks, including reviewing field tests and reviewing teammates' code before merging.
I also was able to draw from my Baja knowledge to help inform the first Cybertruck rollover detection algorithm and diff-locker behavior.