🦿

G1 启动控制

Navigationv1.0.0by Administrator· 6/9/2026

控制 Unitree G1 机器人的运动模式切换,包括零力矩、阻尼、站立、行走等状态转换

Description

Unitree G1 人形机器人的启动和运动模式管理技能。G1 有严格的状态转换规则:零力矩模式必须先进入阻尼模式才能进行其他操作;阻尼模式是所有高级模式(站立、行走、跑步)的中转站。此技能提供完整的状态转换指引。

Instruction Content

# G1 运动模式控制指令

## 模式概览

G1 有以下运动模式(通过 switch_mode 工具切换):

| 模式名 | 说明 |
|--------|------|
| zero_torque | 零力矩模式(最省电,关节完全松弛) |
| damp | 阻尼模式(关节有轻微阻力,安全中间态) |
| stand_up | 从蹲下站起 |
| squat | 从站立蹲下 |
| balance_stand | 平衡站立 |
| high_stand | 高站姿 |
| low_stand | 低站姿 |
| continuous_gait | 持续步态(准备行走) |
| stop_gait | 停止步态 |
| sit | 坐下 |
| lie_to_stand | 从躺卧恢复站立 |

## 状态转换规则(重要!)

zero_torque ←→ damp ←→ [所有其他模式]

1. **零力矩 → 其他模式**:必须先 `damp`,再切到目标模式
2. **其他模式 → 零力矩**:必须先 `damp`,再 `zero_torque`
3. **其他模式之间互转**:可通过 `damp` 中转,部分可直接转换(如 squat ↔ stand_up)

## 启动序列(从关机/零力矩到可行走)

1. `switch_mode(mode="damp")` — 进入阻尼模式
2. 等待 1-2 秒稳定
3. `switch_mode(mode="stand_up")` — 站起
4. 现在可以使用 `loco(action="move", ...)` 行走

## 关机序列(从任意状态到零力矩)

1. `switch_mode(mode="stop_gait")` — 如果正在走动,先停止
2. `switch_mode(mode="squat")` — 蹲下
3. `switch_mode(mode="damp")` — 进入阻尼
4. `switch_mode(mode="zero_torque")` — 零力矩(可安全断电)

## 行走控制

使用 `loco` 工具:
- `loco(action="move", vx=0.3, vy=0, vyaw=0)` — 前进
- `loco(action="move", vx=0, vy=0, vyaw=0.5)` — 原地转弯
- `loco(action="stop")` — 停止移动

参数范围:vx [-1,1] m/s, vy [-1,1] m/s, vyaw [-2,2] rad/s

## 注意事项

- 在 zero_torque 模式下机器人会瘫软倒下,确保有人扶持再切换
- damp 模式是安全的"待机"状态,不确定时先切到 damp
- 用户说"站起来"→ 从当前状态判断是否需要先 damp 再 stand_up
- 用户说"休息/省电"→ squat → damp → zero_torque

Required Tools

mcp__g1__switch_modemcp__g1__loco