End-to-end framework for developing locomotion and perception policies for a quadruped robot Meldog using reinforcement learning and supervised learning.
Meldog_Locomotion.mp4
Meldog_Perception.1.mp4
This project provides a complete pipeline for training locomotion and perception:
- Train locomotion policy — RL-based controller (PPO) that learns to walk on varied terrain
- Collect perception dataset — use trained locomotion to gather depth camera observations with ground truth height maps
- Train perception model — supervised learning to reconstruct dense terrain from sparse observations
Currently there are three functioning versions of the terrain perception network:
Input: Sparse height map (40×40) from 4 depth cameras + gravity vector from IMU
Output: Reconstructed height map (40×40)
Standard U-Net encoder-decoder with skip connections. Gravity vector is embedded via MLP and injected at the bottleneck.
Deeper encoder (additional level down to 5×5) with self-attention mechanism. Larger receptive field allows the network to capture global terrain structure.
Adds ConvGRU layers that maintain hidden state across frames. The network builds a "belief state" about terrain — remembering previously observed regions that are now occluded.
Built on Isaac Lab's direct workflow template. Here's where key components live:
scripts/locomotion/— RL training, evaluation, and testing for locomotion policiesscripts/perception/— Supervised learning pipeline for terrain perception (training, evaluation, dataset collection)
source/meldog_rl/envs/meldog_env.py— Main environment implementation defining robot physics, observations, rewardssource/meldog_rl/envs/configs/— Environment configurations organized by use case:simulation/— Training configs (flat/rough terrain)sim2real/— Real-world deployment configs with domain randomizationdataset/— Dataset collection configs with camera observations enabled
source/meldog_rl/models/perception/— Perception architectures (V1 base, V2 attention, V3 temporal)source/meldog_rl/agents/— Locomotion policy configuration (PPO hyperparameters, network architecture)
logs/locomotion/— RL training checkpoints and TensorBoard logslogs/perception/— Perception model checkpoints and training metricsdatasets/— Collected depth camera observations with ground truth height maps
source/meldog_rl/datasets/— PyTorch dataset classes for perception trainingsource/meldog_rl/utils/— Shared utilities and naming conventions
This project is built on the Isaac Lab template.
TBD
TBD
Built using Isaac Lab simulation framework and project template.