01 / EXPERTISE

What I Build

Four pillars of mobile-robot autonomy — each implemented from scratch, and each running live on this site.

Perception & SLAM

Occupancy-grid mapping from simulated 2-D LiDAR, with log-odds updates, frontier detection and fully autonomous exploration.

Occupancy gridLiDARFrontier exploration

Localization

Normal Distributions Transform scan-matching with Gauss–Newton optimisation to re-localise a lost robot against its own map.

NDTGauss–NewtonScan matching

Motion Planning

Weighted A* over the occupancy grid, combined with a Euclidean distance transform for safety-aware, collision-free paths.

Weighted A*Distance transformSafety margin

Optimal Control

Model Predictive Contouring Control solved by SQP, where every QP sub-problem runs through a Mehrotra predictor–corrector interior-point method.

MPCCSQPInterior-point QP

03 / FIRST PRINCIPLES

Built From First Principles

No solver libraries, no math packages — every algorithm on this site is hand-written TypeScript, unit-tested and running at interactive rates in your browser.

A = LLᵀ · PA = LU

Linear algebra

Dense and sparse matrices with LU and Cholesky factorisations, written and tested from scratch.

min ½xᵀQx + cᵀx s.t. l ≤ x ≤ u

Optimization

Box-constrained QP via a Mehrotra interior-point method, wrapped in an SQP loop for nonlinear MPC.

d(p) = min ‖p − q‖, q ∈ obstacles

Geometry

Ray casting, Euclidean distance transforms and union-find clustering power the mapping and planning stages.

postMessage(tick) → 60 fps

Real-time engine

The entire pipeline runs in a Web Worker behind a typed message protocol, keeping the UI at a smooth 60 fps.