Browse by type
English | 简体中文

[2026 年 8 月 12 日] 我们的 G0.5 论文 G0.5: One Autoregressive Stream for Robot Reasoning and Action 已在 arXiv 上发布。
[2026 年 7 月 11 日] 我们在 experiments/r1pro 中新增 R1 Pro 真机零样本推理部署入口,使用与 R1 Lite 零样本部署相同的 g05-base 预训练权重。
[2026 年 6 月 29 日] 我们在 experiments/robotwin 中新增 G0.5 RoboTwin 2.0 评测入口,并提供 g05-robotwin20 权重。更多仿真 benchmark 的评测功能将很快更新。
[2026 年 6 月 17 日] 我们在 experiments/so100 中新增 G0.5 SO-100/101 零样本推理部署入口,并提供 g05-so101 权重。
[2026 年 6 月 16 日] 我们发布 G0.5 预训练权重 g05-base。该权重也支持 R1 Lite 零样本推理部署,入口位于 experiments/r1lite。此外,我们还新增 DROID 零样本推理部署入口 experiments/droid,使用 g05-droid 权重;LIBERO 仿真评测入口 experiments/libero,使用 g05-libero 权重;以及通过 scripts/run/finetune.sh 启动的 R1 Lite/R1 Pro 后训练微调支持,并以 g05-base 作为初始化权重。
[2026 年 6 月 1 日] 我们发布 G0.5,这是最新的自回归 VLA 模型,具备领先性能。请查看项目主页。
[2026 年 2 月 12 日] 更新了在更大规模遥操作和网页数据上训练的 G0Plus 预训练权重。发布 G0Tiny(250M,SmolVLM2 骨干网络),用于 R1 Pro Orin 边缘部署。新增开箱即用的演示任务:Fold Towels 和 Handover Gift(通过 TensorRT 在设备端运行 G0Tiny 推理,最高 10 Hz)。新增基于 openpi 的 pi0/pi0fast 微调支持。
[2026 年 1 月 4 日] 我们发布 G0Plus,这是最新的预训练 VLA 模型,面向多任务机器人操作。
[2025 年 10 月 7 日] Galaxea 开放世界数据集现已以 LeRobot 格式发布在 Hugging Face!
[2025 年 9 月 17 日] 发布 G0-VLA 微调和真实机器人推理代码。
[2025 年 9 月 9 日] 在 Hugging Face 和 ModelScope 发布 G0-VLA 预训练模型权重!
[2025 年 9 月 9 日] 在 Hugging Face 和 ModelScope 发布 Galaxea 开放世界数据集!
G0.5 是 Galaxea 面向通用机器人控制的预训练自回归视觉-语言-动作模型。G0.5 没有仅把 VLM 用作独立动作专家的视觉语言编码器,而是保留 VLM 作为执行器:单个 transformer decoder 在统一的自回归流中生成推理 token 和动作 token,并使用同一个 next-token prediction 目标。
G0.5: One Autoregressive Stream for Robot Reasoning and Action 论文中的核心思路:
动作 token 被解码为连续机器人控制,以 chunk 形式执行,并基于新的观测进行闭环重规划。
跨本体 ActionCodec
left_control(9) | left_gripper(1) | right_control(9) | right_gripper(1) | lower_body(7)。动作生成时只输出活跃运动组,避免为空闲自由度生成不必要的 padding。
面向控制的原生 chain-of-thought
Subtask、BBox、Trace 和 ActionHint 字段,用于任务分解、目标定位、二维夹爪轨迹和帧级运动提示。这种设计提升了 grounding 和长时程执行能力,因为生成出的推理会直接被后续动作 token 看到。
视觉记忆
历史 token 会在最后一层被丢弃,以保持推理延迟有界。
预训练与评测

G0.5 Tokenizer

