pybullet_envs 是一个独立的 Python 包,提供了基于 PyBullet 物理引擎的标准强化学习(RL)环境集合。 它是 OpenAI Gymnasium(原 Gym)环境的官方实现,让研究者可以直接使用 PyBullet 进行强化学习算法训练和基准测试。
注意:从 PyBullet 3.25 版本(2022年左右)开始,pybullet_envs 已经作为核心依赖被默认安装,不需要单独安装。
pybullet_envs包含的环境类别
| 类别 | 主要环境 | 任务描述 |
|---|---|---|
| 运动控制 | AntBulletEnv-v0 | 蚂蚁机器人学习行走 |
HalfCheetahBulletEnv-v0 | 猎豹机器人学习奔跑 | |
HopperBulletEnv-v0 | 单腿机器人学习跳跃前进 | |
Walker2DBulletEnv-v0 | 双足机器人学习步行 | |
HumanoidBulletEnv-v0 | 人形机器人学习行走 | |
| 机械臂操作 | KukaCamBulletEnv-v0 | KUKA 机械臂视觉抓取 |
PandaReachBulletEnv-v0 | Panda 机械臂到达指定位置 | |
| 移动机器人 | RacecarBulletEnv-v0 | 小车导航与速度控制 |
| Minitaur | MinitaurBulletEnv-v0 | 四足机器人运动学习 |
pybullet_envs历史版本区别
| 时期 | 安装方式 | 说明 |
|---|---|---|
| 2020年以前 | pip install pybulletpip install pybullet_envs | 需要分别安装 |
| 2021-2022年 | pip install 'pybullet[envs]' | 可选安装 |
| 2023年至今 | pip install pybullet | 自动包含 envs |
验证pybullet_envs安装的可靠方法
# 方法1:检查是否可以直接使用
import gymnasium as gym
try:
env = gym.make('HalfCheetahBulletEnv-v0')
print("pybullet_envs 已正确安装")
env.close()
except gym.error.UnregisteredEnv:
print("环境未找到,可能需要手动安装")
# 方法2:列出所有已注册的PyBullet环境
import gymnasium as gym
all_envs = [env_spec.id for env_spec in gym.envs.registry.values()]
bullet_envs = [e for e in all_envs if 'Bullet' in e or 'bullet' in e]
print(f"找到 {len(bullet_envs)} 个PyBullet环境:")
for env in bullet_envs[:5]: # 显示前5个
print(f" - {env}")