The student lounge blog focuses on student success stories. Winning student teams share their knowledge and the MathWorks student programs team shares best practices and workflows using MATLAB and Simulink.
Professor Kichun Jo’s team from Hanyang University clinched victory at the 2023 Hyundai Motor Group Autonomous Driving Challenge. The competition is a real-vehicle-based autonomous driving competition where vehicles recognize roads and surrounding environments in real-time, perform various missions, and autonomously drive to their destinations. In this competition, MATLAB was used for tasks such as object tracking. Additionally, to reduce the verification period and enhance performance during data and algorithm validation, a verification tool was developed and utilized using MATLAB App. This work was showcased at the 2024 MATLAB EXPO Korea.
During the competition, Professor Jo was affiliated with Konkuk University, in 2024, he moved to Hanyang University.
Scope of MATLAB Utilization
The team utilized MATLAB in various aspects of autonomous driving technology, as indicated below.
Scope of MATLAB Utilization in the Team’s Autonomous Vehicle Competition
Autonomous driving technology can be broadly divided into three categories: Perception, Planning, and Control. In the competition, the team primarily used MATLAB for evaluating Perception, including object tracking, and Planning, as depicted in the diagram. The details are as follows.
To accurately predict the speed and acceleration of surrounding vehicles, they applied and compared the performance of various filters provided by MATLAB, such as the Kalman Filter (KF), Extended Kalman Filter (EKF), Unscented Kalman Filter (UKF), and Interacting Multiple Model Filter (IMMF). This allowed them to select an algorithm with optimal performance that requires minimal computation, enabling quick calculations during the racing competition.
Using the algorithms provided by the toolbox (trackerGNN, @initcaekf), they developed an object tracking algorithm. Then utilizing MATLAB Coder, they automatically generated C++ functions to run in the competition’s target platform, the ROS environment.
After generating C++ codes, they wrapped it as a ROS Node, allowing for immediate application.
This approach enabled them to effectively shorten the development period during competition preparation by quickly implementing the developed algorithm into code.
Building a ROS Node Using Code Generation Techniques
Development of a Perception Evaluation Tool using App Designer
To evaluate autonomous driving control results and enhance performance, data logging, data analysis, and code modification are essential. However, these processes are time-consuming due to the acquisition of test data through driving and the subsequent data processing and analysis. Additionally, immediate evaluation on-site is challenging. To address these issues, the team developed an evaluation tool tailored for algorithm verification using App Designer to analyze detection, tracking, and prediction results.
This evaluation tool minimizes complex coding processes and enables quick data analysis and visualization, allowing for various analyses on a single screen. Using this tool, Professor Kichun Jo’s research team could rapidly analyze data right after real-vehicle experiments, detect bugs early, and quickly develop precise and advanced algorithms by comparing various algorithm results, leading to the application of optimal algorithms.
Utilization of App Designer for developing the evaluation tool:
Allows for the creation of intuitive GUIs while minimizing difficult and complex coding.
Enables quick file loading, data processing, and algorithm verification through the GUI in situations requiring repetitive validation.
Tracking/Prediction Evaluation
For a proper comparison of tracking/prediction algorithms, it is essential to accurately track speed and acceleration at each timestep over continuous periods. However, merely recording and replaying driving data during experiments only allows for fragmented data verification, making it difficult to easily assess the data. The Tracking/Prediction Evaluation tool enabled simultaneous assessment of how much the algorithm missed the vehicle’s trajectory during driving and the estimation errors for speed and acceleration in various situations.
Comparison of Vehicle Trajectories Between Algorithm and Actual Path
Evaluation Tool – Comparison of the Vehicle’s Algorithmic Path and Actual Path in Multiple Scenes (I)
Information on each prediction (algorithm result) associated with each GT
Visualization of GT and algorithm information in a global coordinate system
Output the evaluation results of the tracking algorithm
Plot tab for analyzing states (position, velocity, yaw, distance, etc.).
Plot comparing tracking results with GT values.
Error plot for tracking results.
Evaluation of Prediction Algorithm
Evaluation Tool – Comparison of the Vehicle’s Algorithmic Path and Actual Path in Multiple Scenes (II)
Select the vehicle for comparison.
Compare the error between the path prediction algorithm and the actual trajectory.
Use a trackbar to check the error of a specific sequence.
Verify qualitative and quantitative errors.
Results and Effects of MATLAB Adoption
When developing autonomous driving algorithms, reducing trial and error is key. This involves analyzing data from multiple driving experiments to make improvements. However, the competition offered limited opportunities for real vehicle testing on the track. To address this, the team used MATLAB to swiftly evaluate whether the autonomous driving algorithm utilized the maximum available performance during the drive. This allowed the team to determine which path to attempt in the next drive. As a result, despite limited real vehicle operation on the racing track, they won with a notable lap time lead of 2 minutes and 5 seconds over the second-place finisher.
I would like to thank the students for their efforts towards winning the competition. Through MATLAB, we were able to compare and analyze various object tracking algorithms and ultimately select the algorithms to be used in the competition. Additionally, the GUI tool allowed us to quickly analyze and debug most of the algorithms for autonomous driving. By actively utilizing MATLAB, our team was able to get one step closer to winning the competition.
–Professor Kichun Jo
Developers often lack design sense, but it was beneficial to easily utilize well-defined task GUIs in the Live Editor through drag and drop, allowing for the connection of various functions. Additionally, I found it convenient to analyze data and check results through the GUI in MATLAB App without directly modifying or touching the code.
–Kim So-Young, Researcher
While preparing for the competition, we were short on time, but we could quickly apply and compare various algorithms provided by the Sensor Fusion and Tracking Toolbox. By automatically generating code for these algorithms, we reduced the development period and could expand conveniently.
Comments
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.