G0.5 Token Sequence Template
本节保留早期 GalaxeaVLA 版本中的 G0Plus 概览,方便追溯项目历史。G0Plus 和 G0Tiny 属于旧版 G0/G0Plus 发布线;当前分支的主要内容已经切换到 G0.5,不再包含旧版 G0Plus Dockerfile、Fold Towels/Handover Gift 演示指南或 pi0/pi0fast 训练配置。如需复现旧版 README 和文件布局,请查看 commit 13a16a9。历史权重仍位于 G0-VLA Hugging Face 仓库,包括:
更多数据集格式和示例细节见这里。
要运行本仓库中的 G0.5 预训练模型,需要至少满足以下规格的 NVIDIA GPU。这些估算基于单 GPU。
通过 scripts/run/finetune.sh 启动的多 GPU 微调默认使用 torchrun 分布式数据并行。它可以提升吞吐,但每张 GPU 都会保留完整模型副本,因此不应描述为模型并行,也不会降低单卡模型显存。多机运行由 WORLD_SIZE、RANK、MASTER_ADDR 和 MASTER_PORT 等环境变量控制。
| 模式 | 显存要求 | 示例 GPU |
|---|---|---|
| 推理 | > 8 GB | RTX 3090 / RTX 4090(推荐) |
| 全量微调 | > 70 GB | A100 (80GB) / H20 (96GB) |
已测试环境:
>=3.10.16,<3.11cu128 wheelflash-attn-4、flash-linear-attention 等原生 CUDA 扩展;请确保 CUDA runtime、编译工具链和 PyTorch 构建匹配ffmpeggit clone https://github.com/OpenGalaxea/GalaxeaVLA
cd GalaxeaVLA
# 运行环境
uv sync --index-strategy unsafe-best-match
# 如需开发和测试依赖,改用
uv sync --extra dev --index-strategy unsafe-best-match
source .venv/bin/activate
安装前请注意:
bash
export UV_DEFAULT_INDEX=https://mirrors.aliyun.com/pypi/simple/
export UV_PYTHON_INSTALL_MIRROR=https://gh-proxy.com/https://github.com/astral-sh/python-build-standalone/releases/download请将 Hugging Face 仓库下载到 checkpoints/,保持本地路径与当前配置一致:
huggingface-cli download OpenGalaxea/G05 \
--repo-type model \
--local-dir checkpoints \
--local-dir-use-symlinks False
下载后的期望目录结构:
checkpoints/
├── action_tokenizer.pt
├── qwen3_5_2b_base_processor/
├── g05-base/
│ ├── .hydra/config.yaml
│ ├── checkpoints/model_state_dict.pt
│ └── dataset_stats.json
├── g05-so101/
│ ├── .hydra/config.yaml
│ ├── checkpoints/model_state_dict.pt
│ └── dataset_stats.json
├── g05-droid/
│ ├── .hydra/config.yaml
│ ├── checkpoints/model_state_dict.pt
│ └── dataset_stats.json
├── g05-libero/
│ ├── .hydra/config.yaml
│ ├── model.pt
│ └── dataset_stats.json
└── g05-robotwin20/
├── .hydra/config.yaml
├── checkpoints/model_state_dict.pt
└── dataset_stats.json
包含 RoboTwin checkpoint 时,完整权重约 55 GB。每个 G0.5 模型检查点约 11 GB,共享的 action_tokenizer.pt 约 484 MB,qwen3_5_2b_base_processor/ 约 22 MB。
| 模型 | 用途 | 本地 --ckpt_path |
|---|---|---|
| G05-base | 微调和 R1 Lite/R1 Pro 零样本部署 | checkpoints/g05-base/checkpoints/model_state_dict.pt |
| G05-so101 | SO-100/101 零样本部署 | checkpoints/g05-so101/checkpoints/model_state_dict.pt |
| G05-droid | DROID 零样本部署 | checkpoints/g05-droid/checkpoints/model_state_dict.pt |
| G05-libero | LIBERO 评测 | checkpoints/g05-libero/model.pt |
| G05-robotwin20 | RoboTwin 2.0 评测 | checkpoints/g05-robotwin20/checkpoints/model_state_dict.pt |
请保留每个 checkpoint 旁边的 .hydra/config.yaml 和 dataset_stats.json。推理和评测入口会从 checkpoint 父目录向上解析 dataset_stats.json,配置默认使用 checkpoints/qwen3_5_2b_base_processor 作为共享 processor,并使用 checkpoints/action_tokenizer.pt 作为共享 action tokenizer。
LIBERO 导出的配置会引用 bundle 内部 sidecar。下面的 eval_libero.sh 命令依赖这些路径。如果下载工具没有生成这些文件,请创建软链接:
ln -sf ../action_tokenizer.pt checkpoints/g05-libero/action_tokenizer.pt
ln -sfn ../qwen3_5_2b_base_processor checkpoints/g05-libero/hf_processor
真实机器人部署采用服务端/客户端架构。GPU 机器运行本仓库中的 G0.5 策略服务端,机器人端客户端采集原始观测,通过 WebSocket + msgpack 发送观测,接收 action chunk 并执行。
在 GPU 机器上启动策略服务端:
python scripts/serve_policy.py \
--ckpt_path checkpoints/g05-base/checkpoints/model_state_dict.pt \
--host 0.0.0.0 \
--port 8080 \
--device cuda \
--action_steps 16 \
eval_embodiment=galaxea_r1lite
在 experiments/r1lite/config.toml 中设置服务端地址后,在机器人机器上启动 R1 Lite 客户端:
source /opt/ros/humble/setup.bash
source .venv/bin/activate
cd experiments/r1lite
python run.py --config config.toml
ROS2 话题、客户端/服务端协议、指令文件、录制和测试细节见 experiments/r1lite/README.md。
R1 Pro 部署使用多帧策略服务端和 experiments/r1pro 下的 ROS2 客户端。先在 GPU 机器上使用 R1 Pro checkpoint 启动策略服务端:
PYTHONPATH="src:${PYTHONPATH:-}" python scripts/serve_policy_mem.py \
--ckpt_path /path/to/r1pro/checkpoints/model_state_dict.pt \
--host 0.0.0.0 \
--port 8080 \
--device cuda \
--action_steps 16 \
eval_embodiment=galaxea_r1pro \
model.model_weights_to_bf16=true \
model.use_torch_compile=true \
model.model_arch.attn_implementation=sdpa \
model.model_arch.discrete_action=true \
model.model_arch.continuous_action=false
然后在 experiments/r1pro/config.toml 中设置服务端地址,并在机器人机器上启动客户端:
source /opt/ros/humble/setup.bash
source .venv/bin/activate
cd experiments/r1pro
python run.py --config config.toml
ROS2 话题、客户端/服务端协议、指令管理、录制、可视化和测试细节见 experiments/r1pro/README_zh.md。
SO-100/101 部署使用同一个 G0.5 策略服务端,并搭配轻量级 LeRobot 客户端。先在 GPU 机器上启动策略服务端:
bash experiments/so100/start_server.sh checkpoints/g05-so101/checkpoints/model_state_dict.pt
然后在另一个终端或机器人机器上配置并启动客户端:
conda env create -f experiments/so100/environment.yml
conda activate lerobot
bash experiments/so100/start_client.sh
运行客户端前,请在 experiments/so100/start_client.sh 中更新相机索引和 camera-slot 映射。详见 experiments/so100/README.md。
DROID 部署由本仓库提供 G0.5 策略服务,并使用独立的 OpenGalaxea/droid-franka-client 仓库控制机器人。先在 GPU 机器上启动策略服务端:
CHECKPOINT_DIR=checkpoints/g05-droid \
POLICY_PORT=8000 \
POLICY_DEVICE=cuda:0 \
bash experiments/droid/start_server.sh \
model.model_arch.discrete_action=true model.model_arch.continuous_action=false
然后克隆并配置机器人端客户端:
git clone git@github.com:OpenGalaxea/droid-franka-client.git
完整设置和协议约定见 experiments/droid/README.md 与 experiments/droid/PROTOCOL.md。
LIBERO 评测同样使用服务端/客户端设置。这个命令会在后台启动批处理策略服务端,为每个 LIBERO suite 启动一个并行客户端,并在评测结束后停止服务端。
bash scripts/run/eval_libero.sh checkpoints/g05-libero/model.pt \
--num_trials 50 \
--num_parallel 10 \
--save_videos
默认情况下,脚本会评测 libero_goal、libero_spatial、libero_object 和 libero_10,然后把每个 suite 的日志和 summary.json 写入 outputs/libero_eval_<checkpoint_name>/。使用 --suites "libero_goal libero_10" 可以只运行子集;需要时也可以追加 Hydra 风格的 override,例如 model.model_arch.discrete_action=false。
LIBERO 安装说明、生成的路径配置、输出布局和单 suite 调试命令见 experiments/libero/README.md。
RoboTwin 评测运行在 RoboTwin 仿真器中,需要额外的仿真依赖和 assets。它使用单独的 .venv-robotwin 环境,避免仿真器所需的 sapien 3.x 覆盖主仓库环境。请按照 experiments/robotwin/README_zh.md 克隆 RoboTwin、下载 assets、创建 .venv-robotwin,并完成渲染验证。
全量 RoboTwin 任务集评测命令:
.venv-robotwin/bin/python -u experiments/robotwin/run_robotwin_manager.py \
task=robotwin \
ckpt=checkpoints/g05-robotwin20/checkpoints/model_state_dict.pt \
EVALUATION.robotwin_root=third_party/RoboTwin \
MULTIRUN.num_gpus=8 \
MULTIRUN.max_tasks_per_gpu=1
该命令会使用配置中的 episode 数量评测 RoboTwin _eval_step_limit.yml 中的全部任务。标准 g05-robotwin20 目录结构下,dataset_stats.json 会自动从 checkpoint 父目录向上解析;只有 stats 文件放在其他位置时,才需要传 EVALUATION.dataset_stats_path=/path/to/dataset_stats.json。汇总结果写入 evaluate_results/robotwin/<ckpt_tag>/<timestamp>/,RoboTwin 渲染视频保留在 third_party/RoboTwin/eval_result/。
如需使用自己的数据微调模型,请按以下四步操作。配置层级和常见修改位置见 configs/QUICK_START.md。
configs/task/ 下创建或调整 task config,并在 configs/data/ 下更新对应数据集路径。Galaxea 机器人微调可从以下配置开始:$ claude mcp add GalaxeaVLA \
-- python -m otcore.mcp_server <graph>