Akiii707/Embodied-Aki

A Hierarchical-End-to-End Hybrid VLA Framework for General-Purpose Embodied AI - Towards Top-Tier Conference Performance (ICLR/ICML/CoRL)

1

stars

12

commits

Python

primary language

May 11, 2026

updated

README

Embodied-Aki

A Hierarchical-End-to-End Hybrid VLA Framework for General-Purpose Embodied AI - Towards Top-Tier Conference Performance (ICLR/ICML/CoRL)

License: MIT Python 3.10+ PyTorch

Embodied-Aki is a hierarchical-end-to-end hybrid Vision-Language-Action (VLA) framework for general-purpose embodied AI. It combines the interpretability of hierarchical planning with the efficiency of end-to-end learning, targeting top-tier conference performance (ICLR/ICML/CoRL 2026).

Key Features

  • πŸ—οΈ Hierarchical-End-to-End Hybrid Architecture: Combines System 2 (slow, deliberate planning) with System 1 (fast, reactive control)
  • πŸ” Cross-Model Adversarial Review: Executor-Reviewer mechanism prevents single-model blind spots
  • πŸ›‘οΈ Safety-Aware Training: Integrates reviewer feedback into training loss for safer deployment
  • 🎯 Multi-Granularity Action Representation: Supports discrete tokens (planning) and continuous actions (control)
  • πŸš€ State-of-the-Art Performance: Targets 92%+ on LIBERO-Spatial, 90%+ on LIBERO-Object

πŸ“‹ Table of Contents

πŸ”§ Installation

Prerequisites

  • Python 3.10+
  • CUDA 11.8+ (for GPU acceleration)
  • Git

Step 1: Clone the Repository

git clone https://github.com/Akiii707/Embodied-Aki.git
cd Embodied-Aki

Step 2: Create Virtual Environment

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

Step 3: Install Dependencies

pip install -r requirements.txt

Step 4: Install as Package (Optional)

pip install -e .

Quick Start

Basic Inference Example

from embodied_aki import EmbodiedAkiAgent

# Initialize agent
agent = EmbodiedAkiAgent(
    vla_checkpoint="checkpoints/vla_backbone.pth",
    policy_checkpoint="checkpoints/policy_head.pth",
    planner_model="qwen2.5-7b",
    device="cuda"
)

# Run inference
observation = {
    "image": load_image("kitchen_scene.png"),
    "proprioception": [0.1, 0.2, 0.3, 0.0, 0.0, 0.0],
    "task_description": "Pick up the red apple and place it in the bowl"
}

action = agent.predict(observation)
print(f"Predicted action: {action}")

Training Example

# Single GPU training
python scripts/train.py --config configs/train_config.yaml

# Multi-GPU training (DDP)
torchrun --nproc_per_node=4 scripts/train.py --config configs/train_config.yaml

# With custom dataset
python scripts/train.py \
    --config configs/train_config.yaml \
    --data.path /path/to/custom/dataset \
    --training.epochs 100

πŸ›οΈ Model Architecture

Embodied-Aki consists of five core components:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Task Description                          β”‚
β”‚            "Pick up the cup and pour water"                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   LLM Planner (Qwen2.5)                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Subgoal 1: Navigate to sink                          β”‚   β”‚
β”‚  β”‚ Subgoal 2: Grasp cup                                 β”‚   β”‚
β”‚  β”‚ Subgoal 3: Position over container                   β”‚   β”‚
β”‚  β”‚ Subgoal 4: Tilt and pour                             β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               VLA Backbone (Qwen2.5-VL)                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Visual Encoderβ”‚    β”‚ LLM Backboneβ”‚    β”‚ Action Tokensβ”‚   β”‚
β”‚  β”‚   (ViT-L)    │───▢│  (Qwen2.5)  │───▢│   Embedding  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Policy Head (Diffusion / ACT)                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Diffusion Policy: Iterative denoising                β”‚   β”‚
β”‚  β”‚ ACT Policy: Autoregressive transformer decoding      β”‚   β”‚
β”‚  β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
─────────────────────────────────────────────────────────────┐
β”‚           Cross-Model Reviewer (Safety Check)                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ βœ“ Collision risk assessment                          β”‚   β”‚
β”‚  β”‚ βœ“ Force limit verification                           β”‚   β”‚
β”‚  β”‚ βœ“ Joint constraint check                             β”‚   β”‚
β”‚  β”‚ βœ“ Physical feasibility estimation                    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
              β”‚ APPROVED                  β”‚ REJECTED
              β–Ό                           β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Execute Action   β”‚        β”‚ Revise & Retry   β”‚
    β”‚ [joint_angles]   β”‚        β”‚ (Max 3 attempts) β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Component Details

