Repolode
spencerfolk

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. 1

    Установите RotorPy из PyPI

    pip install rotorpy
  2. 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 обновляется ежедневно.

Похожие проекты

Подборка кода на Python и учебник по алгоритмам робототехники: локализации, картографированию, SLAM, планированию траекторий и управлению.

30,9 тыс.+41 за неделю7,4 тыс.PythonOtherАктивно поддерживаетсяОбновлён 4 дня назад

Физический движок на базе JAX для массово-параллельного дифференцируемого моделирования твёрдых тел на ускорителях в исследованиях робототехники и RL.

3,3 тыс.+5 за неделю359Jupyter NotebookApache-2.0Обновлён 18 дней назад