Research overview · An Thai Le · 2026

Efficient Algorithmic Robotics

Design planning, learning, and control algorithms that use less data and computation, and run on the parallel hardware the robot carries.

Whole-body control teleoperation on a 70 kg humanoid
Humanoid vovinam martial-arts mimic
Bimanual ALOHA manipulation under vla.cpp
Humanoid perceptive locomotion, stairs under payload
GPU tensor planning · edge VLA policies · real humanoids · differentiable physics.
Speaker
An Thai Le
Asst. Professor · Director of Foundation AI
Affiliations
VinUniversity · VinRobotics · TU Darmstadt (visiting)
Contact
anindex.github.io
Compute and data constraints

Humanoid policies must learn from limited data and run within onboard compute budgets.

Humanoid whole-body teleoperation in the lab
A 1.7 m humanoid under whole-body teleoperation: every policy here shares one chip, one power budget, one clock.

A useful policy must learn from the demonstrations we can collect and compute actions quickly enough for the task.

I develop planners, policies, and controllers around the available hardware and training data.

Designing for parallel hardware

Planning algorithms need to expose independent work to use parallel hardware efficiently.

50 years of microprocessor trend data
50 years of microprocessor data: single-thread performance flattened ~2005; the transistor budget went to parallel cores. Credit: K. Rupp, CC BY 4.0.

An algorithm that can't expose parallel work leaves most of a modern accelerator idle, in the lab and on the robot.

Sutton's Bitter Lesson, Hooker's Hardware Lottery: methods win when they ride the resources that scale, compute and data. I take that as a design constraint on the three things a robot must do, search for a plan, run a model, learn in a world.

The through-line, and three concrete problems

Efficient algorithmic robotics: co-design each algorithm with the hardware that runs it and the data that trains it.

Chapter 1
Vectorize the planner
Motion planning as a batched tensor kernel, thousands of plans at once on modern GPUs.
Chapter 2
Bias and deploy
Inductive bias makes VLA fine-tuning data-efficient; an edge runtime makes it deployable.
Chapter 3
Force-aware RL
Robust whole-body humanoid locomotion, and a data engine toward a whole-body VLA.

Three problems on the road to useful humanoids: fast planning, data-efficient policies, and the whole-body data to learn from.

Chapter 1
Planning at batch scale.

A robot in clutter doesn't need one plan: it needs thousands of candidates evaluated at once, in milliseconds, while a sequential search leaves most of the GPU idle. My PhD reframes motion planning so the GPU is the natural home.

MPOT batched trajectory optimization: thousands of candidate paths refined at once in cluttered 2D
The reframe

Represent candidate plans and costs as tensors for parallel search.

