Pion

Примечание

Мы используем uv

Вместо «python script.py» в инструкции будет использоваться «uv run script.py»

SDK для управления дронами geoscan pioneer base по протоколу MAVLink.

Поддерживает дроны с модификацией ультразвуковой системы навигации локус и с Raspberry Pi Zero 2W (модификация «Арена») или на radxa zero 3w.

Тесты проводились также на pioneer mini, но могут быть ошибки в некоторых методах.

Перед работой с модулем рекомендуется загрузить рекомендуемые параметры через Pioneer Station.

Параметры автопилота

Установка

pip install pionsdk
pip install git+https://github.com/OnisOris/pion

Установка для разработки

Данный способ требуется только для модификации модуля. Для использования устанавливайте через pip.

pip install -e .

Подключение

Для подключения к дрону создайте экземпляр класса Pion.

Частый IP для реального дрона: 10.1.100.[номер] Порт: 5656

В примере указан IP и порт для Геоскан симулятора:

from pion import Pion

ip = "127.0.0.1"
port = 8000
drone = Pion(ip=ip, mavlink_port=port)

Рой дронов

В pionsdk реализовано роевое управление через класс SwarmCommunicator.

SchemeImg

Схематичное отображение дронов и векторов управления

lokky-analyze plot

Автоустановка swarmserver на Radxa

curl -o pion_install.sh https://raw.githubusercontent.com/OnisOris/pion/refs/heads/dev/scripts/pion_swarm_radxa_install.sh
chmod +x pion_install.sh
sudo ./pion_install.sh

После установки достаточно запустить /scripts/vserver.py и pionsrv для управления роем.

Консоль управления роем

pionsrv

После установки необходимо прописать команду

start_control_server

Визуализация

Для запуска вам нужен uv:

pip install uv

Или matplotlib:

pip install matplotlib

После установки запустите

2D + 3D

uv run ./scripts/4xvserver.py

2D

uv run ./scripts/vserver.py

Подробное описание с примерами

  • Pion - класс управления реальными дронами

  • Spion - класс дрона-симулятора

  • Apion - класс с реализацией асинхронного управления

  • Simulator - классы симуляторов

  • Pio - абстрактные классы

Дополнительное ПО