双足步行者

../../../_images/bipedal_walker.gif

此环境是 Box2D 环境的一部分,其中包含有关该环境的一般信息。

动作空间

Box(-1.0, 1.0, (4,), float32)

观测空间

Box([-3.1415927 -5. -5. -5. -3.1415927 -5. -3.1415927 -5. -0. -3.1415927 -5. -3.1415927 -5. -0. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. ], [3.1415927 5. 5. 5. 3.1415927 5. 3.1415927 5. 5. 3.1415927 5. 3.1415927 5. 5. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. ], (24,), float32)

导入

gymnasium.make("BipedalWalker-v3")

描述

这是一个简单的4关节步行机器人环境。有两种版本:

  • 普通版:地形略有不平。

  • 硬核版:包含梯子、树桩、陷阱。

要解决普通版,你需要在1600个时间步内获得300分。要解决硬核版,你需要在2000个时间步内获得300分。

提供了启发式方法用于测试。获取演示以供学习也很有用。要运行启发式方法:

python gymnasium/envs/box2d/bipedal_walker.py

动作空间

动作是四个关节(髋部和膝部)的电机速度值,范围为 [-1, 1]。

观测空间

状态包括船体角度速度、角速度、水平速度、垂直速度、关节位置和关节角速度、腿部与地面接触情况,以及10个激光雷达测距仪测量值。状态向量中不包含坐标。

奖励

向前移动会获得奖励,最高可达远端的300+分。如果机器人跌倒,会获得-100分。施加电机扭矩会消耗少量分数。更优的智能体会获得更高的分数。

起始状态

步行者从地形的左端开始站立,船体水平,双腿处于相同位置,膝部略微弯曲。

回合终止

如果船体接触地面,或者步行者超出地形长度的右端,则回合将终止。

参数

要使用 *硬核* 环境,你需要指定 hardcore=True

>>> import gymnasium as gym
>>> env = gym.make("BipedalWalker-v3", hardcore=True, render_mode="rgb_array")
>>> env
<TimeLimit<OrderEnforcing<PassiveEnvChecker<BipedalWalker<BipedalWalker-v3>>>>>

版本历史

  • v3: 返回最近的激光雷达轨迹而不是最远的;更快的视频录制

  • v2: 计算能量消耗

  • v1: 腿部现在报告与地面接触;电机具有更高的扭矩和速度;地面摩擦力更高;激光雷达渲染更平稳。

  • v0: 初始版本

鸣谢

由 Oleg Klimov 创建