ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

gym-pybullet-drones|用 PyBullet 模拟四旋翼飞行,做强化学习无人机控制

2026/8/22 21:53:14 拓冰建站 浏览量
gym-pybullet-drones|用 PyBullet 模拟四旋翼飞行,做强化学习无人机控制 gym-pybullet-drones用 PyBullet 模拟四旋翼飞行做强化学习无人机控制【免费下载链接】gym-pybullet-dronesPyBullet Gymnasium environments for single and multi-agent reinforcement learning of quadcopter control项目地址: https://gitcode.com/gh_mirrors/gy/gym-pybullet-dronesgym-pybullet-drones 是基于 PyBullet 的 Gymnasium 环境把四旋翼的物理仿真和强化学习接口都替你搭好了你只需指定无人机数量和观测类型就能开始训练。图里可以看一架无人机沿螺旋线爬升的轨迹以及右侧 GUI 面板里的旋翼转速参数感受一下模拟环境跑起来后的实际效果。先做选型这个项目适合谁它面向四旋翼控制的单智能体/多智能体强化学习与经典控制基线实验在 Ubuntu 22.04 和 Apple Silicon macOS 上验证过。如果你的目标是训练或对比控制策略、调 PID 参数、或者跑 Betaflight 的 SITL 实验可以直接用如果你要部署到真机或需要 GPU 上大规模并行训练应找吞吐更高的替代方案。它不需要额外的服务整个项目就是一个 Python 包。怎么十分钟跑通第一次飞行装好依赖后直接跑 PID 示例git clone https://gitcode.com/gh_mirrors/gy/gym-pybullet-drones cd gym-pybullet-drones pip install -e .若 pybullet 编译报错Ubuntu 上先执行sudo apt install build-essential装 gcc。然后cd gym_pybullet_drones/examples/ python3 pid.pyPyBullet 窗口里会出现 3 架 cf2x 无人机在不同高度沿圆轨迹飞行轨迹稳定就说明环境可用。哪些 demo 值得直接抄按目标挑一个强化学习训练examples/learn.pypython3 learn.py用 SB3 的 PPO 训练单架无人机悬停在 z1.0换成--multiagent true就是 2 机协同悬停目标高度 1.2 和 0.7。训练结束自动画学习曲线并回放最优模型。下洗效应examples/downwash.pypython3 downwash.py让两架不同高度的无人机在 X-Z 平面飞行能直接看到上方无人机的下洗气流对下方轨迹的干扰。Betaflight SITL仅 Ubuntu按 README 编译好 betaflight 后执行python3 beta.py --num_drones 1把真实固件的控制回路放进仿真。几个内置环境分别适合干什么见下表自定义时按这个挑环境能干的事对应示例HoverAviary单机悬停learn.pyMultiHoverAviary多机协同悬停learn.py --multiagent trueVelocityAviary速度跟踪、高层规划看 envs 源码BetaAviaryBetaflight 固件 SITLbeta.py训练完还可以用python3 play.py --model_path results/目录/best_model.zip回放学到的策略。想改自己的参数改哪里观测与动作HoverAviary 构造参数支持obskin 或 rgb和actrpm、pid、vel、one_d_rpm 等换成 RGB 视觉观测只改一个参数具体写法看 examples/learn.py 的传参。物理模型与机型utils/enums.py 里定义了 6 种物理从基础 pyb 到带地面效应、阻力、下洗的 pyb_gnd_drag_dw和 3 种机型cf2x、cf2p、racer传给环境构造参数即可生效。刚上手建议先打开 examples/pid.py它是理解仿真与控制器怎么接起来的最短路径看完再切到 learn.py 训自己的策略物理模型和观测空间有疑问时仓库里这些文件就是最直接的参考。【免费下载链接】gym-pybullet-dronesPyBullet Gymnasium environments for single and multi-agent reinforcement learning of quadcopter control项目地址: https://gitcode.com/gh_mirrors/gy/gym-pybullet-drones创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考