geodrive

Python SDK для управления роботами-роверами через gRPC

Tests Package version Supported Python versions License

geodrive - это современный Python SDK для управления роботами-роверами через gRPC протокол.

Ключевые особенности:

  • 🚀 Производительность: Асинхронный и синхронный клиенты для любых задач

  • 🎯 Простота использования: Интуитивный интерфейс с автодополнением

  • 🔧 Готов к продакшену: Надежная обработка ошибок и переподключение

  • 📡 Реальное время: Потоковая телеметрия и управление

  • 🤖 Универсальность: Поддержка различных моделей роботов-роверов

Установка

uv add geodrive
# или
pip install geodrive

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

from geodrive import Rover

with Rover(host="10.1.100.160", port=5656) as rover:
    rover.goto(5.0, 3.0, 1.57)
    telemetry = rover.get_telemetry()
    print(f"Позиция: ({telemetry.x:.2f}, {telemetry.y:.2f})")

Что внутри?

Управление движением
  • Точное позиционирование в координатах X, Y, Yaw

  • Потоковое отслеживание прогресса движения

  • RC-стиль управления для плавного движения

Телеметрия в реальном времени
  • Потоковая передада данных о позиции и ориентации

  • Мониторинг состояния батареи и датчиков

Надежная коммуникация
  • gRPC для высокопроизводительной связи

  • Автоматическое переподключение при обрывах

  • Валидация команд и данных

Гибкость использования
  • Синхронный для простых скриптов

  • Асинхронный для веб-приложений

  • Поддержка контекстных менеджеров

Требования

  • Python 3.10+

  • gRPC сервер на стороне робота

  • Сетевое соединение с роботом

Зависимости

geodrive построен на современных технологиях:

  • grpcio - высокопроизводительный gRPC клиент

  • protobuf - работа с бинарными протоколами

  • pydantic - валидация и сериализация данных

  • structlog - структурированное логирование

Документация

Для разработчиков:

Лицензия

Проект распространяется под лицензией MIT.