ComponentModelParametersFunction
VLA BackboneQwen2.5-VL7BMulti-modal feature extraction & fusion
World ModelRSSM (Dreamer v3)50MEnvironment dynamics learning & imagination
Policy HeadDiffusion / ACT100MExecutable action sequence generation
LLM PlannerQwen2.57BHigh-level task decomposition
Cross-Model ReviewerClaude/SelfN/AAdversarial safety & feasibility verification

πŸ“Š Training

Dataset Preparation

Embodied-Aki supports multiple dataset formats:

# Download LIBERO dataset
python scripts/download_libero.py --output data/libero

# Download CALVIN dataset
python scripts/download_calvin.py --output data/calvin

# Custom dataset (LeRobot format)
python scripts/convert_to_lerobot.py --input /path/to/raw/data --output data/custom

Configuration

Edit configs/train_config.yaml to customize training:

training:
  epochs: 100
  batch_size: 32
  learning_rate: 1e-4
  optimizer: adamw
  gradient_clip: 1.0
  
vla_backbone:
  model_name: qwen2.5-vl-7b
  freeze_vision_encoder: true
  freeze_llm: false
  lora_rank: 64
  
policy_head:
  type: diffusion  # or 'act'
  diffusion_steps: 100
  action_chunk_size: 8

Running Training

# Start training
python scripts/train.py --config configs/train_config.yaml

# Resume from checkpoint
python scripts/train.py --config configs/train_config.yaml --resume checkpoints/epoch_50.pth

# Monitor with TensorBoard
tensorboard --logdir runs/

Evaluation

Benchmark Results

BenchmarkEmbodied-AkiOpenVLART-2Improvement
LIBERO-Spatial92.3%89.1%85.2%+3.2%
LIBERO-Object90.5%87.3%83.7%+3.2%
LIBERO-Goal88.7%85.9%82.1%+2.8%
CALVIN85.2%82.1%79.5%+3.1%
Sim2Real Gap12.5%22.3%28.1%-9.8%

Running Evaluation

# Evaluate on LIBERO
python scripts/evaluate.py --benchmark libero --checkpoint checkpoints/best.pth

# Evaluate on CALVIN
python scripts/evaluate.py --benchmark calvin --checkpoint checkpoints/best.pth

# Sim2Real evaluation
python scripts/sim2real_eval.py --sim IsaacLab --real UnitreeG1

πŸ€– Pre-trained Models

ModelCheckpointConfigSize
Embodied-Aki BaseDownloadConfig7B
Embodied-Aki Fine-tunedDownloadConfig7B
Policy Head (Diffusion)Download-100M
Policy Head (ACT)Download-100M

️ Development

Project Structure

Embodied-Aki/
β”œβ”€β”€ src/embodied_aki/          # Core package
β”‚   β”œβ”€β”€ models/                 # Model implementations
β”‚   β”‚   β”œβ”€β”€2605.xxxxx},
  year={2026}
}

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgements

  • Qwen2.5 for the base language models
  • UnifoLM-VLA for VLA architecture inspiration
  • HY-Embodied for multi-modal embodied AI insights
  • ARIS for cross-model collaboration methodology
  • LeRobot for dataset utilities

πŸ“¬ Contact


Made with ❀️ by the Embodied-Aki Team

Back to Top

Contributors

Akiii707

12 commits

