Skip to main content

Universal SDK for rover programming

Project description

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.position[0]:.2f}, {telemetry.position[1]:.2f})")
    print(f"Ориентация: {telemetry.attitude[2]:.2f} рад")

🛠️ Что внутри?

Управление движением

  • Точное позиционирование в координатах X, Y, Yaw
  • Потоковое отслеживание прогресса движения
  • RC-Channels для возможности ручного управления

Телеметрия в реальном времени

  • Потоковая передача данных о позиции и ориентации
  • Мониторинг состояния батареи и датчиков

Надежная коммуникация

  • gRPC для высокопроизводительной связи
  • Автоматическое переподключение при обрывах
  • Валидация команд и данных

Гибкость использования

  • Синхронный для простых скриптов
  • Асинхронный для веб-приложений
  • Поддержка контекстных менеджеров

📋 Требования

  • Python 3.10+
  • geonode на стороне робота или кастомный gRPC сервер
  • Сетевое соединение с роботом

🔗 Зависимости

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

  • grpcio - высокопроизводительный gRPC клиент
  • protobuf - работа с бинарными протоколами
  • structlog - структурированное логирование

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

Начало работы

API документация

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

📄 Лицензия

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geodrive-0.0.5a1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geodrive-0.0.5a1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file geodrive-0.0.5a1.tar.gz.

File metadata

  • Download URL: geodrive-0.0.5a1.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.17

File hashes

Hashes for geodrive-0.0.5a1.tar.gz
Algorithm Hash digest
SHA256 9658d85b1034a7ee571119d23fa0bfa997d0e68462d2e54c3dd2ed2b7e0655b7
MD5 5c99f9d6f17074044a4084b1535ce949
BLAKE2b-256 65a85a17512bd83a336408411371a15ccc467035822c149d866c87575f87fb92

See more details on using hashes here.

File details

Details for the file geodrive-0.0.5a1-py3-none-any.whl.

File metadata

  • Download URL: geodrive-0.0.5a1-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.17

File hashes

Hashes for geodrive-0.0.5a1-py3-none-any.whl
Algorithm Hash digest
SHA256 14da1490fc8b41125830f3e1c95e86612f3c040ef98931d0e9cb7ce3732efb7e
MD5 78f5a4c0a9bbd3ab425775b7cc2dfc07
BLAKE2b-256 6933416b859f025c6cd6ff8bf2dc52a9c36a69017b53bee0f7c874d409626bd8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page