Программирование на Python

Pioneer - sdk

Pioneer - sdk — это официальная Python-библиотека для управления квадрокоптерами серии Геоскан Пионер. Она позволяет писать программы, которые выполняются на компьютере ученика и управляют дроном по Wi-Fi.

С помощью pioneer_sdk можно запрограммировать как простой автономный полёт по заданным точкам, так и сложные сценарии с обработкой изображения, когда дрон распознаёт объекты и следует за ними.

Ознакомиться с методами библиотеки вы можете на этой странице — pioSdkMethods.

Поддержка Python в разных моделях квадрокоптеров

Примечание

Для программирования Пионера Базового на Python необходимо подключить дополнительный модуль ESP32. Изучите инструкцию по работе с модулем — Вычислительный модуль ESP32 с CV-камерой

Программирование Пионера Мини на Python доступно сразу. Достаточно загрузить параметры автопилота Для управления с помощью приложения.

Как начать программировать?

  1. Пройдите по шагам инструкции Подготовка к программированию на Python: настройте ваш дрон, установите PyCharm, Python и библиотеку pioneer-sdk, создайте свой первый проект и запустите код.

  2. Скачайте архив с примерами программ Примеры программ.

  3. Подключитесь к Wi‑Fi сети дрона с именем вида Pioneer**** или PioneerMini**** (пароль 12345678).

  4. Запустите тестовый скрипт для проверки подключения к дрону: test.py.

    Скрипт позволяет получить изображение с камеры и управлять дроном с помощью клавиатуры:

    • 1 — запустить моторы,

    • 2 — остановить моторы.

  5. После успешного запуска моторов можете переходить к программированию автономных полётов.

  6. Перейдите в папку 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()  # метод для остановки моторов

По вопросам и предложениям можете писать нам в телеграм-канал Геоскан Пионер

https://storage.yandexcloud.net/pioneer-doc.geoscan.ru-static/images/programming/python/qr-code.gif