$$\text{any planner}\ \Rightarrow\ \text{a batch of candidates}\quad \textcolor{#2f7d8a}{\mathbf{X}}=G_\theta(\xi)\in\mathbb{R}^{B\times d}$$
$$\text{GTMP:}\quad\textcolor{#2f7d8a}{\mathbf{Q}}\in\mathbb{R}^{M\times N\times d}\quad \textcolor{#557a3a}{\mathbf{C}}\in\mathbb{R}^{(M-1)\times N\times N}$$
GTMP planning a smooth path into a cluttered box on a real robot
GTMP · a plan searched over a cluttered scene
Generate
N candidate vertices per layer, tensor Q
Score
edge-cost tensor C, collision · smoothness · task
Reduce
collapse layers with one parallel reducer

Five planners in my thesis share one Generate·Score·Reduce schedule under five reducers: same iteration space, same batch-major layout, not one literal code path.

RA-L 2025 · ICRA 2026 Global Tensor Motion Planning

GTMP turns layered-graph search into min-plus tensor operations.

GTMP layered multipartite graph: start s through sampled layers t1..t3 to goal g, with complete adjacent-layer edges as smooth Akima connectors
Layered multipartite graph · N samples × M layers · Akima edges
A batch of thousands of smooth GTMP-Akima paths planned at once in a 2D maze
1000s of smooth paths · one batch, one reduce
$$J_m(u)=\textcolor{#8a3f9c}{\min_{v\in V_{m+1}}}\big[\,\textcolor{#557a3a}{c(u,v)}+J_{m+1}(v)\,\big]$$
$$\underbrace{\textcolor{#2f7d8a}{\mathbf{J}_m}=\textcolor{#557a3a}{\mathbf{C}_m}\;\textcolor{#8a3f9c}{\boxtimes}\;\textcolor{#2f7d8a}{\mathbf{J}_{m+1}}}_{\text{(min,+) matrix-vector product}}$$

Complete adjacent-layer connectivity makes every layer transition one batched min-reduction over the next-layer axis, a dense matrix–vector product in (min, +) tropical algebra (add is min, multiply is +), the coalesced work a GPU is fastest at. The N×N edge-cost evaluations are independent; the sweep returns the exact optimum on the sampled layered graph, approaching the continuum optimum as sampling density grows.

Work & depth
$$W=\Theta(MN^{2}),\qquad D=\Theta(M\log N)$$

Work-optimal ordered sweep: $M$ sequential passes, each a branch-free log-depth reduction, not a serial frontier expansion. Ideal for SIMT.

NeurIPS 2023 Motion Planning via Optimal Transport

MPOT uses optimal transport to update trajectories without gradients.

$$W^{\star}_{\lambda}=\arg\min_{W\in\mathcal{U}(a,b)}\ \textcolor{#557a3a}{\langle W,C\rangle}-\lambda\,H(W)$$
$$K=e^{-\textcolor{#557a3a}{C}/\lambda},\qquad u\leftarrow a\oslash(Kv),\quad v\leftarrow b\oslash(K^{\!\top}u)$$

Entropic OT as the reducer: Sinkhorn is two batched GEMV + two divides per iteration (Work $\Theta(Tnm)$, $T$ Sinkhorn iterations), shared across the batch, no gradients or factorizations. The marginal constraints $\mathcal{U}(a,b)$ keep the coupling valid; as $\lambda\!\to\!0^+$ it sharpens toward the min-cost transport plan, the cold limit of the same reducer motif.

MPOT per-waypoint polytope and Sinkhorn routing
Per-waypoint polytope · Sinkhorn routing
MPOT whole-body trajectory optimization on TIAGo
TIAGo · 10k waypoints in 1–2 s
IROS 2023 · T-RO 2025 Motion Planning Diffusion / FlowMP

MPD combines a learned trajectory prior with task-cost guidance.

MPD / FlowMP diffusion motion planning with B-spline projection
MPD · diffusion prior + cost-guided projection
$$z_{k-1}=\textcolor{#8a3f9c}{D_\theta}(z_k,c)\;-\;\eta\,\textcolor{#557a3a}{\nabla_z J}\big(\textcolor{#2f7d8a}{B_\psi}z_k\big)$$
The reducer, learned
$$-\textcolor{#557a3a}{\nabla_z J}=\nabla_z\log\,\textcolor{#8a3f9c}{p},\qquad p\propto e^{-J}$$

Cost guidance is the score of the Boltzmann target: the same reduce, now a learned denoiser.

$D_\theta$ a learned trajectory prior; $-\nabla_z J$ the cost score; $B_\psi$ a B-spline map keeping curves smooth & feasible. The warm, learned end of the family.

TMLR 2025 · ICLR 2026 Model Tensor Planning

MTP combines global and local trajectory sampling for online control.

$$\pi^{k+1}=(1-\beta)\,\pi^{k}_{\text{loc}}+\beta\,\pi^{k}_{\text{glb}}$$
$$\pi_{\text{loc}},\ \pi_{\text{glb}}\propto e^{-J/\eta}\quad(\text{one MPPI temperature }\eta;\ \text{local vs global proposals})$$
$$\textcolor{#2f7d8a}{\mathbf{U}}\in\mathbb{R}^{B\times H\times m}\ \longrightarrow\ \pi^{k+1}=\mathbb{E}_{\text{rollouts}}[\,\cdot\,]$$

A $\beta$-mixture of a local and a global proposal under one MPPI temperature $\eta$: $\beta$ trades exploitation for exploration. Batched MuJoCo-XLA rollouts of the control tensor $\textcolor{#2f7d8a}{\mathbf{U}}$ make the expectation one GPU reduce, an online MPC loop on real hardware. Amortized into a policy ⇒ Chapter 3's RL at sim-farm scale.

MTP keeps multiple trajectory modes
MTP
MPPI collapses to a single mode
MPPI
OpenAI-ES stalls
OpenAI-ES
Same wall-clock · MTP holds multiple modes where MPPI · OpenAI-ES collapse
MTP dexterous in-hand cube reorientation
In-hand cube · dexterous
MTP Push-T sim-to-real on a Franka
Push-T · sim-to-real
ICRA 2026 Collaborative planning under temporal logic

CLOT uses optimal transport to coordinate robots under temporal-logic tasks.

Outer · planning order (best-first $\max$)
$$\nu^{\star}=\textcolor{#8a3f9c}{\arg\max_{\nu}}\ \textcolor{#557a3a}{\chi(\nu)}$$
Middle · per-robot transport (entropic OT)
$$W^{\star}_{\lambda}=\textcolor{#8a3f9c}{\arg\min_{W\in\mathcal{U}(a,b)}}\ \textcolor{#557a3a}{\langle W,C\rangle}-\lambda H(W)$$
Inner · STL robustness (min-max semiring)
$$\rho^{\,G_{[a,b]}\phi}(x,t)=\textcolor{#8a3f9c}{\min_{t'\in[t+a,\,t+b]}}\ \textcolor{#557a3a}{\rho^{\phi}(x,t')}$$

Three nested reducers compose into one search. STL robustness uses the min-max semiring (not GTMP's $(\min,+)$); the Fiedler value $\textcolor{#557a3a}{\lambda_2}(L)>0$ keeps the team connected, a smooth, batchable surrogate.

100 robots coordinated under STL
100 robots
3-UAV hardware formation
3-UAV hardware
The whole family, one design pattern

Change one reducer; keep the Generate·Score·Reduce pattern, the batch axis, the parallel reduction.

PlannerReducerWork $W$Depth $D$
GTMP$\min$ (tropical)$\Theta(MN^2)$$\Theta(M\log N)$
MPOT$\mathrm{softmin}_\lambda$ (OT)$\Theta(Tnm)$$\Theta(T\log n)$
CLOTnested OT·STL$\Theta(R(Tnm{+}|\Phi|T))$$\Theta(R\log nm)$
MTP$\mathbb{E}_{p_\eta}$$\Theta(BH)$$\Theta(H+\log B)$
MPDlearned score$\Theta(KBc_\theta)$$\Theta(Kd_\theta)$
4.6ms
1000 candidate paths in one batch (our RTX 3090), about 4.6 µs/path, ~250× the throughput of the same query run 1000× sequentially, the diversity that seeds robust selection and MPC.
Anytime success rate versus wall-clock: GTMP versus AIT*, EIT*, FCIT*, AORRTC
Success vs wall-clock · vs AIT* · EIT* · FCIT* · AORRTC
Anytime path cost versus baselines
Anytime path cost · competitive, at batch throughput

The honest limit: dense candidate tensors waste work in clutter, the open problem I carry forward is lazy, connector-aware tensor graphs. GTMP trades the single-query latency that VAMP · FCIT* · pRRTC / cuRobo optimize, for batch throughput and global exploration.

Chapter 2
Data-efficient, deployable policies.

Foundation policies (VLAs) are billions of parameters, and the scarce resource is demonstrations. Two strands: inductive bias (symmetry, structure) so a VLA generalizes from few demos, and an edge runtime and compression that make the resulting policy deployable on the robot's own 8 GB chip.

vla.cpp results: same policy at a fraction of the latency and memory
Under review · arXiv:2606.08094 a unified VLA inference runtime

vla.cpp runs VLA policies in C++ on desktop and onboard GPUs.

$$a^{(k)}=\mathrm{Attn}_{\text{act}}\big(z_k,\ \textcolor{#2f7d8a}{K_{\text{vlm}}},\textcolor{#2f7d8a}{V_{\text{vlm}}}\big),\quad [\textcolor{#2f7d8a}{K},\textcolor{#2f7d8a}{V}]_{\text{vlm}}=\mathrm{Enc}(\mathcal{I},\ell)$$

The action expert cross-attends a cached vision-language prefix across solver steps (prefix-KV reuse, π0-style). Parallel action-token denoising turns the batch-1 GEMV into a wide GEMM; with BitVLA's ternary (1.58-bit) weights, an IMMA integer-tensor-core kernel speeds client inference 4.0–4.6× over the CUDA-core baseline (RTX 3060, AGX Orin). The contribution is the quantized on-device C++ runtime: to our knowledge the first ggml-lineage engine to run a flow/diffusion action-expert VLA on an 8 GB edge module.

Same ALOHA task: vla.cpp runtime versus PyTorch, uniform 8x time-lapse
Same task & policy · vla.cpp vs PyTorch · uniform 8× time-lapse
CLP · Under review · arXiv:2606.20246 training-free compression

CLP identifies redundant VLA layers from activation similarity before fine-tuning.

CKA-guided layer pruning of a VLA policy
Prune · CKA depth ~50%, up to 30% faster inference
$$\mathrm{CKA}(\textcolor{#2f7d8a}{H_i},\textcolor{#2f7d8a}{H_j})=\frac{\lVert H_i^{\top}H_j\rVert_F^{2}}{\lVert H_i^{\top}H_i\rVert_F\,\lVert H_j^{\top}H_j\rVert_F}$$

For column-mean-centered activations $H$, adjacent layers with CKA ≈ 1 share a representation subspace ⇒ prune candidates (necessary, then confirmed by a downstream-loss check). The score itself is training-free (one forward pass); cf. ShortGPT / Gromov et al. (cosine / angular distance), the lift is this CKA criterion on VLAs.

StructSAM structure- and spectrum-preserving token merging for Segment Anything
Merge · StructSAM token merging (ICML 2026 workshop)

StructSAM · structure-preserving token merging

StructSAM merges redundant tokens in Segment Anything's image encoder while preserving boundary structure and the token spectrum. Encoder FLOPs drop ~25–30% with minor mIoU/Dice loss.

Under review · arXiv:2606.19784 rotationally-equivariant VLA

EquiVLA adds rotational equivariance to pretrained robot policies.

$$\textcolor{#2f7d8a}{z}^{\,\mathrm{eq}}(x)=\frac{1}{|G|}\sum_{h\in G}\big[\tau(h^{-1})\otimes\rho_{\mathrm{reg}}(h^{-1})\big]\,f_\theta(h\cdot x)$$
$$\epsilon_{\mathrm{eq}}=\tfrac{1}{M|G|}\textstyle\sum_{g,o}\big\lVert \hat{a}(g\cdot o)-\rho_a(g)\,\hat{a}(o)\big\rVert$$

Token-level frame averaging over $G=C_n\le\mathrm{SO}(2)$ adds rotational equivariance to a pretrained VLA. Equivariance is approximate end-to-end and exact for the EquiActor action head.

Higher success with the same demonstrations

LIBERO 78.1→92.6% at a fixed demo budget (vs the GR00T N1.5 baseline). The equivariant head trades compute for data efficiency: exact for EquiActor, approximate end-to-end, at 194 vs 64 ms/step.

EquiVLA equivariant block manipulation, clip 1
EquiVLA equivariant block manipulation, clip 2
EquiVLA · Cₙ ⊂ SO(2) equivariance on block manipulation
CoRL 2026 asynchronous execution via initial-noise selection

PAINT selects initial noise to connect asynchronous action chunks without retraining.

Towel flinging under Temporal Ensembling, GR00T N1.5
Temporal Ensembling
Towel flinging under PAINT asynchronous execution, GR00T N1.5
PAINT (ours)
Towel flinging · same wall-clock window: PAINT stays smooth and real-time where TE lags
$$A_{t-1}[s+i]=A_t[i],\quad i=0,\dots,d{-}1,\ \ d=H{-}s$$
$$x_{\tau-\Delta\tau}=x_\tau-\Delta\tau\,\textcolor{#8a3f9c}{v_\tau}(x_\tau,\tau)$$

Under asynchronous execution the robot keeps moving while the next chunk denoises. PAINT picks an initial noise by a masked (partial) inversion of the flow ODE in reverse time (explicit Euler), so the unmodified forward ODE approximately meets the prefix constraint at the chunk boundary (to the integrator's order). Unlike Real-Time Chunking (RTC), which soft-masks and pays a per-step gradient, PAINT is a one-time inversion, gradient-free, no retraining.

Under review · arXiv:2606.14084 self-improving VLA policies

SDN selects diffusion noise for grounded, smooth actions from a frozen policy.

$$\mathcal{R}_{\text{gnd}}=\underbrace{d_B}_{\text{from hallucinated}}-\underbrace{d_G}_{\text{to grounded}}$$
$$S(A)=\sqrt{\tfrac{1}{L-3}\textstyle\sum_t\lVert\Delta^3 a_t\rVert^2},\qquad A^{\star}=\arg\min_{A_i}\,S(A_i)$$

Sample noise vectors, keep those contrastively grounded in the task latent (robust to spurious visual cues), then pick the smoothest (minimum jerk-magnitude) action among them. Unlike learned verifiers (V-GPS, RoboMonkey), the selector is self-contained, no value function. Training-free: +8–10% success, smoother actions.

Self-improving VLA, selected diffusion noise
SDN · grounded + smooth at test time
RoboGaze · Under review · arXiv:2606.28385 evaluating robot world models

RoboGaze uses vision-language analysis to locate and classify errors in robot videos.

01
Real seed
scarce teleop / mocap, irreplaceable.
02
Synthetic scale
batched sim + world models.
03
RoboGaze gate
a structured, multi-dimension critic.
04
Model-agnostic eval
π0.x · GR00T · Gemini Robotics.
$$d_{k,g}=f_g(u_k,t_k,S_m)\ \xrightarrow{\ \text{verify}\ }\ a_{k,g}\in\{\textsf{accept},\textsf{reject},\textsf{merge}\}$$

Route each subtask-clip to a dimension specialist, then a critic verifies, cutting spurious false positives. A 6-dim × 30-type glitch taxonomy (kinematic, contact, temporal, …): up to +43 points of description-F1 over zero-shot VLM judges (8 VLMs, 382 human-validated clips); the critic lifts clean-clip accuracy <25% → >80%.

These video evaluations can help screen synthetic training data for the whole-body policies discussed in Chapter 3.

RoboGaze structured critic labelling a rollout with typed, time-localized glitches
RoboGaze · typed, time-localized glitch annotations
Chapter 3
Force-aware humanoid learning.

A humanoid must walk under shifting loads and stay safe in contact-rich, forceful interaction, too high-dimensional to program. So we learn it with force-aware RL across thousands of simulated worlds, then land it on a real 70 kg humanoid with GPU footstep search and compliant control. And every teleoperation and compliant contact becomes data, the first step toward the long-term goal: a whole-body VLA.

Simulated humanoid carrying a car door over terrain, trained in parallel simulation
The reframe, one more substrate

RL is a batched reduce over thousands of parallel worlds.

parallel simulation world, no payload
parallel simulation world, basket 5kg
parallel simulation world, front backpack 5kg
parallel simulation world, front and rear backpacks 10kg
parallel simulation world, carrying a car door
×4096domain-randomized worlds
$$\nabla_\theta J=\mathbb{E}_{i\sim\text{worlds}}\Big[\textstyle\sum_t \textcolor{#8a3f9c}{\nabla_\theta\log\pi_\theta}(a^i_t\mid s^i_t)\,\textcolor{#557a3a}{\hat A^i_t}\Big]$$
$$\mathrm{Var}\!\propto\!\tfrac{1}{N_{\text{eff}}}\ (N_{\text{eff}}\!\le\!N_{\text{env}}),\qquad \tfrac{\text{samples}}{\text{s}}=N_{\text{env}}\times\text{sim\_fps}$$

The gradient is an expectation over worlds, the same batched reduce as MTP's rollouts from Chapter 1, now carrying temporal credit assignment (the advantage $\textcolor{#557a3a}{\hat A}$) and amortized into a policy. Keeping physics, reward, and the update all on the GPU (Isaac Lab · MuJoCo Playground / MJX · Newton) puts $N_{\text{env}}\!\sim\!10^3$–$10^4$ worlds in one step, so a locomotion policy trains in minutes (Rudin et al.: quadruped, 4096 envs; humanoid whole-body is harder), not days.

Frontier behaviors · learned by imitation in sim

Track a reference motion: mocap in, whole-body control out.

$$r_t=\exp\!\big(-\alpha\textstyle\sum_j\lVert \textcolor{#557a3a}{q^{\text{ref}}_{j,t}}-\textcolor{#2f7d8a}{q_{j,t}}\rVert^2\big)$$
$$\textcolor{#8a3f9c}{q^{\text{ref}}}=\mathrm{retarget}(\text{mocap}\to\text{robot})$$

A DeepMimic-style tracking reward (shown schematically; the full objective also tracks base pose, velocities, and contacts) on a retargeted reference, trained across randomized worlds, turns a dance or a martial-arts form into a deployable whole-body policy. A capability progression (not a strict chronology): PHC, ExBody2, HOVER, GMT. The hard part is the retarget and the sim-to-real gap.

Humanoid choreographed dance, sim-trained mimic
Dance · tracked
Humanoid vovinam martial-arts agile mimic
Vovinam · agile mimic
Frontier behaviors · real-time human retargeting

Retarget a human in real time: teleoperation as a moving reference.

Humanoid whole-body teleoperation in the lab
Whole-body teleop · real-time retarget
$$a_t=\pi_\theta\big(s_t,\ \textcolor{#8a3f9c}{\hat q^{\text{human}}_t}\big)$$
$$\textcolor{#8a3f9c}{\hat q^{\text{human}}}=\arg\min_{q}\ \lVert \mathrm{FK}(q)-\textcolor{#557a3a}{p^{\text{human}}}\rVert^2+\lambda\lVert q-q_0\rVert^2$$

The same sim-trained tracking policy takes a live human pose as its reference: a per-frame IK retarget maps human keypoints $\textcolor{#557a3a}{p^{\text{human}}}$ to a feasible robot pose, so one policy both mimics clips and follows a teleoperator (cf. OmniH2O · HOVER · AMO).

The loop closes

Every teleop episode is a labeled real-seed demo, the cheapest source of the scarce data Chapter 2's engine grades and scales.

Under review whole-body compliance for heavy humanoids

CompliantWBC uses proprioceptive force estimates to coordinate whole-body compliance.

$$x_{l,d}=x_l^{\mathrm{ref}}(t)+\textcolor{#557a3a}{K_l^{-1}}\,f_l,\qquad f_l=\mathrm{Ad}^{-\top}_{p\to l}\,\hat f_{\mathrm{ext}}$$
$$\tilde{x}_{l,d}=x_l^{\mathrm{ref}}+\epsilon_x\tanh(\Delta x_{l,d}/\epsilon_x),\quad \Delta x_{l,d}=x_{l,d}-x_l^{\mathrm{ref}},\ \ \epsilon_x=5\,\mathrm{cm}$$

Per-link Cartesian impedance; the external wrench is carried to each link by the adjoint $\mathrm{Ad}^{-\top}$, and a bounded force-latent residual absorbs estimation error, empirically stable. A proprioceptive Force Latent Encoder, trained on simulated ground-truth wrenches and shielded from PPO gradients, supplies the estimate $\hat f_{\mathrm{ext}}=\psi(z_F)$. A 70 kg humanoid, no wrist/ankle F/T sensors, proprioception only.

Compliant whole-body control wiping a board under teleoperation
Wiping · contact task, 70 kg
Robot yields compliantly as a person pulls it
Pull-down · yields to external wrench
Under review · arXiv:2606.20645 payload-robust perceptive locomotion

TACT-ful combines GPU foothold search with compliance training for changing payloads.

$$J_i=\alpha_{\text{pos}}d_i+\alpha_{\text{DCM}}d_i^{\text{DCM}}+\alpha_E E_i+\alpha_Q Q_i+\alpha_M M_i-\alpha_{\text{climb}}b_i$$

A per-foothold cost: a capture-point (DCM) stability term $d^{\text{DCM}}$ plus penalties for roughness $Q$, steepness $E$, velocity-risk $M$, minus a climb bonus $b$, minimized by a GPU-parallel footstep search, Generate·Score·Reduce again ($\arg\min$), a GTMP-cousin layered on the RL locomotion policy. Wrench-aware compliance (the layer above) carries the load, 10 kg up and 20 kg down the stairs, no force sensing.

Perceptive loaded locomotion ascending stairs
Loaded stairs · 10 kg
Humanoid descending stairs under a 20 kg rear-mounted backpack
Stair descent · rear pack, 20 kg
From algorithms to robots in the world

Bodyshop and patrol use cases, public demonstrations, open-source.

VinRobotics humanoid running a full pick-and-place cycle in a car bodyshop
Car bodyshop · humanoid pick-and-place cycle · 4× speed
50 engineers, residents, internsFoundation AI Department
NVIDIA · Qualcomm · IntelGPU · edge NPU · accelerator research
github.com/VinRoboticsopen-source vla.cpp & recipes
Phys. Rev. D · CQG 2026 computational general relativity

Numerical tools for black-hole energy extraction and warp-drive energy conditions.

Penrose process around a Kerr black hole, trajectory simulation
Penrose process · rocket flyby in Kerr · 1 of 320k runs

warpax uses vectorized auto-diff in JAX to check energy conditions. The Penrose study simulates 320,000 rocket flybys to test energy extraction and escape around rotating black holes.

Successful extraction with escape is rare in the broad scans, concentrated at high spin and relativistic exhaust speeds. Repos: warpax · penrose_process.

warpax · vectorized auto-diff with JAX

Check energy conditions in warp drive spacetimes across all observers at a point.

Alcubierre warp-bubble null-energy-condition margin over a spatial slice, computed differentiably in JAX
Alcubierre bubble · NEC margin, slice z=0
$$ds^2=-dt^2+\big(dx-\textcolor{#2f7d8a}{v_s}\,f(r_s)\,dt\big)^2+dy^2+dz^2$$
$$\textcolor{#557a3a}{T_{\mu\nu}}=\tfrac{1}{8\pi}\,\textcolor{#8a3f9c}{G_{\mu\nu}[\,g\,]}$$
$$\mathcal{M}(x)=\textcolor{#8a3f9c}{\min_{\ell\,:\,\ell\cdot\ell=0,\ \ell^0=1}}\ \textcolor{#557a3a}{T_{\mu\nu}(x)}\,\ell^\mu \ell^\nu\ \overset{?}{\ge}\ 0$$

warpax computes curvature and stress-energy with vectorized JAX auto-diff. It uses 4×4 matrix inequalities to test energy conditions across all observers at a point, with interval bounds for certified decisions. A negative null-energy margin identifies a violating observer direction. $G=c=1$, signature $(-,+,+,+)$. Repo: warpax.

Three problems, three distinct results

What each chapter delivers.

Ch.1Planning
A planner is a GPU kernel: cast search & optimization as batched tensor programs, thousands of plans in milliseconds, real-time on modern hardware.
Ch.2Policies
Inductive bias makes VLA fine-tuning data-efficient; an edge runtime and compression make the policy deployable on-robot.
Ch.3Humanoids
Force-aware RL gives humanoids robust whole-body locomotion and loco-manipulation, and turns teleop + compliance into a data engine.

Different tools for different problems, aimed at one goal: useful humanoids in the real world.

Where this is going

The goal: a whole-body VLA.

Manipulation VLAs mastered the tabletop. The frontier is the whole body, locomotion + manipulation + contact in one policy, and the real bottleneck is whole-body data.

from Chapter 1
Plan it fast
GPU tensor planning generates feasible whole-body motion in real time.
from Chapter 2
Learn it cheaply
Inductive-bias fine-tuning generalizes a whole-body policy from limited demos.
from Chapter 3
Feed it data
Force-aware RL, teleop and compliance produce the scarce whole-body data.
The lab I want to build

A lab for whole-body robot intelligence.

1Plan
Real-time whole-body planning. GPU tensor kernels that generate feasible, contact-rich whole-body motion at <50 ms, to warm-start and guard the policy.
2Fine-tune
Data-efficient whole-body policies. Inductive bias and structure so a whole-body VLA generalizes from limited, hard-won demonstrations.
3Collect
The whole-body data engine. Teleoperation, compliant control and simulation, graded and scaled, to train a deployable whole-body VLA.

The thesis: the road to useful humanoids runs through a whole-body VLA, and the planning, fine-tuning, and data that make it learnable.

Thank you.

Jan Peters
PhD advisor · IAS, TU Darmstadt
IAS collaborators
Carvalho · Koert · Chalvatzaki · Urain
Foundation AI
VinRobotics · the ~50-person team
Partners
NVIDIA · Qualcomm · Intel
Students & co-authors
on every paper here
VinUniversity·VinRobotics·TU Darmstadt
QR to anindex.github.io
Papers · code · this deck
anindex.github.io
github.com/anindex · github.com/VinRobotics

Efficient algorithmic robotics: GPU tensor planning · edge VLA policies · real humanoids · differentiable physics.

Backup · one kernel, five reductions

The planner family as a choice of semiring.

PlannerReducer $\oplus$AlgebraWork $W$Depth $D$
GTMP$\min$$(\min,+)$ tropical$\Theta(MN^2)$$\Theta(M\log N)$
MPOT$\mathrm{softmin}_\lambda$entropic OT (Sinkhorn)$\Theta(Tnm)$$\Theta(T\log n)$
CLOTnestedOT $\otimes$ STL robustness$\Theta(R(Tnm{+}|\Phi|T))$$\Theta(R\log nm)$
MTP$\mathbb{E}_{p_\eta}$Boltzmann expectation$\Theta(BH)$$\Theta(H{+}\log B)$
MPDscorelearned denoising prior$\Theta(KBc_\theta)$$\Theta(Kd_\theta)$

MPOT is not literally the soft-min of the tropical DP; it is an entropy-regularized transport reduction recovering $\min$ as $\lambda\!\to\!0^+$. The shared kernel is the iteration space & memory layout, not one closed-form identity.

Backup · positioning & references

Where this sits in the landscape.

  • Ch.1 · GPU / parallel planning · cuRobo (Sundaralingam et al., 2023); VAMP & FCIT* (Thomason, Kingston et al.); pRRTC / cpRRTC; PyRoki; sampling-MPC on MJX (MJPC · DIAL-MPC).
  • Ch.1 · diffusion / OT planning · Diffuser (Janner et al., 2022); MPD (Carvalho, Le et al., 2023); MPOT (Le et al., 2023); EDMP; Potential-Based Diffusion MP.
  • Ch.2 · VLA foundation policies · π0 / π0.5 (Physical Intelligence); GR00T N1.5 (NVIDIA); OpenVLA-OFT; Gemini Robotics (DeepMind).
  • Ch.2 · efficient / real-time VLA · llama.cpp / ggml; BitVLA / bitnet.cpp; TensorRT-LLM (INT8/AWQ); ShortGPT / LaCo / Gromov et al. (layer pruning); Equivariant Diffusion Policy / EquiBot / frame-averaging; OpenVLA-OFT (parallel decode) & RTC (async); V-GPS / RoboMonkey / MG-Select (test-time selection).
  • Ch.3 · parallel sim & humanoid RL · Isaac Gym / legged_gym; Isaac Lab; MuJoCo Playground / MJX; Newton (Warp / OpenUSD); Brax; Genesis; Rudin et al. "walk in minutes" (quadruped); PHC · ExBody2 · HOVER · GMT · OmniH2O · AMO · ASAP · BeyondMimic; GMR (retargeting).
  • Ch.3 · compliance & locomotion · Khatib (operational space); Sentis & Khatib; Albu-Schäffer (DLR impedance); DCM (Pratt 2006, Englsberger 2015; time-varying Hopkins / Mesesan); DreamWaQ / PIE (perceptive loco); ANYmal (Miki et al.); MIT Cheetah.
  • Epilogue · differentiable GR · Alcubierre (1994); Warp Factory (Helmerich et al. 2024); Fuchs et al. (2024); Santiago-Schuster-Visser (2022); Bobrick-Martire (2021).
  • Frontier & ideas · Intel Loihi 2 / Hala Point; Sutton, The Bitter Lesson (2019); Hooker, The Hardware Lottery (2021).