Описание методов pioneer_sdk¶
Примечание
Текущее API актуально для библиотеки pioneer_sdk начиная с версии 0.4.0
Совет
Значения аргументов, представленных в описании метода являются стандартными, то есть если написано: led_control(led_id=255, r=0, g=0, b=0) то в программе его можно вызывать как led_control() - эквивалент надписи выше. Или например led_control(r=255) — тогда частично будут задействованы стандартные значения.
Pioneer¶
Создание объекта класса:¶
- class Pioneer(name='pioneer', ip='192.168.4.1', mavlink_port=8001, connection_method='udpout', device='/dev/serial0', baud=115200, logger=True, log_connection=True)¶
- Параметры:
name – путь до Lua-файла;
ip – ip-адрес дрона;
mavlink_port – порт для обмена MAVLink сообщениями;
connection_method – принимает аргументы «udpin»; «udpout»; «serial»;
device – указание порта;
baud – скорость передачи;
logger – логи MAVLink сообщений. True - выводить в консоль; False - не выводить;
log_connection – логи соединения. True - выводить в консоль; False - не выводить;
- Тип результата:
obj
- Результат:
Новый экземпляр класса Pioneer.
Описание методов класса Pioneer:¶
- classmethod connected()¶
Возвращает текущее состояние подключения.
- Тип результата:
bool
- Результат:
Возвращает False, если соединение потеряно (в течении секунды нет сообщений от дрона), возвращает True, если соединение стабильное.
- classmethod close_connection()¶
Закрывает MAVLink соединение с дроном.
- Примечание:
Метод поддерживается с версии pioneer_sdk 0.4.3;
- classmethod reboot_board()¶
Выполняет перезагрузку дрона.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False, если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod set_logger(value=True)¶
Устанавливает флаг logger в True или False.
- Параметры:
value – принимает значения True или False;
- classmethod set_log_connection(value=True)¶
Устанавливает флаг log_connection в True или False.
- Параметры:
value – принимает значения True или False;
- classmethod arm()¶
Выполняет запуск моторов квадрокоптера.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False, если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod disarm()¶
Выполняет выключение моторов квадрокоптера.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False, если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod takeoff()¶
Выполняет отправку команды взлёт на высоту takeoffAlt.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False, если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Примечание:
Явных аргументов нет. Высота взлета задаётся параметром автопилота Flight_com_takeoffAlt=x, где x-высота взлета в метрах.
- Подробнее:
в пункте Pioneer.mav_result.
- classmethod land()¶
Выполняет отправку команды на посадку.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False, если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod lua_script_upload(lua_source)¶
Выполняет загрузку LUA-скрипта в автопилот.
- Параметры:
lua_source – путь до Lua-файла.
- classmethod lua_script_control(state='Stop')¶
Выполняет запуск/остановку Lua-скрипта.
- Параметры:
state – «Start» - запуск скрипта, «Stop» - остановка скрипта.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False, если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod led_control(led_id=255, r=0, g=0, b=0)¶
Выполняет включение/выключение светодиодов.
- Параметры:
led_id – номер светодиода для управления. (255 - все светодиоды; 0-3 — светодиоды от 1 до 4).
r,g,b –
каналы по управлению красным зелёным и синим свечением светодиода 0-255 - интенсивность соответствующего канала.
- rtype:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False, если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod go_to_local_point(x=None, y=None, z=None, yaw=None)¶
Выполняет отправку команды на полёт в точку. Координаты указываются в локальной системе координат;
- Параметры:
x,y,z – координаты точки, в метрах.
yaw – угол рысканья, задается в радианах.
- Тип результата:
bool
- Результат:
Возвращает True, если команда отправлена успешно, False - если не удалось отправить или пришёл отказ.
- classmethod go_to_local_point_body_fixed(x, y, z, yaw)¶
Выполняет отправку команды на полёт в точку. Координаты указываются в системе координат дрона;
- Параметры:
x,y,z – координаты точки, в метрах.
yaw – угол рысканья, задается в радианах.
- Тип результата:
bool
- Результат:
Возвращает True, если команда отправлена успешно, False - если не удалось отправить или пришёл отказ.
- classmethod set_manual_speed(vx, vy, vz, yaw_rate)¶
Выполняет отправку команды на полёт с заданной скоростью. Координаты указываются в локальной системе координат;
- Параметры:
vx,vy,vz – скорость в м/с.
yaw_rate – скорость рад/с.
- Тип результата:
bool
- Результат:
Возвращает True, если команда отправлена успешно, False - если не удалось отправить или пришёл отказ;
- Примечание:
Команду set_manual_speed надо отправлять не один раз, а постоянно, пока необходимо лететь с заданной скоростью!
- classmethod set_manual_speed_body_fixed(vx, vy, vz, yaw_rate)¶
Выполняет отправку команды на полёт с заданной скоростью. Координаты указываются в системе координат дрона;
- Параметры:
vx,vy,vz – скорость в м/с.
yaw_rate – скорость рад/с.
- Тип результата:
bool
- Результат:
Возвращает True, если команда отправлена успешно, False - если не удалось отправить или пришёл отказ;
- Примечание:
Команду set_manual_speed надо отправлять не один раз, а постоянно, пока необходимо лететь с заданной скоростью!
- classmethod point_reached()¶
Возвращает текущее состояние флага (True/False).
- Тип результата:
bool
- Примечание:
Флаг устанавливается в True регулярно при достижении новой точки, и сбрасывается в False после каждого вызова функции point_reached() и после отправки go_to_local_point() или go_to_local_point_body_fixed().
- classmethod get_local_position_lps(get_last_received=True / False)¶
- Параметры:
get_last_received – True - возвращает значения [x, y, z] из последнего прочитанного сообщения(даже если оно уже было прочитано);
False - возвращает значения [x, y, z] из последнего сообщения или None, если с дрона не было ни одного сообщения с координатами или последнее сообщение уже было прочитано.- Тип результата:
list | none
- Результат:
Массив [x, y, z] с текущими координатами в локальной системе отсчёта. Возвращает None, если нет новых актуальных данных.
- classmethod get_dist_sensor_data(get_last_received=True)¶
- Параметры:
get_last_received – Возвращает данные с дальномера из последнего пришедшего сообщения;
Возвращает None, если с дрона не было ни одного сообщения с показаниями дальномера.- Тип результата:
float | none
- Результат:
Возвращает последние данные с дальномера (в метрах). Возвращает None, если нет новых актуальных данных.
- classmethod get_optical_data(get_last_received=True)¶
- Параметры:
get_last_received – Возвращает словарь с данными из последнего пришедшего сообщения;
Возвращает None, если с дрона не было ни одного сообщения с данными оптического потока.- Тип результата:
dict | none
- Результат:
Возвращает словарь (dict), содержащий последнее данные с оптического потока. Возвращает None, если нет новых актуальных данных.
- classmethod get_battery_status(get_last_received=True)¶
- Параметры:
get_last_received – если аргумент get_last_received=True, то возвращает вольтаж батареи из последнего пришедшего сообщения;
Возвращает None, если с дрона не было ни одного сообщения о состоянии батареи.- Тип результата:
float | none
- Результат:
Возвращает текущий вольтаж батареи. Возвращает None, если нет новых актуальных данных.
- classmethod get_preflight_state()¶
Возвращает словарь (dict) со значениями ошибок, возникших при preflight.
- Тип результата:
dict
- classmethod get_autopilot_state()¶
Возвращает текущее состояние автопилота:(„ROOT“, „DISARMED“, „IDLE“, „TEST_ACTUATION“, „TEST_PARACHUTE“, „TEST_ENGINE“, „PARACHUTE“, „WAIT_FOR_LANDING“, „LANDED“, „CATAPULT“, „PREFLIGHT“, „ARMED“, „TAKEOFF“, „WAIT_FOR_GPS“, „WIND_MEASURE“, „MISSION“, „ASCEND“, „DESCEND“, „RTL“, „UNCONDITIONAL_RTL“, „MANUAL_HEADING“, „MANUAL_ROLL“, „MANUAL_SPEED“, „LANDING“, „ON_DEMAND“)
- Тип результата:
str
- classmethod get_autopilot_version()¶
- Результат:
Возвращает текущую версию автопилота.
- classmethod send_rc_channels(channel_1=0xFF, channel_2=0xFF, channel_3=0xFF, channel_4=0xFF, channel_5=0xFF, channel_6=0xFF, channel_7=0xFF, channel_8=0xFF)¶
Выполняет имитацию приёма значений по каналам с пульта радиоуправления.
- Параметры:
channel_1-8 – RC-каналы.
- classmethod raspberry_poweroff()¶
Выполняет выключение Raspbery Pi. Функция для базового пионера с модулем Raspbery Pi.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False - если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod raspberry_reboot()¶
Выполняет перезагрузку Raspbery Pi. Функция для базового пионера с модулем Raspbery Pi.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False - если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod raspberry_start_capture(interval=0.1, total_images=0, sequence_number=0)¶
Выполняет запуск записи видео на Raspbery Pi. Функция для базового пионера с модулем Raspbery Pi.
- Параметры:
interval – интервал в секундах между фотографиями;
total_images – общее кол-во фотографий 0 - делаются до вызова raspberry_stop_capture().
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False - если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod raspberry_stop_capture()¶
Выполняет остановку записи видео на Raspbery Pi. Функция для базового пионера с модулем Raspbery Pi.
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False - если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
- classmethod raspberry_led_custom(mode=1, timer=0, color1=(0, 0, 0), color2=(0, 0, 0))¶
Выполняет включение светодиодов. Функция для базового пионера с модулем Raspbery Pi.
- Параметры:
mode – 1 - светить постоянно цветом color1;
2 - переключать цвета между color1 и color2 в течении времени timer;
3 - выключить полностью;timer – время выполнения mode 2;
color1 – цвет в RGB;
color2 – цвет в RGB;
- Тип результата:
bool
- Результат:
Возвращает True, если результат „ACCEPTED“ или „DENIED“;
Возвращает False - если результат „SEND_TIMEOUT“, „TEMPORARILY_REJECTED“, „UNSUPPORTED“, „FAILED“, „CANCELLED“;- Подробнее:
в пункте Pioneer.mav_result.
Pioneer.mav_result¶
- Pioneer.mav_result
- -1: „SEND_TIMEOUT“,
- 0: „ACCEPTED“,
- 1: „TEMPORARILY_REJECTED“,
- 2: „DENIED“,
- 3: „UNSUPPORTED“,
- 4: „FAILED“,
- 5: „IN_PROGRESS“,
- 6: „CANCELLED“
Camera¶
Создание объекта класса:¶
- class Camera(timeout=0.5, ip='192.168.4.1', port=8888, video_buffer_size=65000, log_connection=True)¶
Создание объекта класса Camera.
- Параметры:
timeout – тайм-аут получения сообщения через сокет.
ip – ip-адрес дрона.
port – порт дрона для отправки изображения с камеры.
video_buffer_size – размер буфера для считывания изображений.
log_connection – логи соединения. True - выводить в консоль; False - не выводить.
- Тип результата:
obj
- Результат:
Новый экземпляр класса Camera.
Описание методов класса Camera¶
- classmethod connect()¶
Выполняет подключение к дрону для получения изображения.
- classmethod disconnect()¶
Выполняет отключение от дрона.
- classmethod get_frame()¶
Выполняет запрос на получение изображения.
- Результат:
Возвращает массив байтов в успешном случае. В противном случае возвращает None;
Если в процессе получения картинки выяснилось, что соединение потеряно, то происходит переподключение.
- classmethod get_cv_frame()¶
- Результат:
Предварительно декодированный фрейм.
- Примечание:
Метод поддерживается с версии 0.4.2;
VideoStream¶
Создание объекта класса:¶
- class VideoStream(logger=True)¶
- Параметры:
logger – True или False. Вывод статуса соединения в консоль.
- Тип результата:
obj
- Результат:
Новый экземпляр класса Camera.
Описание методов класса VideoStream¶
- classmethod start()¶
Выполняет запуск потока видео. (Стрим запускается в отдельном потоке)
- classmethod stop()¶
Выполняет остановку потока видео.