GEORGIA TECH · MAY 2026 — PRESENT
Robotics @ Ha Lab
From multi-agent navigation to humanoid whole-body control
Research under Professor Sehoon Ha.
Getting the whole body moving.
An ongoing whole-body controller project for Fauna Robotics’ Sprout.
Finished retargeting human motion datasets LAFAN and AMASS to Sprout using PyRoki.
Next stepsPlanning to train a whole-body controller policy with reinforcement learning in simulation, potentially using NVIDIA’s SONIC.
Orchard Navigation
Integrated a mission stack for multi-agent navigation in an orchard environment.
Connecting a Dijkstra-based global path planner with an MPPI-based local planner, simulated in Gazebo using ROS 2.
Live Demo
The full planner evaluates 512 potential trajectories for each robot, scoring how well they follow the path, make progress, and avoid trees and other robots.
- 01
Mission
Robot tasks and goals define where each robot needs to go.
- 02
Global Path Planner
The global planner supplies a route through the orchard for the local planner to follow.
The browser uses a small A* route planner and geometric collision checks in place of terrain-aware Weighted Theta* and occupancy rasters.
- 03
MPPI-based Local Planner
The Go1 configuration samples 32 yaw rates × 16 forward speeds. The browser demo uses a lighter 16 × 8 grid (128 candidates per robot). Each command is evaluated over 15 steps of 0.1 s, with first-order velocity tracking (α = 2.5) and softmin weights exp(−(J − Jmin) / 0.08).
A 0.42 × 0.28 m sampled footprint checks static obstacles, with a 0.05 m soft buffer and a lethal collision penalty. Other robots contribute a velocity-oriented danger region, using a half-trust velocity forecast and an additional keep-out region at their current position.
Cost weights: path 10 · progress 5 · heading 0.9 · static obstacles 10 · other robots 30 · backward motion 10. Smoothness (1.2) and feasibility (5) are zero for this constant, in-bounds control grid.
This is the grid-based, MPC-like variant of the MPPI planner. The fan shows sampled trajectories; the solid curve is their weighted control rollout. Only the next command executes before replanning.
- 04
Execution
Go1 locomotion executes the velocity commands. Command limits are −0.25 to 0.95 m/s forward and ±1.3 rad/s yaw. Output filtering uses 0.4 for forward velocity and 0.5 for yaw.
The browser omits tiny grid residual noise, terrain, ROS transport, mission assignment, and the learned locomotion policy.