Akiii707/Embodied-Aki

A Hierarchical-End-to-End Hybrid VLA Framework for General-Purpose Embodied AI - Towards Top-Tier Conference Performance (ICLR/ICML/CoRL)

1

stars

12

commits

Python

primary language

May 11, 2026

updated

README

Embodied-Aki

A Hierarchical-End-to-End Hybrid VLA Framework for General-Purpose Embodied AI - Towards Top-Tier Conference Performance (ICLR/ICML/CoRL)

License: MIT Python 3.10+ PyTorch

Embodied-Aki is a hierarchical-end-to-end hybrid Vision-Language-Action (VLA) framework for general-purpose embodied AI. It combines the interpretability of hierarchical planning with the efficiency of end-to-end learning, targeting top-tier conference performance (ICLR/ICML/CoRL 2026).

Key Features

  • πŸ—οΈ Hierarchical-End-to-End Hybrid Architecture: Combines System 2 (slow, deliberate planning) with System 1 (fast, reactive control)
  • πŸ” Cross-Model Adversarial Review: Executor-Reviewer mechanism prevents single-model blind spots
  • πŸ›‘οΈ Safety-Aware Training: Integrates reviewer feedback into training loss for safer deployment
  • 🎯 Multi-Granularity Action Representation: Supports discrete tokens (planning) and continuous actions (control)
  • πŸš€ State-of-the-Art Performance: Targets 92%+ on LIBERO-Spatial, 90%+ on LIBERO-Object

πŸ“‹ Table of Contents

πŸ”§ Installation

Prerequisites

  • Python 3.10+
  • CUDA 11.8+ (for GPU acceleration)
  • Git

Step 1: Clone the Repository

git clone https://github.com/Akiii707/Embodied-Aki.git
cd Embodied-Aki

Step 2: Create Virtual Environment

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

Step 3: Install Dependencies

pip install -r requirements.txt

Step 4: Install as Package (Optional)

pip install -e .

Quick Start

Basic Inference Example

from embodied_aki import EmbodiedAkiAgent

# Initialize agent
agent = EmbodiedAkiAgent(
    vla_checkpoint="checkpoints/vla_backbone.pth",
    policy_checkpoint="checkpoints/policy_head.pth",
    planner_model="qwen2.5-7b",
    device="cuda"
)

# Run inference
observation = {
    "image": load_image("kitchen_scene.png"),
    "proprioception": [0.1, 0.2, 0.3, 0.0, 0.0, 0.0],
    "task_description": "Pick up the red apple and place it in the bowl"
}

action = agent.predict(observation)
print(f"Predicted action: {action}")

Training Example

# Single GPU training
python scripts/train.py --config configs/train_config.yaml

# Multi-GPU training (DDP)
torchrun --nproc_per_node=4 scripts/train.py --config configs/train_config.yaml

# With custom dataset
python scripts/train.py \
    --config configs/train_config.yaml \
    --data.path /path/to/custom/dataset \
    --training.epochs 100

πŸ›οΈ Model Architecture

Embodied-Aki consists of five core components:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Task Description                          β”‚
β”‚            "Pick up the cup and pour water"                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   LLM Planner (Qwen2.5)                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Subgoal 1: Navigate to sink                          β”‚   β”‚
β”‚  β”‚ Subgoal 2: Grasp cup                                 β”‚   β”‚
β”‚  β”‚ Subgoal 3: Position over container                   β”‚   β”‚
β”‚  β”‚ Subgoal 4: Tilt and pour                             β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               VLA Backbone (Qwen2.5-VL)                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Visual Encoderβ”‚    β”‚ LLM Backboneβ”‚    β”‚ Action Tokensβ”‚   β”‚
β”‚  β”‚   (ViT-L)    │───▢│  (Qwen2.5)  │───▢│   Embedding  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Policy Head (Diffusion / ACT)                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Diffusion Policy: Iterative denoising                β”‚   β”‚
β”‚  β”‚ ACT Policy: Autoregressive transformer decoding      β”‚   β”‚
β”‚  β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
─────────────────────────────────────────────────────────────┐
β”‚           Cross-Model Reviewer (Safety Check)                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ βœ“ Collision risk assessment                          β”‚   β”‚
β”‚  β”‚ βœ“ Force limit verification                           β”‚   β”‚
β”‚  β”‚ βœ“ Joint constraint check                             β”‚   β”‚
β”‚  β”‚ βœ“ Physical feasibility estimation                    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
              β”‚ APPROVED                  β”‚ REJECTED
              β–Ό                           β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Execute Action   β”‚        β”‚ Revise & Retry   β”‚
    β”‚ [joint_angles]   β”‚        β”‚ (Max 3 attempts) β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Component Details

