Примеры программ
Официальные демонстрационные примеры собраны в репозитории pioneer-team/pioneer-sdk2-example (GitFlic). Примеры рассчитаны на учебное использование: от чтения телеметрии и работы с камерой до простых полётных миссий, ArUco-навигации и управления по жестам.
Структура репозитория
.
├── aruco_examples # поиск ArUco-меток, координаты метки, полет с удержанием метки
├── camera_examples # кадры, RTSP-трансляция через ImageViewer, сервокамера, калибровка
├── get_telemetry # аккумулятор, положение, скорость, навигация, датчики
├── human_tracking # сопровождение человека и распознавание жестов (Pioneer-RKNN)
├── mission_examples # взлет, полет в точки, движение по окружности, ручная скорость
├── rc_channels_examples # настройка автопилота, ручные каналы, конвертация из SDK1
├── subscribe_event.py # подписка на события автопилота
├── unsubscribe_event.py # отписка от событий
├── WASD_flight.py # управление дроном и сервокамерой с клавиатуры + видеопоток
└── README.mdГруппы примеров
| Группа | Содержание |
|---|---|
camera_examples | Получение кадров, RTSP-трансляция через ImageViewer, поворот сервокамеры и калибровка камеры. |
get_telemetry | Чтение состояния аккумулятора, положения, скорости, навигации и данных датчиков. |
mission_examples | Взлёт, полёт в локальные точки, движение по окружности и ручное задание скорости. |
aruco_examples | Поиск ArUco-меток, расчёт координат метки и полёт с удержанием метки. |
rc_channels_examples | Настройка автопилота, отправка каналов ручного управления, конвертация значений из формата SDK1. |
human_tracking | Сопровождение человека и распознавание жестов через Pioneer-RKNN. |
WASD_flight.py | Интерактивное управление дроном и сервокамерой с клавиатуры с видеопотоком. |
subscribe_event.py / unsubscribe_event.py | Подписка и отписка от событий автопилота. |
Требования
- Python 3.12.
- Установленная и настроенная библиотека
pioneer_sdk2. opencv-pythonиnumpy— для примеров камеры и ArUco.pioneer_rknn— для примераhuman_tracking.
Примеры с ImageViewer предполагают конфигурацию камеры с драйвером gstreamer. На конфигурациях с rtsp класс ImageViewer может быть недоступен.
Запуск
Перейдите в нужную директорию и запустите выбранный файл:
python3 camera_stream.pyДля полётных примеров проверьте зону полёта, заряд аккумулятора, систему навигации и возможность аварийной посадки. Большинство полётных скриптов завершают соединение с дроном в finally, но физическая безопасность зависит от корректной подготовки площадки. Примеры с камерой и ImageViewer запускаются на борту Мини 2.
Видеопоток ImageViewer
ImageViewer публикует обработанный кадр по имени потока:
viewer = ImageViewer()
viewer.imshow(name="video", frame=frame, fps=30)Поток video доступен по адресу:
rtsp://10.42.0.1:8889/video/Для других примеров имя потока указано в README соответствующей директории.
Типовые задачи (из официальной документации)
- Управление через клавиатуру с видео и управлением грузом (адаптация примера Pioneer-SDK).
- Смена цвета светодиодов в зависимости от высоты (определение высоты по дальномеру).
- Полёт по окружности с видео.
- Калибровка камеры для ArUco-маркеров, обнаружение маркера и его координат.
- Следование за ArUco-маркером.
- Вывод изображения с камеры без обработки (класс VideoStream из Pioneer-SDK 1).