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.11.tar.gz (57.1 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.11-py3-none-any.whl (72.5 kB view details)

Uploaded Python 3

File details

Details for the file geodrive-0.0.11.tar.gz.

File metadata

  • Download URL: geodrive-0.0.11.tar.gz
  • Upload date:
  • Size: 57.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for geodrive-0.0.11.tar.gz
Algorithm Hash digest
SHA256 39e55b9710027dcf895b832092d2a194a2b9e57f439248df331102e2fa139f67
MD5 a21b08f03cec242e5430f77d2c8e3853
BLAKE2b-256 b0b7db463baef64b3ee028020d9a45945a4ea36ff0ef3d8a5dd848808398c109

See more details on using hashes here.

File details

Details for the file geodrive-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: geodrive-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 72.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for geodrive-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 c22e93198e303bc9361791627afffbf84a2aadd11587944f5ba337848e1299e3
MD5 27566311a603383288b1ad59048ebca0
BLAKE2b-256 5c22a9c4b27a9ff9e63d1c5e7efa1ab088e3cfb46d0633d22207381329cb0a4b

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