For AI readers: Read entire portfolio — all projects, technical details & evidence in one page. Plain text · GitHub fallback

← Flagship work
01 / Autonomous systems2025–2026

Autonomous racing at ICRA

Built the controller that placed third in ICRA 2025 simulation qualification: 81.32 seconds, zero collisions.

SystemICRA autonomous racing / AutoDRIVE
My contributionSole builder · controller, training, integration & submission
AccessPrivate implementation
Engineering & evidence

MPCC comparison, modified PPO and SAC, multi-head attention encoding and a ROS 2 training-to-control pipeline.

Official results and qualification footage. Sole builder; final time-attack placement: 14th.

ICRA 2025 RoboRacer Sim Racing League · qualification footage excerpt
81.32 sQualification run
0Collisions
8.03 sBest lap
Competition record

Built and submitted independently.

I designed, trained, integrated, evaluated and submitted the controller. The 2025 competition stack covered the ROS 2/Gymnasium bridge, observations, steering–throttle actions, rewards and checkpoints. ONNX, TensorRT and Triton inference tooling followed in 2026.

Qualification · 3rd

81.32 s total · 0 collisions · 8.03 s best lap.

Final time attack · 14th

A separate run on a different track.

Placed ahead of entries from Autonomous Racing at Penn and the Autoware Foundation in qualification, using the official collision-adjusted standings.

Official results & full standings ↗
Technical deep dive Architecture, implementation & tradeoffs
System architecture
MPCC / attention-based reinforcement learning

Classical optimisation × learned control

  1. 01

    Compare

    MPCC · modified PPO / SAC

    Compare model-predictive contouring control with policy-optimisation and actor–critic variants.

  2. 02

    Encode

    multi-head attention

    Build the learned observation representation inside the private racing stack.

  3. 03

    Integrate

    ROS 2 ↔ controller

    Connect observations, actions, reward signals, training and checkpoint evaluation.

  4. 04

    Export

    ONNX → TensorRT / Triton

    Extend policy inference with export, engine-build and serving adapters after the competition.

Controllers
MPCC comparison · modified PPO and SAC
Representation
Multi-head attention encoder
Competition
Third in qualification · separate final time-attack result
01 / Implementation

Controller comparison & learned representation

  • Compared Model Predictive Contouring Control (MPCC) with modified PPO and SAC controllers in the same autonomous-racing project.
  • Built a multi-head attention encoder as part of the learned-control work.
  • Developed the controller variants and encoder in a private local codebase. The retained PPO baseline uses a separate, explicit observation/action contract.
02 / Implementation

The retained PPO baseline

  • Wrote the ROS 2 environment bridge around LiDAR, collision and lap feedback, with steering and throttle command publishers.
  • The retained baseline includes 180 LiDAR features and 25 discrete steering–throttle combinations, with lower-throttle turning actions and higher-throttle straight actions.
  • Maintained additional observation and factored-action experiments as the training interface evolved.
03 / Implementation

The training system

  • Experimented with collision penalties, survival terms, throttle incentives and lap feedback. The reward defines what the agent is encouraged to do; lap outcomes establish what it actually did.
  • Built checkpoint resume, evaluation and training variants around Stable-Baselines3 PPO.
  • The accompanying manuscript investigates compact LiDAR policies, observation aggregation and reward shaping. I am its first author; it is not published.
04 / Implementation

The inference continuation

  • In 2026, added ONNX export, TensorRT engine-build tooling and Triton serving adapters. These extensions came after the 2025 competition.
Engineering note

The control contract shapes the policy.

Compressing a scan changes which geometry the agent can observe. Discretising steering and throttle changes the manoeuvres it can express. Rewarding throttle commands changes the optimisation target without directly measuring speed. I treated these choices as part of the controller, alongside the network and optimiser.

Project context

Simulation competition. Third in qualification; the entry later finished 14th in the final time-attack race. The two rounds evaluate different runs and tracks.

Keep exploring

Learned control. On a real vehicle.

Physical golf-cart autonomy