Robotics
Transformers
Safetensors
English
Chinese
vision-language-action
vla
go-1
agibot-world
imitation-learning
dual-arm
suction
Instructions to use EmbodyX/go1_sft_go2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use EmbodyX/go1_sft_go2 with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("EmbodyX/go1_sft_go2", dtype="auto") - Notebooks
- Google Colab
- Kaggle
HANDOFF — checkpoint_0617 真机测试(新会话精简交接)
早期交接快照(命令以
/data/agi原路径示意)。当前规范命令与最新结论以 COMMANDS_v2.md 为准(含"头下俯+开腰"使闭环起手的实测验证)。 详细见同目录 README.md / COMMANDS_v2.md。
基本信息
- 机器人
agi@172.16.64.220;模型/data/agi/checkpoint_0617(G2 22维 吸盘搬铝板 GO-1 / AgiBot-World) - 推理 venv:
/data/agi/venvs/go1_torch/bin/python;模型代码/data/agi/AgiBot-World - 环境:
source /home/agi/workspace/env.sh; export TMPDIR=/data/agi/tmp; export PYTHONPATH=/home/agi/workspace:$PYTHONPATH - 脚本:机器人
/data/agi/*_0617.py,本地副本本目录
22维 state/action 布局(lerobot 序,FIXED)
来源:/home/agi/workspace/go2_data_recorder/offline/profiles/go1.py 的 GO2_SUCTION_EXTRACT_V1
[0:7]左臂 | [7:14]右臂 | [14]左吸盘 | [15]右吸盘 | [16:21]下半身(idx01-05) | [21]头pitch(idx13)
qpos ↔ lerobot:左臂=qpos[8:15],右臂=qpos[15:22],下半身=qpos[0:5],头pitch=qpos[7],吸盘=EVS08
三个已验证的关键修复(必须带上)
- 关节顺序:必须按上面 lerobot 序拼 state、解 action(不是 qpos 原序「身体5+头3+臂14」)。错序 → 动作完全乱(action[0] 离当前 ~3rad)。
- 臂下发 API:用
move_arm_joint_servo(positions14, period, control_group=2);禁用joint_servo_control(顺序错位 → 手臂跳变 → 整机断电重启)。 - 平滑:伺服 100Hz + control_period=0.01(= 发送周期);不要 30Hz + control_period=0.04(会一顿一顿)。步长按 rad/s 折算。头 pitch clamp 到
[-0.10, 0.65]。
基本测试方法(三级 + 工具)
# 0) 环境(见上); PY=/data/agi/venvs/go1_torch/bin/python
# 1) 离线验证推理(不动机器人): pred vs 训练真值
$PY /data/agi/openloop_verify_0617.py
# 2) 真机只读(不动机器人): 抓相机+关节 → 推理 → 打印 action[0]
$PY /data/agi/infer_stage_a_v2_0617.py
# 3) 自检臂控制权(动腕5°): moved~5° = 可控; moved~0 = 遥操占着,需释放
$PY /data/agi/smallstep_test_0617.py --live --joint 6 --delta-deg 5
# 4) 闭环(⚠️动机器人): 正确IO + 100Hz平滑
$PY /data/agi/infer_stage_c_v3_0617.py --live --no-waist --max-chunks 30 --exec-frames 30 --max-slew 0.5
# 复位到初始位姿(⚠️动机器人)
$PY /data/agi/pose_io_0617.py --restore --live --speed 0.4
注意(事实,非结论)
- 闭环需臂控制权在手(遥操释放,否则
move_arm_joint_servo返回 0 但臂不动;left/right_arm_control标志不可靠,以小步实测为准)。 - 默认
--no-waist= 不发腰指令(此模式腰可能前倾下沉,留意)。吸盘只记录不下发(EVS08 未接)。 - 所有 live 脚本 Ctrl-C 立即停并保持当前位姿;结束自动
set_control_mode(priority=1)交还。 - 默认恢复位姿文件
/data/agi/saved_init_pose.npy。
当前正确脚本(用这些)
| 脚本 | 用途 |
|---|---|
openloop_verify_0617.py |
离线 pred vs gt |
infer_stage_a_v2_0617.py |
真机只读推理 |
infer_stage_c_v3_0617.py |
闭环主脚本(正确 IO + 100Hz 平滑) |
pose_io_0617.py |
位姿快照 --save / 恢复 --restore |
go_home_servo_0617.py |
平滑驱动到 home / 指定位姿(--target-npy) |
smallstep_test_0617.py / smooth_all_test_0617.py / squat_test_0617.py |
关节/平滑测试 |
verify_arm_order_0617.py / verify_headwaist_0617.py |
顺序/通路验证 |
❌ 废弃(错序/旧逻辑):infer_stage_a_0617.py、infer_stage_c_0617.py、infer_stage_c_v2_0617.py、ramp_to_start_0617.py、openloop_check_0617.py、go_to_init_pose_0617.py、go_head_init_0617.py