Санкт-Петербургский государственный университет
Опубликован: 12.07.2013 | Доступ: свободный | Студентов: 246 / 38 | Длительность: 09:36:00
Специальности: Программист
Лекция 4:

Проект "Мультиагентная система для БПЛА"

Программирование бортовых микрокомпьютеров БПЛА

Выше были показаны преимущества группового взаимодействия и принцип построения системы управления БПЛА, основанный на трехуровной архитектуре. Такая архитектура системы управления БПЛА характерисуется разделением конкретных "обязанностей" между вычислительными блоками. Рассмотри логику и принципы разработки программ для трехуровневой архитектуры.

При работе трехуровневая система формирует управляющие воздействия на основе входных данных. Для корректного выполнения задания при создании управляющего воздействия в программе автопилота по принципу разных контуров управления формируются три последовательных набора данных, обеспечивающих:

  • поддержание заданных параметров движения (управляющие воздействия на исполнительные механизмы, генерируемые автопилотом на основании данных, полученных от микрокомпьютера и систем навигации);
  • корректировку курсу (данные для управления передаются автопилоту и формируются на основе данных навигационной системы и поставленной задачи для мобильного объекта);
  • выполнение маршрута движения (формируются на базовой станции в зависимости от поступающей информации от мобильных объектов и поставленной задачи оператором).

Все три контура управления в конечном итоге формируют управляющий сигнал на исполнительные механизмы.

Схематично три контура показаны на рис. 7.5.

Первый контур - создание управляющего сигнала на основе поступающей информации из инерциальной и спутниковой систем навигации. Автопилот отслеживает отклонение мобильного объекта от заданных параметров движения на основе поступающей информации с инерциальных датчиков (таких, как инфракрасные датчики, магнитометры и гироскопы) и корректирует углы крена, скорость, высоту и др. для поддержания заданных характеристик движения мобильного объекта.

Три контура управления

Рис. 7.5. Три контура управления

Автопилот формирует управляющие воздействия на сервомеханизмы с применением пропорционально-интегрально-дифференциального (ПИД) регулятора. Это наиболее часто используемый вид управления с обратной связью. Если u(t) -управляющее воздействие, y(t) - измерения, r(t) - желаемый результат измерения, e(t) = r(t) - y(t) – "невязка", то ПИД регулятор имеет следующий вид:

u(t)=K_Pe(t)-K_I \int e(t)dt+K_De(t)

где K_P,K_I,K_D - коэффициенты усиления пропорциональной, интегральной и дифференциальной составляющей регулятора. В устойчивых системах стабилизация движения часто может быть обеспечена только с помощью пропорциональной составляющей. Интегральный член компенсирует статистическую ошибку, а дифференциальный служит для компенсации задержек в системе. Основой для составление управляющего сигнала являются данные, получаемые с различных датчиков и источников получения дополнительной информации (например, информация с базовой станции, полученная через модуль связи, и т. п.).

Второй контур необходим для формирования поправки на отклонение от заданного направления движения и корректировки курса. Одна из существенных причин отклонений легких мобильных объектов от заданного курса - изменения направления ветра или неровности поверхности земли. Также на отклонения влияют случайные и систематические ошибки в получаемых в процессе полета данных: ошибки в навигационных системах, дискретность в получении данных и т.п. Для борьбы с этой проблемой применяют фильтры, с помощью которых производится предсказание смещения в следующий момент времени и внесение на основе этих данных поправок в курс БПЛА.

Для любого изменения в конструкции БПЛА или в программе его полета необходимо создавать новый код автопилота. Для того, чтобы каждый раз не заходить в программный код, в автопилоте предусмотренно изменение плана полета в процессе его выполнения. Как правило это доступный для кооректировок текстовый фаил, в котором хранятся данные о координатах.

Обмен информацией между микрокомпьютером и автопилотом можно осуществлять посредством последовательного периферийного интерфейса (SPI, Serial Peripheral Interface).

В третьем контуре управления на основе поставленной глобальной задачи для группы мобильных объектов и частной задачи для члена группы выбираются точки маршрута. Первоначально точки маршрута формируются оператором на базовой станции на основе поставленной задачи. Глобальная задача записывается в микрокомпьютер, а начальные частные задачи для членов группы - в их автопилоты. В процессе полета изменения глобальной задачи посылаются микрокомпьютерам мобильных объектов группы, которые эти изменения обрабатывают и формируют новые частные задачи для автопилотов. Также, исходя из принятой информации от других мобильных объектов, в рамках глобальной задачи для более быстрого ее завершения микрокомпьютер может поменять частную задачу для автопилота. В описанном выше примере трехуровневой архитектуры обмен информацией между мобильными объектами и между мобильным объектом и базовой станцией происходит посредством различных модулей связи: радио-, Wi-Fi-, Интернет-модема. Связь посредством GSM модема с выходом во всемирную систему компьютерных сетей Интернет в основном предусмотрена для передачи необходимой информации на сервер, доступ к которому можно осуществить с любого компьютера, подключенного к "всемирной паутине".

