半猎豹机器人#

半猎豹机器人(Cheetah)是 DeepMind Control Suite 中的经典连续控制任务。其目标是训练一个模拟的双足机器人,通过控制其关节力矩,实现高速、稳定地奔跑

任务描述#

HalfCheetah 是一个二维半身猎豹奔跑任务。,由 7 个主要 Body 部位组成(1 个躯干和前后腿各 3 节),拥有 6 个受控关节(前后大腿[连接躯干]、胫骨[连接大腿]和脚[连接胫骨]),智能体通过向这些关节施加扭矩作为动作,让猎豹尽可能快速且稳定地向前奔跑。


动作空间(Action Space)#

项目

详细信息

类型

Box(-1.0, 1.0, (6,), float32)

维度

6

关节对应如下:

序号

动作含义(施加在关节的力矩)

最小值

最大值

对应 XML 中名称

0

后腿大腿关节驱动扭矩

-1

1

bthigh

1

后腿小腿关节驱动扭矩

-1

1

bshin

2

后腿脚部关节驱动扭矩

-1

1

bfoot

3

前腿大腿关节驱动扭矩

-1

1

fthigh

4

前腿小腿关节驱动扭矩

-1

1

fshin

5

前腿脚部关节驱动扭矩

-1

1

ffoot


观察空间#

项目

详细信息

类型

Box(-inf, inf, (17,), float32)

维度

17

HalfCheetah 环境的观测空间由以下部分组成(按顺序):

部分

内容说明

维度

备注

qpos

各身体关节与根部的位置信息

8

默认不包括根部 x 坐标

qvel

各身体关节与根部的速度信息

9

速度为位置导数

序号

观察量

最小值

最大值

XML 名称

关节

类型 (单位)

0

前端 z 坐标

-Inf

Inf

rootz

slide

位置 (m)

1

前端角度

-Inf

Inf

rooty

hinge

角度 (rad)

2

后腿大腿角度

-Inf

Inf

bthigh

hinge

角度 (rad)

3

后腿小腿角度

-Inf

Inf

bshin

hinge

角度 (rad)

4

后脚角度

-Inf

Inf

bfoot

hinge

角度 (rad)

5

前腿大腿角度

-Inf

Inf

fthigh

hinge

角度 (rad)

6

前腿小腿角度

-Inf

Inf

fshin

hinge

角度 (rad)

7

前脚角度

-Inf

Inf

ffoot

hinge

角度 (rad)

8

前端 x 坐标速度

-Inf

Inf

rootx

slide

速度 (m/s)

9

前端 z 坐标速度

-Inf

Inf

rootz

slide

速度 (m/s)

10

前端角速度

-Inf

Inf

rooty

hinge

角速度 (rad/s)

11

后腿大腿角速度

-Inf

Inf

bthigh

hinge

角速度 (rad/s)

12

后腿小腿角速度

-Inf

Inf

bshin

hinge

角速度 (rad/s)

13

后脚角速度

-Inf

Inf

bfoot

hinge

角速度 (rad/s)

14

前腿大腿角速度

-Inf

Inf

fthigh

hinge

角速度 (rad/s)

15

前腿小腿角速度

-Inf

Inf

fshin

hinge

角速度 (rad/s)

16

前脚角速度

-Inf

Inf

ffoot

hinge

角速度 (rad/s)

excluded

前端 x 坐标

-Inf

Inf

rootx

slide

位置 (m)


奖励函数设计#

cheetah 的奖励函数由以下几个部分组成:

# 速度奖励:追踪目标速度
# 姿势奖励:保持稳定的姿势
# 总奖励 = 速度奖励 + 姿势奖励

初始状态#

  • 重置所有有限关节角度到其允许范围内的随机值,并保持无限幅度关节默认状态。

  • 通过多步物理模拟稳定躯干和腿部位置,生成初始观测向量返回。

Episode 终止条件#

  • 无跌倒终止条件(不会因失稳直接结束)


使用指南#

1. 环境预览#

uv run scripts/view.py --env dm-cheetah

2. 开始训练#

uv run scripts/train.py --env dm-cheetah

3. 查看训练进度#

uv run tensorboard --logdir runs/dm-cheetah

4. 测试训练结果#

uv run scripts/play.py --env dm-cheetah

预期训练结果#

  1. 以接近或超过 10.0 m/s 的稳定水平速度奔跑

  2. 保持躯体稳定性且步态协调,长距离奔跑不摔倒

  3. 奔跑姿态接近真实猎豹,奔跑过程具有伸展感