Universal SDK for rover programming
Project description
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.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
Release history Release notifications | RSS feed
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.13.tar.gz
(17.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
geodrive-0.0.13-py3-none-any.whl
(26.3 kB
view details)
File details
Details for the file geodrive-0.0.13.tar.gz.
File metadata
- Download URL: geodrive-0.0.13.tar.gz
- Upload date:
- Size: 17.4 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b3f5908afff323b7ca1e9dcb23381825977c6c18e4800e823e72739eaf061ec
|
|
| MD5 |
0562a74eec4b215c168e3a48647eefdf
|
|
| BLAKE2b-256 |
d7978d6306b006532a69e29d8444f39e85a06fbc213cbf95c4875c83940457db
|
File details
Details for the file geodrive-0.0.13-py3-none-any.whl.
File metadata
- Download URL: geodrive-0.0.13-py3-none-any.whl
- Upload date:
- Size: 26.3 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55c77d08e9774bd878e212e6baf8b303ed3be062351d857a88bd301e70c7cdd3
|
|
| MD5 |
81d173d57aa1d42e8aa4da64623dec4c
|
|
| BLAKE2b-256 |
33b348db6c27191b5fc24f0aca9dab9b49b2a004f3fed76ae1b93b9c0f95b43d
|