README.md

pioneer-sdk2-examples

Описание

Репозиторий содержит демонстрационные примеры для программирования квадрокоптеров Pioneer через pioneer_sdk2. Примеры рассчитаны на учебное использование: от чтения телеметрии и работы с камерой до простых полетных миссий, ArUco-навигации и управления по жестам.

Структура репозитория

.
├── aruco_examples
├── camera_examples
├── get_telemetry
├── human_tracking
├── mission_examples
├── rc_channels_examples
├── 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 запускаются на борту Mini 2.

Видеопоток ImageViewer

ImageViewer публикует обработанный кадр по имени потока:

viewer = ImageViewer()
viewer.imshow(name="video", frame=frame, fps=30)

Поток video доступен по адресу:

rtsp://10.42.0.1:8889/video/

Для других примеров имя потока указано в README соответствующей директории.

Описание
Конвейеры
0 успешных
0 с ошибкой
Разработчики