Repolode
AtsushiSakai

AtsushiSakai/PythonRobotics

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

Звёзды
30,754
Форки
7,422
Открытые issues
64
Последний коммит
вчера

Что это?

PythonRobotics — это коллекция примеров реализации популярных алгоритмов робототехники на Python, дополненная онлайн-учебником с объяснениями математической основы каждого алгоритма. Проект помогает разобраться в ключевых идеях: примеры намеренно сделаны простыми, чтобы читатель мог проследить основную логику алгоритма, а не изучать промышленную реализацию.

Код разбит по тематическим разделам. В разделе локализации представлены примеры Extended Kalman Filter, particle filter и histogram filter, а картографирование охватывает сеточные карты, преобразование данных лидара в сетку и кластеризацию k-means. Другие разделы включают сопоставление ICP и FastSLAM 1.0 для SLAM, множество планировщиков траекторий — A*, Dijkstra, варианты RRT, PRM и траектории в системе координат Френе, — а также контроллеры слежения за траекторией, такие как Stanley, LQR и model predictive control. В проект также входят навигация манипулятора, следование квадрокоптера по траектории, посадка ракеты и планировщик шагов двуногого робота.

Каждый пример представляет собой двумерную или упрощённую симуляцию с анимацией. Для работы проекта нужны Python 3.13, NumPy, SciPy, Matplotlib и cvxpy; установить его можно с помощью conda или pip.

Ключевые возможности

  • 01Охватывает локализацию, картографирование, SLAM, планирование траекторий, слежение за траекторией и управление.
  • 02Содержит примеры EKF, particle filter, A*, Dijkstra, RRT, Stanley и MPC.
  • 03Примеры написаны так, чтобы их было легко читать, и запускают анимированную симуляцию.
  • 04Дополнен онлайн-учебником с объяснением математики, лежащей в основе каждого алгоритма.
  • 05Для работы нужны лишь несколько распространённых библиотек Python, например NumPy, SciPy и Matplotlib.

Сценарии использования

  • Разобраться в работе алгоритма робототехники перед его реализацией в более крупной системе.
  • Создать прототип планировщика траекторий или контроллера слежения за траекторией в симуляции.
  • Преподавать робототехнику студентам бакалавриата или магистратуры на примерах, которые можно запустить.
  • Сравнить поведение нескольких методов локализации или SLAM в одном и том же сценарии.

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/AtsushiSakai/PythonRobotics.git
  2. 2

    Установите необходимые библиотеки с помощью pip

    pip install -r requirements/requirements.txt
  3. 3

    Запустите любой пример скрипта на Python в его каталоге

Что важно знать

  • Для запуска примеров кода требуется Python 3.13.x.
  • Содержит учебные примеры кода, а не упакованную библиотеку или готовый к эксплуатации стек робототехники.
  • В качестве лицензии указано NOASSERTION, поэтому перед повторным использованием проверьте файл лицензии в репозитории.

Темы

Частые вопросы

Что такое PythonRobotics?
Подборка кода на Python и учебник по алгоритмам робототехники: локализации, картографированию, SLAM, планированию траекторий и управлению. PythonRobotics — это коллекция примеров реализации популярных алгоритмов робототехники на Python, дополненная онлайн-учебником с объяснениями математической основы каждого алгоритма. Проект помогает разобраться в ключевых идеях: примеры намеренно сделаны простыми, чтобы читатель мог проследить основную логику алгоритма, а не изучать промышленную реализацию.
PythonRobotics можно использовать бесплатно? Какая у него лицензия?
PythonRobotics распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
PythonRobotics всё ещё поддерживается?
Активно поддерживается. Последний коммит в PythonRobotics — 19 окт. 2026 г..
Для чего можно использовать PythonRobotics?
Разобраться в работе алгоритма робототехники перед его реализацией в более крупной системе. Создать прототип планировщика траекторий или контроллера слежения за траекторией в симуляции. Преподавать робототехнику студентам бакалавриата или магистратуры на примерах, которые можно запустить. Сравнить поведение нескольких методов локализации или SLAM в одном и том же сценарии.
Как установить PythonRobotics?
Клонируйте репозиторий: git clone https://github.com/AtsushiSakai/PythonRobotics.git Установите необходимые библиотеки с помощью pip: pip install -r requirements/requirements.txt Запустите любой пример скрипта на Python в его каталоге
Где скачать PythonRobotics?
Исходный код и инструкции по установке — на GitHub: https://github.com/AtsushiSakai/PythonRobotics

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

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