Arm Playground
PPO-политики для 4-суставной руки
Arm Playground — набор из двух PPO-политик для симулированной 4-суставной руки (yaw, shoulder, elbow, wrist) на PyTorch. reach наводит кисть на 3D-цель и перехватывает движущуюся, push закатывает шайбу в цель. Политика каждые 20 мс читает состояние и выдаёт 4 команды скорости суставов — без inverse kinematics и планировщика.
👀 Ключевые особенности
- 🔥 Две задачи: reach с 21-мерным наблюдением и push с 25-мерным.
- 💪 Выход — 4 числа в [-1, 1], масштабируются vmax = [2.0, 2.0, 2.5, 3.0] rad/s.
- 🐙 Форматы .safetensors и .onnx; нормализация и клиппинг уже внутри политики.
- 🥳 Обучение на CPU: PPO с 1024 параллельными руками; push — сначала DAgger, затем PPO.
- 👀 Есть live demo в браузере; паритет PyTorch/ONNX проверен до ~1e-6.
💪 Пример
import numpy as np
import onnxruntime as ort
from huggingface_hub import hf_hub_download
path = hf_hub_download("zerochance1907/arm-playground", "reach.onnx")
policy = ort.InferenceSession(path)
obs = np.zeros((1, 21), dtype=np.float32)
action = policy.run(["action"], {"obs": obs})[0]
print(action) # [[yaw, shoulder, elbow, wrist]] в [-1, 1]
Подробнее
Reach: 94% попаданий в 3 см, медиана 0.68 с, ошибка 1.1 см.Push: 99.5% доставлено, 97.5% остаётся в цели, медиана 1.1 с.
Крошечная MLP 128→128, запускается на CPU.
Ограничения: только собственный симулятор, без sim-to-real и шума; не для реальной руки.








Комментарии