BSD 3-Clause "New" or "Revised" License

项目介绍

kousheekc/isaac_drone_racer 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 BSD 3-Clause "New" or "Revised" License 许可证,目前获得 199 个 Star、48 次 Fork。

仓库全名
kousheekc/isaac_drone_racer
开源许可证
BSD 3-Clause "New" or "Revised" License
Star 数
199
Fork 数
48

README 摘要

Isaac Drone Racer Isaac Drone Racer is an open-source simulation framework for autonomous drone racing, developed on top of IsaacLab. It is designed for training reinforcement learning policies in realistic racing environments, with a focus on accurate physics and modular design. Autonomous drone racing is an active area of research. This project builds on insights from that body of work, combining them with…

完整内容见 GitHub 原始 README 或本页 。

常见问题

isaac_drone_racer 用什么语言开发?

主要使用 Python 编写,采用 BSD 3-Clause "New" or "Revised" License 许可证,目前有 199 个 Star。

isaac_drone_racer 可以免费商用吗?

仓库采用 BSD 3-Clause "New" or "Revised" License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 isaac_drone_racer 的源码?

可以直接克隆仓库:git clone https://github.com/kousheekc/isaac_drone_racer.git,默认分支为 master;安装与运行步骤见仓库 README。

isaac_drone_racer 最近还在维护吗?

仓库最近一次更新为 2025年12月4日,当前没有未关闭的 Issue;Star 数为 199,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Isaac Drone Racer is a reinforcement learning framework for high speed autonomous drone racing, built on top of IsaacLab

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
301
价值分
134
活跃状态
活跃

语言占比

Python

贡献者

README

Isaac Drone Racer


Isaac Drone Racer

IsaacSim Python pre-commit License

Isaac Drone Racer is an open-source simulation framework for autonomous drone racing, developed on top of IsaacLab. It is designed for training reinforcement learning policies in realistic racing environments, with a focus on accurate physics and modular design.

Autonomous drone racing is an active area of research. This project builds on insights from that body of work, combining them with massively parallel simulation to train racing policies within minutes — offering a fast and flexible platform for experimentation and benchmarking.

You can watch the related video here: https://youtu.be/wLTYtpEUEEk

Features

Key highlights of the Isaac Drone Racer project:

  1. Accurate Physics Modeling — Simulates rotor dynamics, aerodynamic drag, and power consumption to closely match real-world quadrotor behavior.
  2. Low-Level Flight Controller — Built-in attitude and rate controllers.
  3. Manager-Based Design — Modular architecture using IsaacLab’s manager based architecture.
  4. Onboard Sensor Suite — Includes simulated fisheye camera, IMU and collision detection.
  5. Track Generator — Dynamically generate custom race tracks.
  6. Logger and Plotter — Integrated tools for monitoring and visualizing flight behavior.

Requirements

This framework has been tested on x64 based Linux systems, specifically Ubuntu 22.04. But it should also work on Windows 10/11.

Prerequisites

Setup

  1. Follow the Isaac Lab pip installation instructions, with the following modifications:
  • After cloning the Isaac Lab repository:
git clone [email protected]:isaac-sim/IsaacLab.git
  • Checkout the v2.1.0 release tag:
cd IsaacLab
git checkout v2.1.0
  1. Clone Isaac Drone Racer:
git clone https://github.com/kousheekc/isaac_drone_racer.git
  1. Install the modules in editable mode
cd isaac_drone_racer
pip3 install -e .

Usage

The drone racing task is registered as a standard Gym environment with the ID: Isaac-Drone-Racer-v0. Training and evaluation are powered by the skrl library.

Training a Policy

To train a policy, run the following command from the root of the isaac_drone_racer repository. This will launch the simulation in headless mode with 4096 agents running parallelly.

python3 scripts/rl/train.py --task Isaac-Drone-Racer-v0 --headless --num_envs 4096

[!NOTE] You can pass additional CLI arguments supported by the AppLauncher. Additionally since IsaacLab supports the Hydra Configuration System, task specific parameters can be adjusted from CLI. For example, to disable the motor model during training:

python3 scripts/rl/train.py --task Isaac-Drone-Racer-v0 --headless --num_envs 4096 env.actions.control_action.use_motor_model=False

Playing Back a Trained Policy

To run a trained policy in the simulator:

python3 scripts/rl/play.py --task Isaac-Drone-Racer-Play-v0 --num_envs 1

This will launch a single agent with the latest checkpoint and play the trained policy in the racing environment. All the same CLI and Hydra configuration options used during training are supported here as well.

Next Steps

  • Data-driven aerodynamic model pipeline - integrate tools for data driven system identification, calibration and include the learned aerodynamic forces into the simulation environment.
  • Power consumption model - incorporate a detailed power model that accounts for battery discharge based on current draw.
  • Policy learning using onboard sensors - explore and implement methods to transition away from full-state observations by instead using only onboard sensor data (e.g camera + IMU).

Troubleshooting

  • When running a workflow script, ensure that the IsaacLab conda environment is active:
conda activate env_isaaclab
  • When launching Isaac Sim for the first time, it may take a significant amount of time to load (potentially 10 minutes). This is normal, please be patient.

Acknowledgement

  • Kaufmann, E., Bauersfeld, L., Loquercio, A., Müller, M., Koltun, V., & Scaramuzza, D. (2023). Champion-level drone racing using deep reinforcement learning. https://doi.org/10.1038/s41586-023-06419-4

  • Rudin, N., Hoeller, D., Reist, P., & Hutter, M. (2022). Learning to Walk in Minutes Using Massively Parallel Deep Reinforcement Learning. arXiv:2109.11978

  • Ferede, R., De Wagter, C., Izzo, D., & de Croon, G. C. H. E. (2024). End-to-end Reinforcement Learning for Time-Optimal Quadcopter Flight. https://doi.org/10.1109/ICRA57147.2024.10611665

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Contact

Kousheek Chakraborty - [email protected]

Project Link: https://github.com/kousheekc/isaac_drone_racer

If you encounter any difficulties, feel free to reach out through the Issues section. If you find any bugs or have improvements to suggest, don’t hesitate to make a pull request.

评论

暂无评论