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-v0KUKA 机械臂视觉抓取
PandaReachBulletEnv-v0Panda 机械臂到达指定位置
移动机器人RacecarBulletEnv-v0小车导航与速度控制
MinitaurMinitaurBulletEnv-v0四足机器人运动学习

pybullet_envs历史版本区别

时期安装方式说明
2020年以前pip install pybullet
pip 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}")