LeRobot
custom
marl-ippo-actor-critic
marl
multi-agent-reinforcement-learning
ppo
ipppo
isaac-sim
world-model
cosmos3
dreamdojo
warehouse-robotics
cube-sorting
so-101
Instructions to use Ryukijano/marl-world-model with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use Ryukijano/marl-world-model with LeRobot:
- Notebooks
- Google Colab
- Kaggle
| { | |
| "model_type": "marl-ippo-actor-critic", | |
| "name": "MARL IPPO Warehouse Cube Sorting Policy", | |
| "description": "Independent PPO policies for 2-4 mobile warehouse robots in NVIDIA Isaac Sim, with optional world-model imagination.", | |
| "task": "multi-agent-warehouse-cube-sorting", | |
| "simulator": { | |
| "name": "NVIDIA Isaac Sim", | |
| "versions_tested": ["5.1.0", "6.0.1 pip"], | |
| "headless": true, | |
| "renderer": "D3D12" | |
| }, | |
| "num_agents": 2, | |
| "observation": { | |
| "image": { | |
| "shape": [3, 128, 128], | |
| "dtype": "uint8", | |
| "description": "RGB camera image per agent, stored/transposed to CHW for the policy network." | |
| }, | |
| "state": { | |
| "shape": [12], | |
| "dtype": "float32", | |
| "description": "[x, y, yaw, vx, vy, omega, nearest_cube_dx, nearest_cube_dy, nearest_cube_dist, target_bin_dx, target_bin_dy, target_bin_dist]" | |
| } | |
| }, | |
| "action_space": { | |
| "type": "continuous", | |
| "shape": [4], | |
| "low": -1.0, | |
| "high": 1.0, | |
| "description": "[forward, lateral, angular, gripper]", | |
| "gripper_threshold": 0.5 | |
| }, | |
| "policy": { | |
| "algorithm": "IPPO", | |
| "architecture": { | |
| "image_encoder": { | |
| "type": "CNN", | |
| "input_shape": [3, 128, 128], | |
| "conv_layers": [ | |
| {"in_channels": 3, "out_channels": 32, "kernel_size": 3, "stride": 2, "padding": 1}, | |
| {"in_channels": 32, "out_channels": 64, "kernel_size": 3, "stride": 2, "padding": 1}, | |
| {"in_channels": 64, "out_channels": 64, "kernel_size": 3, "stride": 2, "padding": 1} | |
| ], | |
| "pooling": "AdaptiveAvgPool2d(4, 4)" | |
| }, | |
| "shared_mlp": { | |
| "input_dim": "conv_flat + state_dim", | |
| "hidden_dim": 256, | |
| "num_layers": 2, | |
| "activation": "ReLU" | |
| }, | |
| "value_head": {"input_dim": 256, "output_dim": 1}, | |
| "actor_head": { | |
| "type": "gaussian", | |
| "input_dim": 256, | |
| "output_dim": 4 | |
| }, | |
| "state_dim": 12, | |
| "hidden_dim": 256, | |
| "cnn_channels": [32, 64, 64], | |
| "reduce_spatial": 4 | |
| }, | |
| "hyperparameters": { | |
| "lr": 3e-4, | |
| "gamma": 0.99, | |
| "gae_lambda": 0.95, | |
| "clip_eps": 0.2, | |
| "value_loss_coef": 0.5, | |
| "entropy_coef": 0.01, | |
| "update_epochs": 4, | |
| "batch_size": 64, | |
| "max_grad_norm": 0.5, | |
| "normalize_advantages": true | |
| } | |
| }, | |
| "world_model": { | |
| "backends": ["mock", "cosmos3", "dreamdojo"], | |
| "default": "mock", | |
| "fallback_to_mock": true, | |
| "imagination_horizon_default": 20 | |
| }, | |
| "so101_bridge": { | |
| "input_image_size": [128, 128], | |
| "state_dim_policy": 12, | |
| "action_mode": "delta", | |
| "max_delta": 0.05, | |
| "joint_keys": [ | |
| "shoulder_pan.pos", | |
| "shoulder_lift.pos", | |
| "elbow_flex.pos", | |
| "wrist_flex.pos", | |
| "wrist_roll.pos", | |
| "gripper.pos" | |
| ] | |
| }, | |
| "lerobot_dataset_repo": "Ryukijano/marl-world-model-lerobot", | |
| "source_repo": "Ryukijano/marl-world-model", | |
| "license": "apache-2.0" | |
| } | |