Разработка алгоритма перехвата управления квадрокоптером
Протокол передачи телеметрии для квадрокоптеров. Изучение процесса обмена информацией и командами по беспроводной связи с наземной станцией. Исследование и разработка алгоритма перехвата управления летательного аппарата на примере квадрокоптера Syma X8C.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | статья |
Язык | русский |
Дата добавления | 19.02.2019 |
Размер файла | 5,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http: //www. allbest. ru/
Разработка алгоритма перехвата управления квадрокоптером
Белов Никита Вадимович студент группы
М151701 МТУСИ djnikone 2777@ yandex.ru
Буянов Борис Яковлевич к.т.н., с.н.с., доцент
b.buyanov@gmail.com
Аннотация
Ключевые слова: Квадрокоптер, Syma, arduino, радиосигнал, nRF24L01+, автопилот.
Исследован и разработан алгоритм перехвата управления летательного аппарата на примере квадрокоптера Syma X8C. Рассмотрены несколько методов перехвата сигнала и выбран алгоритм с применением arduino mega и радиомодуля nRF24L01+. Разобран протокол квадрокоптера Syma X8C и получен контроль над летательным аппаратом.
В настоящее время квадрокоптеры приобрели большую популярность, т.к. они, зачастую, заменяют пилотируемую авиацию в гражданских и военных целях. Главными преимуществами квадрокоптера является легкость, маневренность, дешевизна и широкий спектр применения.
Практически все квадрокоптеры пилотируются вручную, с помощью пультов дистанционного управления. При таком типе управления есть ряд недостатков, главным из которых является выход из зоны управления вследствие ошибки оператора. Так же есть иные недостатки, но они не столь существенны, например, недостаточная рабочая дальность, ограничения, связанные с погодными условиями.
Телеметрия позволяет летательному аппарату обмениваться информацией и командами по беспроводной связи с наземной станцией. Это включает в себя отправку/получение GPS-координат, путевых точек, настроек газа, команд постановки и снятия с охраны.
Основной протокол передачи, используемый на всех квадрокоптерах гражданского назначения, MAVLink [1] или Micro Air Vehicle Link - это протокол для связи с небольшим летательными аппаратами. Mavlink используется многими компаниями, включая: Parrot AR.Drone, ArduPilot, PX4FMU, pxIMU, SmartAP, MatrixPilot, Armazila 10dM3UOP88, Hexo +, TauLabs и AutoQuad. Протокол передачи телеметрии для квадрокоптеров MAVLink передает данные в незашифрованном виде. При этом для каждой пары пульт-летательный аппарат используется простой цифровой идентификатор. Для перехвата управления квадрокоптера с таким протоколом достаточно 3 строчки кода.
Для исследования и последующей реализации перехвата управления был выбран квадрокоптер Syma x8c [2], все его характеристики приведены в таблице 1. квадрокоптер беспроводной связь телеметрия
Данные команд передающиеся с квадрокоптера на радиоприемник никак не шифруются, но для обеспечения некоторого уровня защиты от перехвата предприняты следующие меры:
• частота передачи меняется каждые 2 мс (т.е. 500 раз в секунду);
• передаваемые данные смешиваются с псевдослучайной последовательностью, для более эффективной передачи, и для обеспечения помехоустойчивости.
Все данные передаются на частоте 2,4 ГГц - это самая популярная частота. Более низкие частоты тоже используются, но в квадрокоптерах они значительно менее популярны.
характеристики квадрокоптера Syma X8C
Размещено на http: //www. allbest. ru/
Возможны несколько подходов к решению задачи перехвата радио сигнал от передатчика.
Первый подход предполагает использовать Software-defined radio, SDR (Программнореализуемая радиосистема). Этот метод заключается в следующем - в системе радио связи, компоненты, такие как смесители, фильтры, усилители, модуляторы/демодуляторы, детекторы и т.д.) реализованы с помощью программного обеспечения на персональном компьютере или на встроенной системе. Хотя концепция SDR не нова, быстро развивающиеся возможности цифровой электроники делают практически реализуемыми многие процессы, которые когда-то были возможны только теоретически.
Базовая система SDR может состоять из персонального компьютера, оснащенного звуковой картой, или другого аналого-цифрового преобразователя, которому предшествует радиочастотный интерфейса. Значительные объемы обработки сигналов производятся на процессоре общего назначения, а не в аппаратном обеспечении специального назначения (электронных схемах). Такая конструкция создает радиостанцию, которая может принимать и передавать самые разнообразные радиопротоколы (иногда называемые сигналами), основываясь исключительно на используемом программном обеспечении.
Второй подход предполагает использование Arduino mega и радиомодуля nRF24L01+SDR требует больших познаний в области радио, но для его реализации не требуется, практически никакого специального оборудования. Arduino и nRF24L01+ не требует практически никаких знаний в области радио, и стоят крайне дешево.
В данной работе будет рассматриваться подход с использованием Arduino mega и радиомодуль nRF24L01+. Рассмотрим каждый компонент.
Arduino Mega 2560 R3, приемник Arduino Mega, представляет собой плату микроконтроллера, основанную на микроконтроллере ATmega2560 AVR. Он имеет 70 цифровых входных/выходных контактов (15 из которых можно использовать в качестве ШИМ-выходов, а 16 - в качестве аналоговых входов), разъем USB, разъем питания, внутрисхемное системное программирование, возможность программирование чипа уже подключенного в некоторую схему и кнопка сброса. Arduino имеет обширное сообщество поддержки, что позволяет очень легко начать работу со встроенной электроникой [3].
nRF24L01+ - это радиоприемопередатчик для полосы ISM 2,4-2,5 ГГц. Радиопередатчики и приемники включают в себя генератор частоты, улучшенный контроллер режима ShockBurst, усилитель мощности. Можно выбрать выходной канал питания и протокол, установив через порт SPI. Потребление тока nRF24L01+ чрезвычайно низкое - в режиме передатчика, когда мощность передачи составляет 0 дБм, потребление тока составляет всего 11,3 мА; в режиме приема - 13,5 мА; при отключении питания и режиме ожидания потребление еще ниже. Что касается приложения, оно широко используется во многих устройствах, таких как беспроводная мышь и клавиатура, игровая ручка, пульт дистанционного управления, промышленный датчик, игрушки и т. д [4].
Структура передаваемых сигналов представлена на рисунке 1. В начале сеанса связи передатчик настраивается на частоту передачи и передает только несущую, затем передается преамбула - служебная информация, добавляемая в начало сигнала. Преамбула используется только для синхронизации приемника и передатчика. Поле преамбулы не предназначено для передачи полезной информации, наличие этого поля у сигнала объясняется необходимостью установления надежной взаимной синхронизации тактовых частот передатчика и приемника данных. Преамбула состоит из последовательности 0 и 1, в разных чипах она может отличаться как длиной, так и содержанием, в nRF24L01+ она составляет 1 байт 0xAA или 0x55, в зависимости от старшего бита адреса, в нашем случае преамбула 0xAA. Затем идут байты адреса, в nRF24L01+ адрес может составлять от 3 до 5 байт.
Размещено на http: //www. allbest. ru/
Структура передаваемых сигналов
Особенности радиомодуля nRF24L01+
Основная проблема радиомодуля nRF24L01+ для испльзования в наших целях, состоит в том, что в нем не реализован режим promiscuous. Promiscuous mode или promisc mode -- так называемый «неразборчивый» режим, в котором сетевая плата позволяет принимать все пакеты независимо от того, кому они адресованы. Однако сам модуль имеет несколько особенностей, первая приведена в технической документации [4] на стр.55:
Техническая документация
То есть, если этот регистр установлен в «00», то длина адреса будет два байта.
Затем есть еще одна интересная особенность nRF24L01+: обычно преамбула радиомодуля передается и используется так, чтобы приемник мог адаптироваться к передатчику, для этой цели последовательность нулей и единиц чаще всего передается в виде преамбулы.
Вторая особенность модуля nRF24L01+: он не ищет преамбулу в передаваемом сигнале и не использует ее каким-либо образом, он ищет адрес, записанный в качестве принимаемого.
Перед началом передачи преамбулы передатчик передает несущую. В ходе тестов было обнаружено, что чаще всего nRF24L01 + воспринимает несущую частоту сигнала как 0x00 (иногда как 0xFF, реже как случайный байт). Таким образом, используя эти недокументированные функции, можно перевести nRF24L01 + в случайный режим, установив длину адреса в 2 байта, а сам адрес как 0x00AA или 0x0055. В некоторых случаях мы получим данные, сдвинутые на 1 бит вправо. Более того, мы можем получать данные без проверки CRC [4].
Решение задачи перехвата сигнала.
При попытки перехватить сигнал квадрокоптера необходимо знать некоторые исходные данные, такие как диапазон управления квадрокоптером (2,4 ГГц) и что управление будет осуществляться модулем nRF24L01+.
Для использования особенностей nRF24L01+ воспользуемся библиотекой [5] Wireless Module 2.4G NRF2. В файле RF24.cpp в функции следует удалить проверку достоверности адреса:
void RF24::setAddressWidth(uint8_t a_width){ a_width -= 2;
write_register(SETUP_AW,a_width%4); addr_width = (a_width%4) + 2;
}
Теперь можно на последовательном порте забирать готовые данные с установленного канала, смена канала осуществляется посылкой «w» и «s» в порт. Дальнейшую обработку можно производить любым удобным способом. Следует обратить внимание, что скорость порта нестандартная -- 2 Мбит/c, это необходимо для того, чтобы Arduino меньше времени занималась вводом/выводом, а больше занималась решением задачи, не стоит забывать, что там всего лишь 16 МГц.
Данные серийного порта
Как только происходит обнаружение канала и определение адреса, необходимо установить его в качестве приемного, чтобы фильтрация данных происходила корректно.
uint64_t pipe = 0xa20009890fLL; byte addr_len = 5;
Фильтровка данных
Далее следует произвести сканирование всех каналов для определения тех, на которых появляется данный адрес. После недолгого наблюдения можно заметить, что 10, 11 и 12 байт меняется вместе с данными, а далее идет последовательность байтов, так называемый шум. Пробуем включить CRC16 (два последних байта) и сменить длину пакета до 10 байт:
byte len = 10; radio.setCRCLength(RF24_CRC_16);
Длина пакета 10 байт.
Теперь после настройки радиомодуля nRF24L01+, необходимо разобрать протокол Syma X8C. Для этого необходимо записать реакцию пульта на различные нажатия:
• Первый байт -- значение throttle (стик газа)
• Второй байт -- значение elevator (тангаж -- наклон вперед-назад), где старший бит -- направление (вперед или назад), а остальные 7 -- значение.
• Третий байт -- значение rudder (рысканье -- поворот вокруг оси влево-вправо), где старший бит -- направление (влево или вправо), а остальные 7 -- значение.
• Четвертый байт -- значение aileron (крен -- наклон влево-вправо), где старший бит -- направление, а остальные 7 -- значение.
• Десятый байт это CRC, которая рассчитывается как XOR от первых 9 байт + 0x55, понять это -- пожалуй, самое сложное.
Остальные байты можно оставить такими же, как и перехваченные, там содержатся значения регулировок нулевого положения (тримы), и несколько флагов, относящихся к работе камеры.
Сформируем какой-либо валидный пакет, например, заставим дрона вращаться вокруг своей оси против часовой стрелки, как показано на рис.5:
Протокол Syma
Выводы
Данная работа посвящена разработке алгоритма перехвата управления коммерческим квадрокоптером. В статье решены следующие задачи:
• разработан метод перехвата сигнала квадрокоптера Syma x8c на базе Arduino mega и радиомодуля nRF24L01+;
• разобран протокол передачи квадрокоптера Syma x8c.
Полученные положительные результаты перехвата управления квадрокоптером показывает, что необходимо усилить защиту радиосигнала и кроме изменения частоты передачи сигнала и передачи данных смешанных с псевдослучайной последовательностью необходимо, как минимум, выполнять шифрование передаваемого сигнала.
Список литературы
1. Butcher N., Stewart A., Biaz S. Securing the mavlink communication protocol for unmanned aircraft systems //Appalachian State University, Auburn University, USA. - 2013. 2. Thibault S. et al. CFD Simulation of a Quad-Rotor UAV with Rotors in Motion Explicitly Modeled Using an LBM Approach with Adaptive Refinement //55th AIAA Aerospace Sciences Meeting. - 2017. - С. 0583.
3. Pham C. Communication performances of IEEE 802.15. 4 wireless sensor motes for dataintensive applications: A comparison of WaspMote, Arduino MEGA, TelosB, MicaZ and iMote2 for image surveillance //Journal of Network and Computer Applications. - 2014. - Т. 46. - С.48-59.
4. Semiconductor N. nRF24L01+ Single Chip 2.4 GHz Transceiver //Datasheet, September. - 2008.
5. Библиотека для модуля nRF24L01+: [Электронный ресурс] /ред. Greg Copeland Режим доступа: https://github.com/nRF24/RF24, свободный. (Дата обращения: 10.01.2019).
Размещено на Allbest.ru
...Подобные документы
Изучение устройства связи с датчиком и исполнительными механизмами, разработка блока памяти объёмом 80 кб. Характеристика программ, обеспечивающих выполнение заданного алгоритма и алгоритма обмена. Оценка микропроцессорной системы по аппаратным затратам.
практическая работа [154,1 K], добавлен 14.11.2011Рассмотрение и характеристика особенностей беспилотных мультироторных летательных аппаратов. Исследование технологии компьютерного зрения. Анализ процесса передачи данных на бортовой контроллер. Ознакомление с базовыми принципами полета квадрокоптера.
дипломная работа [1,2 M], добавлен 25.06.2017Алгоритм работы схемы микропроцессорного устройства и протокол обмена информацией между ним и объектом управления. Составление карты памяти для микропроцессора. Разработка программы на языке Ассемблера для выбранного микропроцессора и микроконтроллера.
контрольная работа [207,8 K], добавлен 29.06.2015Описание алгоритма работы и разработка структурной схемы микропроцессорной системы управления. Разработка принципиальной схемы. Подключение микроконтроллера, ввод цифровых и аналоговых сигналов. Разработка блок-схемы алгоритма главной программы.
курсовая работа [3,3 M], добавлен 26.06.2016Разработка алгоритма управления и расчёт параметров устройств управления: моделирование процессов управления, определение и оценка показателей качества, разработка принципиальной электрической схемы и выбор датчиков управления элементами электропривода.
курсовая работа [1,5 M], добавлен 05.01.2010Определение параметров и структуры управления двигателя постоянного тока. Разработка принципиальной электрической схемы и выбор её элементов. Разработка алгоритма управления и расчёт параметров устройств управления скорости с внутренним контуром потока.
курсовая работа [8,5 M], добавлен 29.07.2009Общая характеристика систем радиоуправления. Функциональная схема системы управления с автоследящей антенной, установленной на корпусе ракеты. Схемы системы самонаведения. Стохастическое исследование канала управления. Исследование переходных процессов.
дипломная работа [2,6 M], добавлен 19.06.2011Формирование статических механических характеристик электропривода с целью стабилизации скорости. Система непрерывного управления скоростью. Определение структуры и параметров объекта управления, разработка алгоритма. Конструкция блока управления.
курсовая работа [1,6 M], добавлен 29.07.2009Принципиальные схемы вычислительного канала, устройств сравнения и контроля, безопасного ввода информации. Разработка алгоритма управления состоянием переезда, передачи и программного обеспечения. Расчет показателей безотказности и безопасности системы.
курсовая работа [822,8 K], добавлен 08.02.2014История создания технологий беспроводного доступа. Описания набора стандартов связи для коммуникации в беспроводной локальной сетевой зоне. Исследование принципа работы беспроводной связи Wi-Fi. Анализ рынка инфраструктуры Wi-Fi операторского класса.
презентация [854,9 K], добавлен 28.10.2014Направления развития бортовой электроники портативных беспилотных летательных аппаратов. Технические характеристики разрабатываемого контроллера. Схема, устройство и принципы реализации основных функциональных блоков системы управления квадрокоптера.
дипломная работа [1,6 M], добавлен 25.06.2019Электронный замок: общая характеристика и принцип действия. Анализ вариантов реализации устройства. Разработка алгоритма функционирования, структурной и электрической принципиальной схемы электронного замка. Блок-схема алгоритма работы программы.
курсовая работа [363,3 K], добавлен 10.05.2015Назначение станка с ЧПУ: узлы; устройство субблока числового программного управления, его взаимодействие со станком. Расчёт мощности приводов; разработка алгоритма поиска неисправности. Определение затрат на капитальный ремонт станка модели ИР500ПМФ4.
дипломная работа [1,0 M], добавлен 08.10.2012Основные характеристики встроенных антенн, используемых для беспроводной передачи информации в мобильных средствах связи; типы, конструктивные особенности. Исследование параметров направленных свойств антенн, степени их согласованности с фидером.
дипломная работа [5,7 M], добавлен 03.04.2011Разработка контроллера управления цифровой частью системы, перечень выполняемых команд. Описание алгоритма работы устройства, его структурная организация. Синтез принципиальной электрической схемы, особенности аппаратных затрат и потребляемой мощности.
курсовая работа [318,8 K], добавлен 14.06.2011Анализ стандарта беспроводной передачи данных. Обеспечение безопасности связи, основные характеристики уязвимости в стандарте IEEE 802.16. Варианты построения локальных вычислительных сетей. Виды реализаций и взаимодействия технологий WiMAX и Wi-Fi.
курсовая работа [1,7 M], добавлен 13.12.2011Основные типы микроконтроллеров. Разработка структурной схемы прибора. Работа матричного индикатора HCMS-2000. Разработка принципиальной схемы. Расчет режимов элементов. Разработка алгоритма программы. Последовательный интерфейс обмена данными.
курсовая работа [650,6 K], добавлен 12.01.2016Описание электронной системы программного управления CNC 600-1 и принципа работы модуля PEAS. Разработка функциональной электрической схемы субблока. Создание словесного алгоритма поиска неисправности. Структура эксплуатационного и ремонтного цикла.
курсовая работа [1,7 M], добавлен 08.10.2012Понятие беспроводной связи, организация доступа к сети связи, к интернету. Классификация беспроводных сетей: спутниковые сотовые модемы, инфракрасные каналы, радиорелейная связь, Bluetooth. WI-FI - технология передачи данных по радиоканалу, преимущества.
реферат [350,6 K], добавлен 06.06.2012Характеристика особенности развития сферы услуг связи в Уфимском районе Республики Башкортостан. Исследование организации беспроводных точек доступа в сеть Интернет, расширения сетей кабельного телевидения, реконструкции телефонной связи в городе Уфа.
курсовая работа [130,2 K], добавлен 08.05.2011