Preliminaries

The key tasks included proposing an asynchronous model upload workflow, collecting counterclockwise datasets for all four circuits, processing and merging these datasets, training individual circuit-specific models, and finally training a unified master model capable of running across all circuits.

The results demonstrated significant improvements in model performance, with the individual models successfully completing their respective circuits in both clockwise and counterclockwise directions. The unified master model also showed promising results, indicating its ability to generalize across different driving scenarios.

Objectives

  • Propose an asynchronous model upload workflow to accelerate exercise execution and enhance responsiveness in the web interface.
  • Collect counterclockwise datasets for all four circuits to complement existing clockwise data.
  • Process and merge clockwise and counterclockwise datasets to form richer, more balanced training data.
  • Train four individual circuit-specific models using the NVIDIA PilotNet architecture.
  • Train a unified master model capable of running across all circuits.

Execution

Asynchronous Model Upload Proposal

The current model upload solution involves combining the ONNX model, user code, and other necessary files into a ZIP archive, sending it to the Robotics Academy Manager (RAM), and then having the RAM extract the contents inside the Docker container.

The ONNX model size ranges from approximately 6 MB to 50 MB, depending on the exercise. My proposal is to upload the ONNX model asynchronous with the user’s code and other necessary files. In manual testing, this approach proved to be twice (2x) as fast as the current model upload process.

week-10-img-1 Current Process
week-10-img-2 Proposed Process

Counterclockwise Dataset Collection

During last week's (week - 9) testing, the trained models struggled to complete the circuits, often failing at certain turns or deviating off-track. This issue indicated a bias in the dataset. The training data was collected entirely in the clockwise direction, meaning the model never encountered the reverse visual patterns of curves, intersections, or lane markings.

To address this, I conducted counterclockwise runs on all four circuits within the simulator using my custom data collection script. I followed the same procedure as during the clockwise dataset collection in week 5 .

This approach ensured that the dataset captured:

  • Counterclockwise curves: The model learned to navigate turns in the opposite direction, enhancing its ability to handle diverse driving scenarios.
  • Mirrored visual perspectives of the road, which often differ significantly from clockwise runs.
  • Balanced left and right turn occurrences, reducing steering bias.

By adding counterclockwise data, the overall dataset became more symmetric and representative of real driving conditions, making the models less prone to overfitting to a single driving pattern.

Dataset Processing & Merging

The newly collected counterclockwise datasets were processed using the same pipeline as the previous datasets from week 7 , including steps such as image cropping , angular velocity (w) categorization, and balancing. After processing, I merged the clockwise and counterclockwise datasets to create more comprehensive datasets for each circuit.

Circuit-Specific Model Training

With the newly merged datasets, I trained four individual models for each circuit using the NVIDIA PilotNet architecture. After fine-tuning the neural network and It's parameters, the results are summarized below with descriptions.

Test 01:

Test Circuit: Simple Circuit

Train Dataset: Montreal, Montmelo, Nürburgring Circuit

Test: Simple Circuit

Result:

The simple circuit successfully completed the entire track in both clockwise and counterclockwise directions without any deviations. It maintained consistent line detection and stable movement throughout the circuit. The robot completed the track in approximately 105 seconds in the clockwise direction and 109 seconds in the counterclockwise direction, handling both straight sections and curves with accuracy.

Test 02:

Test Circuit: Montreal Circuit

Train Dataset: Simple, Montmelo, Nürburgring Circuit

Test: Montreal Circuit

Result:

The Montreal Circuit successfully completed the entire track counterclockwise. In the clockwise direction, it failed to complete. The robot completed the track in approximately 400 seconds in the counterclockwise direction and ran 240 seconds in the clockwise direction before going off track.

Test 03:

Test Circuit: Montmelo Circuit

Train Dataset: Simple, Montreal , Nürburgring Circuit

Test: Montmelo Circuit

Result:

The simple circuit successfully completed the entire track in both clockwise and counterclockwise directions without any deviations. It maintained consistent line detection and stable movement throughout the circuit. The robot completed the track in approximately 187 seconds in the clockwise direction and 185 seconds in the counterclockwise direction, handling both straight sections and curves with accuracy.

Test 04:

Test Circuit: Nürburgring Circuit

Train Dataset: Simple, Montreal , Montmelo Circuit

Test: Nürburgring Circuit

Result:

The Nürburgring circuit circuit successfully completed the entire track in clockwise but counterclockwise directions; it failed to complete. The robot completed the track in approximately 133 seconds in the clockwise direction and ran 122 seconds in the counterclockwise direction before going off track.

Unified Master Model Training

After training the individual models for each circuit, I proceeded to train a unified master model capable of running across all circuits. This model was trained using the merged dataset containing both clockwise and counterclockwise data from all four circuits.

The unified master model is designed to handle the diverse driving scenarios presented by the different circuits, leveraging the knowledge gained from the individual models. It aims to provide a more generalized solution that can adapt to various driving conditions without the need for circuit-specific training.

The training process involved fine-tuning the neural network parameters and optimizing the model architecture to ensure it could effectively learn from the combined dataset. The goal was to create a robust model that could navigate all circuits with high accuracy and minimal deviations.

The unified master model is expected to perform well across all circuits, demonstrating the ability to generalize from the individual circuit models while maintaining the performance levels achieved in the previous tests.

Result

The unified master model completed all four circuits in both clockwise and counterclockwise directions successfully.

Circuit Name ClockWise Direction (seconds) CounterClockWise Direction (seconds)
Simple Circuit 96 99
Montreal Circuit 297 274
Montmelo Circuit 184 183
Nurburgring Circuit 144 146

I ran each circuit multiple times in both clockwise and counterclockwise direction, but the result was almost the same.

References

[1]week - 9

[2]week 5

[3] week 7

[4] NVIDIA PilotNet

[5] RoboticsAcademy Docker Image (RADI)