双足步行者

../../../_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)

import

gymnasium.make("BipedalWalker-v3")

描述

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

  • 普通版,具有轻微不平坦的地形。

  • 硬核版,具有梯子、树桩、陷阱。

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

提供了一个用于测试的启发式方法。 它也可用于获取演示以供学习。 要运行启发式方法

python gymnasium/envs/box2d/bipedal_walker.py

动作空间

动作是电机速度值,范围为 [-1, 1],适用于髋部和膝部的 4 个关节中的每一个关节。

观测空间

状态包括船体角度速度、角速度、水平速度、垂直速度、关节位置和关节角速度、腿部与地面的接触以及 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 创建