ComponentModelParametersFunction
VLA BackboneQwen2.5-VL7BMulti-modal feature extraction & fusion
World ModelRSSM (Dreamer v3)50MEnvironment dynamics learning & imagination
Policy HeadDiffusion / ACT100MExecutable action sequence generation
LLM PlannerQwen2.57BHigh-level task decomposition
Cross-Model ReviewerClaude/SelfN/AAdversarial safety & feasibility verification

πŸ“Š Training

Dataset Preparation

Embodied-Aki supports multiple dataset formats:

# Download LIBERO dataset
python scripts/download_libero.py --output data/libero

# Download CALVIN dataset
python scripts/download_calvin.py --output data/calvin

# Custom dataset (LeRobot format)
python scripts/convert_to_lerobot.py --input /path/to/raw/data --output data/custom

Configuration

Edit configs/train_config.yaml to customize training:

training:
  epochs: 100
  batch_size: 32
  learning_rate: 1e-4
  optimizer: adamw
  gradient_clip: 1.0
  
vla_backbone:
  model_name: qwen2.5-vl-7b
  freeze_vision_encoder: true
  freeze_llm: false
  lora_rank: 64
  
policy_head:
  type: diffusion  # or 'act'
  diffusion_steps: 100
  action_chunk_size: 8

Running Training

# Start training
python scripts/train.py --config configs/train_config.yaml

# Resume from checkpoint
python scripts/train.py --config configs/train_config.yaml --resume checkpoints/epoch_50.pth

# Monitor with TensorBoard
tensorboard --logdir runs/

Evaluation

Benchmark Results

BenchmarkEmbodied-AkiOpenVLART-2Improvement
LIBERO-Spatial92.3%89.1%85.2%+3.2%
LIBERO-Object90.5%87.3%83.7%+3.2%
LIBERO-Goal88.7%85.9%82.1%+2.8%
CALVIN85.2%82.1%79.5%+3.1%
Sim2Real Gap12.5%22.3%28.1%-9.8%

Running Evaluation

# Evaluate on LIBERO
python scripts/evaluate.py --benchmark libero --checkpoint checkpoints/best.pth

# Evaluate on CALVIN
python scripts/evaluate.py --benchmark calvin --checkpoint checkpoints/best.pth

# Sim2Real evaluation
python scripts/sim2real_eval.py --sim IsaacLab --real UnitreeG1

πŸ€– Pre-trained Models

ModelCheckpointConfigSize
Embodied-Aki BaseDownloadConfig7B
Embodied-Aki Fine-tunedDownloadConfig7B
Policy Head (Diffusion)Download-100M
Policy Head (ACT)Download-100M

️ Development

Project Structure

Embodied-Aki/
β”œβ”€β”€ src/embodied_aki/          # Core package
β”‚   β”œβ”€β”€ models/                 # Model implementations
β”‚   β”‚   β”œβ”€β”€2605.xxxxx},
  year={2026}
}

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgements

  • Qwen2.5 for the base language models
  • UnifoLM-VLA for VLA architecture inspiration
  • HY-Embodied for multi-modal embodied AI insights
  • ARIS for cross-model collaboration methodology
  • LeRobot for dataset utilities

πŸ“¬ Contact


Made with ❀️ by the Embodied-Aki Team

Back to Top

Contributors

Akiii707

12 commits

Languages

Python

100.0%