Humanoid Autonomy   Mars Terrain

HANUMAN
walks where there is no map

A three layer autonomy stack for a bipedal Unitree G1 on real NASA Jezero Crater terrain. Learned locomotion, GPS denied localization, and onboard navigation, all in one mission console.

Mars Time (MTC) 00:00:00
Mission Sol SOL 0000
Terrain JEZERO 18.4N
Stack NOMINAL
G1 traversing the Jezero HiRISE tile in MuJoCo
01 The Problem

No floors.
No GPS.
No second chances.

Mars has no flat ground, no satellite positioning, and a communication delay of up to 24 minutes to Earth. A humanoid operating there has to walk over rocks it has never seen, know where it is without any external infrastructure, and make every time critical decision on its own.

HANUMAN handles this with three layers that work together, running the same ROS 2 nodes that a real robot would, on terrain taken straight from orbit.

24 min
Worst case round trip to Earth, so you cannot drive the robot by hand. It has to work on its own.
0 sat fix
No GPS at Mars. Position has to come from the robot's own legs, IMU, and a match against orbital terrain.
Real DEM
Every surface is real NASA Jezero Crater elevation data at 1 m per pixel, not a procedural guess.
02 Architecture

Three layers,
three clocks.

Each layer talks to the next through a minimal interface of waypoints, velocity commands, and heightmaps. Every layer can be built, tested, and swapped on its own.

50HZ
Layer 1 // Locomotion
RL policy under Mars gravity
A PPO policy trained in MuJoCo Warp at 3.72 m per second squared. It reads proprioception plus a body heightmap and a per foot terrain scan, then outputs 29 joint targets. Foothold choice is learned on real Jezero crops mixed with procedural slopes and dunes.
PPO · mjlab · RSL-RL
10HZ
Layer 2 // State & Localization
Error state EKF plus a Mars GPS
Leg odometry and an error state EKF fuse IMU and contact velocity. A GTSAM backend folds in terrain priors, while a lidar elevation map matched against the orbital HiRISE DEM produces a drift free absolute pose fix.
EKF · GTSAM · HiRISE match
1HZ
Layer 3 // Navigation
A* global, MPPI local, one console
A slope and roughness cost map feeds an 8 connected A* planner. An MPPI local planner samples body velocity rollouts and emits human shaped cmd_vel. The operator console overlays the basemap, plan, pose, and a first person viewport with click to goal.
A* · MPPI · PyQt console
DATA FLOW   HiRISE DEM cost map A* path MPPI cmd_vel EKF state RL policy 29 joint torques
Operator console // commanding the robot across Jezero
03 Telemetry

The numbers,
all real.

Every figure below comes straight from the project. No invented success rates, no fabricated traverse distance.

50 / 10 / 1Hz
Locomotion / Estimation / Navigation rates
3.72m/s2
Mars gravity in the training sim
1m/px
Real NASA Jezero HiRISE elevation
29DoF
Unitree G1 body degrees of freedom
256envs
Parallel MuJoCo Warp training worlds
200m
Jezero tile draped with the HiRISE orthophoto
04 Engineering

What it took
to make it reproducible.

Terrain Pipeline
HiRISE DTM to MuJoCo hfield
A CLI turns real Mars 2020 TRN HiRISE elevation models into heightfield terrain, includable MJCF, a viewer scene, and metadata. Every surface in the project is generated this way.
Two Toolchains
CUDA RL plus ROS 2 Jazzy
A CUDA RL stack trains Layer 1 while a ROS 2 Jazzy stack runs Layers 2 and 3 and the sim. Pixi keeps the two environments isolated so they never collide.
Domain Randomization
Trained to survive surprise
Friction, center of mass, encoder bias, and external pushes are randomized during training so the policy holds up when the terrain underfoot is not what the map promised.
Same Nodes As Hardware
Deployment sim, not a demo
The MuJoCo deployment scene runs through mujoco_ros2_control with IMU, foot force torque, a depth camera, and a lidar, executing the same nodes a real robot would.
05 Mission Log
LOG ENTRY // on realism

HANUMAN runs in simulation. There is no claim that this robot has stood on Mars.

What is real is the terrain. The elevation comes from NASA HiRISE products over Jezero Crater, and the stack runs the same ROS 2 nodes that would run on hardware, under Mars gravity. The point was never a fake success number. It was to build the autonomy honestly and let the hard parts stay hard.

Read the same note on BHEEMA →
06 Source & Lineage

Built on BHEEMA.

HANUMAN extends BHEEMA, the flat ground bipedal locomotion baseline for the same Unitree G1, out onto rough Mars terrain and adds perception, localization, and navigation on top.