Конкретизируем алгоритм (протокол) взаимодействия мобильных объектов в группе без единого центра управления, но с единым центром сбора данных мониторинга некоторой территории с помощью различного оборудования для таких задач, как:

  • визуальный поиск объекта на местности;
  • поиск источника радиосигнала;
  • поиск утечки газопродуктов;
  • поиск источника магнитного излучения;
  • поиск источника радиационного излучения и т.п.

Каждой комплекту данных (фотографии, набору данных по замеру химического состава и т.п.) приписывается свой индекс, который соответствует времени фиксации и координатам точки, в которой произведен сбор данных.

Если установилась связь с другим мобильным объектом, то происходит следующее:

  • отправка набора индексов имеющейся информации;
  • прием набора индексов;
  • сравнение набора принятых индексов с имеющимся набором индексов;
  • выделение новых индексов из принятого набора;
  • отправка запроса на получение новых данных с новыми индексами;
  • принятие запроса на отправку индексов;
  • формирование пакета данных на основе запрошенных индексов;
  • отправка данных;
  • принятие новых данных, запись в память.

На основе новых данных микрокомпьютером может быть принято решение о смене программы для автопилота для корректировки района поиска.

Применение группы мобильных объектов также повышает гарантию выполнения задачи мониторинга местности. Например, возможна ситуация, при которой один из мобильных агентов выходит из строя. Это может быть резкое падение одного из мобильных объектов или выход из строя средств связи этого члена группы. Для завершения выполнения глобальной миссии для группы возникает задача изменить маршруты других объектов для покрытия всего исследуемого участка. При этом алгоритм работы мобильного объекта такой:

  • завершить свою задачу;
  • сравнить имеющиеся данные со всей картой необходимых данных в глобальной задаче;
  • выделить область данных соседних участков;
  • определить незаполненные данные в соседних участках;
  • если есть незаполненные данные, то сформировать новый маршрут для автопилота;
  • если все данные заполнены, отправить сообщение о завершении задачи.

При выполнении такого алгоритма мобильный объект после завершения своей задачи определяет, нужно ли помочь соседям. Если да, то расширяет поле своей работы.

При отправке данных на базовую станцию, необходимость хранить эти данные в микрокомпьютере отпадает, и в базе данных ставится пометка о времени отправки этой информации на сервер. Далее при необходимости освобождения места она стирается из памяти микрокомпьютера. При мониторинге территории данные с близкими координатами отмечаются как повторные, но с разным временем получения, и сравниваются на сервере с целью поиска изменений.

Обмен информацией мобильного объекта с базовой станцией происходит в тот момент, когда первый входит зону видимости базовой станции. Такая связь осуществляется за счет стабильного радиоканала с дальностью действия 1-2 км. На большем удалении мобильный объект может передавать информацию через подключение к глобальной сети Интернет через связь GSM. Передача информации по такому каналу может быть прервана из-за сбоев в связи при использовании его в воздухе и на значительном удалении от вышек GSM. В связи с этим алгоритм отправки информации такой:

  • создать пакет с полученными данными в установленном интервале времени (например, фото- изображение сделанные за первую минуту сбора данных);
  • сжать пакет;
  • если нет пакетов в очереди отправки, то отправить сжатый пакет;
  • если есть очередь отправки, то поставить пакет в очередь отправки;
  • после отправки пакет и получения подтвержения доставки поставить отметку в индексах – отправлено на сервер. В противном случае пакет считается неотправленным.

В ЦОДе данные обрабатываются для извлечени необходимой информации. Для обработки фотографий применяются программные приложения с алгоритмами распознавания образов, выделяются фотографии одинаковой местности и на них определяются изменения. На выходе потребитель получает фотографии с отмеченной наиболее важной информацией. Одним из результатов обработки данных может стать формирование новой глобальной миссии для группы мобильных объектов.

Николай Корнеев
Николай Корнеев

В самостоятельной работе №1 нет примера lab01 файла labAtom32.rar. Ссылка которая есть в презентации

www.math.spbu.ru/user/gran/Atom32/lab01

не работает?