Python SDK для управления роботами-роверами через gRPC
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 - структурированное логирование
Документация¶
Начало работы:
API документация:
Для разработчиков:
Лицензия¶
Проект распространяется под лицензией MIT.
