Программирование на Python¶
Pioneer - sdk¶
Pioneer - sdk — это официальная Python-библиотека для управления квадрокоптерами серии Геоскан Пионер. Она позволяет писать программы, которые выполняются на компьютере ученика и управляют дроном по Wi-Fi.
С помощью pioneer_sdk можно запрограммировать как простой автономный полёт по заданным точкам, так и сложные сценарии с обработкой изображения, когда дрон распознаёт объекты и следует за ними.
Ознакомиться с методами библиотеки вы можете на этой странице — pioSdkMethods.
Поддержка Python в разных моделях квадрокоптеров¶
Примечание
Для программирования Пионера Базового на Python необходимо подключить дополнительный модуль ESP32. Изучите инструкцию по работе с модулем — Вычислительный модуль ESP32 с CV-камерой
Программирование Пионера Мини на Python доступно сразу. Достаточно загрузить параметры автопилота Для управления с помощью приложения.
Как начать программировать?¶
Пройдите по шагам инструкции Подготовка к программированию на Python: настройте ваш дрон, установите PyCharm, Python и библиотеку pioneer-sdk, создайте свой первый проект и запустите код.
Скачайте архив с примерами программ Примеры программ.
Подключитесь к Wi‑Fi сети дрона с именем вида Pioneer**** или PioneerMini**** (пароль 12345678).
Запустите тестовый скрипт для проверки подключения к дрону: test.py.
Скрипт позволяет получить изображение с камеры и управлять дроном с помощью клавиатуры:
1 — запустить моторы,
2 — остановить моторы.
После успешного запуска моторов можете переходить к программированию автономных полётов.
Перейдите в папку mission_examples и запустите простой пример go_to_local_point.
Примечание
При выполнении автономных полётов обязательно используйте обработку экстренного завершения программы.
Это важно для безопасности: при прерывании кода дрон выполнит посадку, а не зависнет в воздухе.
Реализовать можно с помощью конструкции try/except:
import time
from pioneer_sdk import Pioneer
mini = Pioneer()
try:
# Взлёт на 1 метр
mini.arm()
mini.takeoff()
mini.go_to_local_point(x=0, y=0, z=1, yaw=0)
while not mini.point_reached():
time.sleep(0.1)
except KeyboardInterrupt:
print("Остановка программы, производится посадка")
mini.land()
Примечание
На Пионере Базовом для безопасности автономные полёты выполняйте только при подключённом пульте управления.
Перед запуском убедитесь, что тумблер SWB находится в нижнем положении — режим миссии.
- В экстренной ситуации вы всегда можете вернуть управление дроном:
переведите тумблер в среднее положение — ручной полёт с использованием навигации;
переведите тумблер в верхнее положение — ручное управление в режиме stabilize.
Изучайте описание методов pioneer_sdk
Изучайте описание работы скриптов на странице, а также на ресурсе GitFlic
Примеры программ¶
Примеры программ с описанием представлены на странице: Примеры программ.
На странице собраны скрипты для различных сценариев:
выполнение автономных полётов;
работа с камерой и обработкой изображений;
работа с Aruco метками;
получение и обработка телеметрии;
выполнение групповых полётов.
Глоссарий¶
- Библиотека¶
Набор готовых функций и инструментов для программирования. Библиотеку можно «подключить» к своему коду и использовать её возможности, вместо того чтобы писать всё с нуля. Например, библиотека
pioneer_sdkпозволяет управлять дроном из Python.- Метод библиотеки¶
Это отдельная «команда» внутри библиотеки, которая выполняет конкретное действие. Методы вызываются через точку после имени библиотеки или объекта. Например:
from pioneer_sdk import Pioneer drone = Pioneer() drone.arm() # метод для запуска моторов drone.disarm() # метод для остановки моторов
По вопросам и предложениям можете писать нам в телеграм-канал Геоскан Пионер