UNITREE G1 / ARM + LOCOMOTION

行走中控制机械臂,先锁定谁拥有腰部与质心

双臂能抬起,不等于机器人能带着同一姿态稳定行走。G1 的准确版本、固件、运动模式、腰部自由度、rt/arm_sdk 权重和步态控制器必须形成一份关节所有权合同,再谈固定搬运姿态或 pick-and-place。

01 / SIGNAL

问题不是一个腰部角度

公开记录中,双臂进入前伸或高举姿态后出现腰部前折、重踏、侧移、躯干振荡,甚至突然前冲。降低 arm weight 或增加负向 WaistPitch 有时改善站立,但没有证明行走控制器会补偿新的质心与惯量。

公开证据能证明什么不能证明什么
SDK Issue #146多名 G1 用户在 arm SDK + 行走时观察到相似失稳。没有准确固件/模式/关节时序,不能确认单一根因。
SDK Issue #17329-DoF、固定预抓取姿态与遥控行走的测试矩阵更完整。Issue 被关闭但没有维护者答案,不代表问题已解决。
Python arm7 example示例把腰 12–14 与双臂一起列入命令,同时标注锁腰版本的无效关节。不能据此推断所有 29-DoF 固件都允许应用接管三自由度腰部。
XR motion-mode arm indices当前实现只把 15–28 定义为 G1_29 双臂关节,不包含腰 12–14。参考实现可运行,不等于任意固定搬运姿态都在步态稳定域内。

事实边界:本页基于链接中的公开修订与问题记录。没有准确机器、固件、负载和状态记录时,不给出“安全腰部补偿角”或通用 kp/kd。

02 / OWNERSHIP

关节所有权矩阵

子系统开始测试前必须确认未确认时的处理
腿部 0–11当前 locomotion/FSM、遥控与应用控制权、速度命令来源。只允许原厂步态控制器;应用不发布低层腿部目标。
腰部 12–14准确腰部版本、Regular/Running 模式、固件是否保留腰部所有权。不写 WaistYaw/Roll/Pitch,不用“腰锁帧”代替合同。
双臂 15–28rt/arm_sdk 支持模式、命令频率、q/dq/tau、速度/加速度限制。保持 motion-controller 初始臂姿,不进入搬运测试。
Weight 29当前姿态差、权重切换策略、发布中断后的释放/保持行为。从安全姿态渐变;过期或异常进入明确释放/保持状态。
停止与恢复谁停止底盘、谁回收双臂、哪一状态允许再次行走。任何责任不明都保持停止,不自动重试至“看起来能走”。
03 / GATES

五级实机验收门

配置冻结

记录 G1 版本、固件、SDK/代码 commit、mode_machine、运动模式、受控关节与命令频率。

CONFIG LOCK

原厂行走

双臂保持 motion-controller 姿态,先证明遥控/速度行走、停止和温度基线。

STOCK WALK

站立控臂

只控制 15–28,小幅、对称、无负载;验证 q/dq、躯干角、足力与状态新鲜度。

ARM / STAND

行走控臂

同一小幅姿态下低速行走;单臂、双臂和更大位移必须逐级通过,不跨级。

ARM / WALK

载荷与任务

加入夹爪/载荷、抓取与路线前,验证质心、碰撞、过期命令、取消、接管和恢复。

PAYLOAD / TASK
04 / ACCEPT

必须保留的验收记录

测试同步记录通过条件
原厂行走基线模式、速度、IMU、足力、温度、停止时间配置可重复,未控制机械臂时没有同类失稳。
小幅对称臂姿command/actual q、dq、weight、躯干 roll/pitch站立稳定;无突然高速臂动作和持续姿态偏置。
臂姿下低速行走步态、躯干角速度、足接触、路径偏差不重踏/侧移/前冲;触发阈值前能确定性停止。
机械臂命令过期最后新鲜 command、interlock、回臂/停止状态旧目标不被无限重放;底盘与机械臂进入约定安全状态。
模式切换与人工接管mode_machine、命令所有权、remote/e-stop 状态所有权只有一个;恢复需要新鲜状态与明确重新解锁。
加入真实负载质量、安装位姿、质心、关节负载、温度仅在无负载门通过后执行;所有指标以该负载配置记录。

如果原厂行走通过,但任何有意义的臂位移都稳定复现失败,下一步可能是协调式 loco-manipulation / whole-body control,而不是继续手调腰角或增益。

05 / INTERLOCK

移动与操作必须互锁

  1. 01臂命令必须携带 generation 与单调接收时间;过期后不继续执行最后姿态变化。
  2. 02mode_machine、控制权或关节列表变化时,禁止继续使用旧 generation。
  3. 03躯干角度/角速度、足接触、关节跟踪误差或温度越界时停止底盘,并进入已定义的回臂/保持路径。
  4. 04底盘停止不等于机械臂安全;机械臂释放不等于机器人恢复行走。分别记录确认结果。
  5. 05人工接管后,只有新鲜状态、单一所有权和明确 re-arm 条件都满足,才恢复非零运动。

验证一套 G1 搬运或行走控臂配置

请提供准确 G1 版本/固件、运动模式、SDK/代码 commit、机械臂与末端、负载质量与安装位姿、目标臂姿、行走方式以及当前失稳日志。第一阶段只定义一个小幅无负载验收单元。