Фреймворк на базе NVIDIA Isaac Sim для симуляции мультикоптеров с интеграцией автопилотов PX4 и ArduPilot и интерфейсом управления на Python.
spencerfolk/rotorpy
Симулятор мультикоптеров на Python с аэродинамикой на основе сосредоточенных параметров для обучения и исследований в области оценивания состояния, планирования и управления.
- Звёзды
- 326
- Форки
- 66
- Открытые issues
- 8
- Последний коммит
- 2 месяца назад
Что это?
RotorPy — среда для моделирования мультикоптеров на Python. Она описывает динамику аппаратов с несущими винтами с помощью аэродинамических сил и моментов на основе сосредоточенных параметров. Поэтому такие эффекты, как сопротивление воздуха и влияние потока на винты, становятся заметными при высоких скоростях, агрессивных манёврах и сильном ветре. Симулятор лёгкий, имеет мало зависимостей и понятен всем, кто знаком с основами Python.
В проект входят файлы параметров аппаратов, например квадрокоптера в стиле Crazyflie, контроллеры на основе SE(3) и другие контроллеры, генераторы траекторий, профили ветра, а также модели датчиков IMU и mocap и модели оценивателей. Пакетная среда позволяет запускать множество аппаратов параллельно на CPU или GPU, а совместимая с Gymnasium среда поддерживает обучение с подкреплением. В версии 3.0 появился датчик камеры-обскуры, который визуализирует признаки для алгоритмов машинного зрения.
RotorPy предназначен для разработки учебных курсов уровня магистратуры и аспирантуры, поисковых исследований и генерации больших объёмов данных для обучения и исследований методом Монте-Карло. Также доступна опциональная интеграция с PX4.
Ключевые возможности
- 01Аэродинамические силы и моменты на основе сосредоточенных параметров, учитывающие высокую скорость и ветер.
- 02Установка через pip; дополнительные зависимости подключаются по необходимости для пакетного моделирования, обучения, тестирования и работы с PX4.
- 03Пакетная среда для параллельного моделирования множества аппаратов на CPU или GPU.
- 04Среда Gymnasium с настраиваемыми абстракциями управления и пользовательскими функциями вознаграждения.
- 05Датчик камеры-обскуры, визуализирующий трёхмерные признаки для алгоритмов машинного зрения.
Сценарии использования
- Обучение динамике, управлению и оцениванию состояния БПЛА в магистратуре и аспирантуре.
- Тестирование контроллеров и оценивателей с учётом аэродинамических эффектов и сильного ветра.
- Обучение политик с подкреплением для удержания квадрокоптера в воздухе и управления его скоростью.
- Генерация больших наборов симулированных данных для исследований методом Монте-Карло.
Быстрый старт
- 1
Установите RotorPy из PyPI
pip install rotorpy - 2
Запустите пример базового использования из папки examples
Что важно знать
- Аэродинамические эффекты важны главным образом на высоких скоростях, поэтому для задач, связанных только с зависанием, они могут не понадобиться.
В подборках
Темы
Частые вопросы
- Что такое rotorpy?
- Симулятор мультикоптеров на Python с аэродинамикой на основе сосредоточенных параметров для обучения и исследований в области оценивания состояния, планирования и управления. RotorPy — среда для моделирования мультикоптеров на Python. Она описывает динамику аппаратов с несущими винтами с помощью аэродинамических сил и моментов на основе сосредоточенных параметров. Поэтому такие эффекты, как сопротивление воздуха и влияние потока на винты, становятся заметными при высоких скоростях, агрессивных манёврах и сильном ветре. Симулятор лёгкий, имеет мало зависимостей и понятен всем, кто знаком с основами Python.
- rotorpy можно использовать бесплатно? Какая у него лицензия?
- rotorpy распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- rotorpy всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в rotorpy — 7 сент. 2026 г..
- Для чего можно использовать rotorpy?
- Обучение динамике, управлению и оцениванию состояния БПЛА в магистратуре и аспирантуре. Тестирование контроллеров и оценивателей с учётом аэродинамических эффектов и сильного ветра. Обучение политик с подкреплением для удержания квадрокоптера в воздухе и управления его скоростью. Генерация больших наборов симулированных данных для исследований методом Монте-Карло.
- Как установить rotorpy?
- Установите RotorPy из PyPI: pip install rotorpy Запустите пример базового использования из папки examples
- Где скачать rotorpy?
- Исходный код и инструкции по установке — на GitHub: https://github.com/spencerfolk/rotorpy
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Среды Gymnasium на базе PyBullet для обучения контроллеров квадрокоптеров с подкреплением — как одиночных, так и мультиагентных.
Подборка кода на Python и учебник по алгоритмам робототехники: локализации, картографированию, SLAM, планированию траекторий и управлению.
Лёгкий симулятор роботов на Python для навигации, управления и обучения, настраиваемый через YAML-файлы.
Открытый фреймворк для симуляции роботов и обучения навыкам манипуляции, построенный на SAPIEN и поддерживающий параллельные вычисления на GPU.
Физический движок на базе JAX для массово-параллельного дифференцируемого моделирования твёрдых тел на ускорителях в исследованиях робототехники и RL.