gym-pybullet-drones 四旋翼强化学习环境
gym-pybullet-drones
机器人, 飞控/无人机
🧩 软硬件结合
已发布
项目简介
PyBullet Gymnasium environments for single and multi-agent reinforcement learning of quadcopter control
gym-pybullet-drones 是一个面向多旋翼无人机强化学习与控制的轻量级开源仿真环境,基于 PyBullet 物理引擎构建。该项目对原始代码库进行了精简重构,全面兼容 Gymnasium 接口、Stable-Baselines3 2.0 版本,并支持 Betaflight 和 Crazyflie 固件的软件在环仿真,为无人机算法研究与验证提供了统一、高效的实验平台。
标签
项目特点
**兼容Gymnasium**:基于最新的 Gymnasium 接口,易于集成现代强化学习库。
**单/多智能体支持**:提供单无人机和多无人机(如2架)的强化学习环境。
**多种控制模式**:支持 PID 控制、强化学习(如 PPO)以及 Betaflight/Crazyflie 固件的 SITL。
**丰富的示例**:包含 PID 控制、下洗效应模拟、强化学习训练与可视化等示例脚本。
**易于安装和使用**:通过 pip 安装,提供清晰的命令行示例。
技术规格
| 物理引擎 | |
|---|---|
| 强化学习接口 | |
| 支持算法 | |
| 无人机模型 | |
| 控制方式 | |
| 多智能体 | |
| 操作系统 | |
| Python版本 |
项目资源
learnsyslab/gym-pybullet-drones
abs/2103.02142
10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/edit?tab=t.0#heading=h.2ye70wns7io3
DLR-RM/stable-baselines3
betaflight/betaflight
bitcraze/crazyflie-firmware
learnsyslab/pycffirmware
learnsyslab/safe-control-gym
learnsyslab/crazyflow
JacopoPan/aerial-autonomy-stack
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Python 3.10 | 1 | — | 运行环境 |
| PyBullet | 1 | — | 物理引擎 |
| Gymnasium | 1 | — | 强化学习接口 |
| stable-baselines3 | 1 | — | 强化学习算法库 |
| Betaflight (可选) | 1 | — | SITL 仿真 |
| pycffirmware (可选) | 1 | — | Crazyflie 固件 Python 绑定 |
所需工具
嵌入式开发环境
必需
能力画像
⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 4/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
🔵 创造与创新: 4/5
项目图库
所需技能
🔧 **动手能力**:能够搭建 Python 开发环境,使用 conda 管理虚拟环境,运行命令行脚本。
💻 **编程能力**:熟悉 Python 编程,了解强化学习基本概念(如环境、智能体、策略),能够阅读和修改示例代码。
⚡ **电子电路**:无需硬件知识,但了解无人机控制原理(如 PID 控制)有助于理解项目。
适用场景
**学术研究**:用于四旋翼无人机控制算法的研究,特别是强化学习在多智能体系统中的应用。
**教学实验**:作为机器人学、强化学习课程的实验平台,帮助学生理解无人机控制和强化学习。
**算法开发与测试**:在仿真环境中快速开发和测试新的控制算法,然后迁移到真实无人机上。
**SITL 集成测试**:与 Betaflight 或 Crazyflie 固件结合,进行软件在环仿真测试。