Repolode
learnsyslab

learnsyslab/crazyflow

基于 JAX 的四旋翼无人机仿真器,可在 CPU 和 GPU 上批量、可微分地运行 Crazyflie 2.x 无人机仿真。

Star
200
Fork
49
未关闭 Issue
9
最近提交
22小时前

这是什么?

Crazyflow 是一个面向四旋翼无人机的研究型仿真器,基于 JAX 构建,可在 CPU 或 GPU 上并行运行大量独立环境和多机编队,适合机器人学习与控制的大规模训练和实验。

它为 Crazyflie 2.x 系列提供两类动力学模型:一类是基于第一性原理方程、参数来自实测辨识的模型;另一类是拟合真实飞行数据的三种简化抽象动力学。整个流程可微分,可通过 jax.grad 对动力学与控制链路求梯度。仿真的 step 和 reset 都是普通 JAX 函数,用户可以自由插入或替换其中的环节。

项目还通过 MJX 集成了 MuJoCo,支持屏幕与离屏渲染、光线投射和接触检测。

核心功能

  • 01一次性批量仿真大量独立环境和多机编队
  • 02支持 CPU 运行,并可在 CUDA 12 上使用 GPU 加速
  • 03动力学与控制流程可微分,支持 jax.grad
  • 04为 Crazyflie 2.x 提供第一性原理和抽象两类动力学模型
  • 05step 与 reset 流程由普通 JAX 函数组成,便于模块化修改
  • 06集成 MuJoCo,支持渲染、光线投射和接触检测

适用场景

  • 在数千个并行无人机环境中训练强化学习或控制策略
  • 在每个仿真世界中运行多机编队的大规模集群仿真
  • 基于梯度进行无人机控制器调参或系统辨识
  • 在上真机前验证 Crazyflie 控制算法

快速上手

  1. 1

    从 PyPI 安装 CPU 版本

    pip install crazyflow
  2. 2

    安装 GPU 版本(Linux x86-64,CUDA 12)

    pip install "crazyflow[gpu]"
  3. 3

    阅读文档以获取示例和用户指南

使用前须知

  • GPU 版本仅支持 Linux x86-64 并需要 CUDA 12。
  • 文档托管在外部站点 learnsyslab.github.io/crazyflow。

收录于专题

标签

常见问题

crazyflow 是什么?
基于 JAX 的四旋翼无人机仿真器,可在 CPU 和 GPU 上批量、可微分地运行 Crazyflie 2.x 无人机仿真。 Crazyflow 是一个面向四旋翼无人机的研究型仿真器,基于 JAX 构建,可在 CPU 或 GPU 上并行运行大量独立环境和多机编队,适合机器人学习与控制的大规模训练和实验。
crazyflow 可以免费使用吗?用的什么许可证?
crazyflow 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
crazyflow 还在维护吗?
活跃维护中。crazyflow 最近一次提交是在 2026年11月6日。
crazyflow 适合用来做什么?
在数千个并行无人机环境中训练强化学习或控制策略 在每个仿真世界中运行多机编队的大规模集群仿真 基于梯度进行无人机控制器调参或系统辨识 在上真机前验证 Crazyflie 控制算法
crazyflow 怎么安装和运行?
从 PyPI 安装 CPU 版本: pip install crazyflow 安装 GPU 版本(Linux x86-64,CUDA 12): pip install "crazyflow[gpu]" 阅读文档以获取示例和用户指南
在哪里获取 crazyflow?
源代码和安装说明在 GitHub 上:https://github.com/learnsyslab/crazyflow

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目