Атиенсия Вильягомес1 Х.М., Дивеев2А.ИСофронова1Е.А.
1 - ФГБОУ Российский университет дружбы народов, 2 - ФГБУН Вычислительный центр им. А.А. Дородницына Российской академии наук
СИНТЕЗ ЛОГИКО-ФУНКЦИОНАЛЬНОЙ СИСТЕМЫ УПРАВЛЕНИЯ ЛЕТАЮЩИМ РОБОТОМ
Летающие роботы сегодня в большинстве случаев представляют собой беспилотные вертолеты с четырьмя симметричными винтами (см. рисунок 1). В западной литературе такая схема управления называется квадротором (quadrotor).
Рисунок 1. Квадротор
Удобство управления квадротором заключается в том, что для поступательного движения не требуется шарниров, перемещающих вращающиеся конструкции. Движение вперед и назад, вправо и влево осуществляется за счет разности тяг двух противоположных винтов (см. рисунок 2). В квадроторе нет необходимости в угле рыскания, так как движение по боковой оси абсолютно идентично движению по продольной оси по отношению к собственным осям симметрии. За счет вращения каждой пары винтов в противоположную сторону в квадроторе отсутствует реакция корпуса на общую тягу винтов, поэтому нет необходимости в компенсационном моменте, вырабатываемым в обычных вертолетах дополнительным хвостовым винтом. Квадротор может стоять неподвижно в пространстве, что также является дополнительным преимуществом, позволяющим использовать его в режиме робота.
Сегодня квадроторы широко используются и продаются по всему миру. На настоящем этапе развития основным направлением является их интеллектуализация. Большинство работающих квадроторов и практически всех беспилотных летающих аппаратов управляется человеком от пульта управления. Автономные режимы работы для летающих роботов встречаются крайне редко.
Данное обстоятельство вызвано, прежде всего, сложностью реализации систем управления, которая помимо обеспечения режима движения летающего робота должна также выполнять функцию выбора. Достаточно сложно реализовать полностью автономную систему управления летающим роботом, которая бы обеспечила весь процесс полета.
Реально полет летающего робота должен включать несколько режимов управления, например стабилизацию робота в пространстве, перемещение его в другую точку пространства, обнаружение и облет препятствий, обеспечение режима посадки. Перечисленные режимы движения могут быть легко реализованы достаточно несложными системами управления, но тогда при автономном режиме полета возникает дополнительная проблема выбора режима полета. Летающий робот должен автономно принять решение по выбору критерия, минимум которого ему необходимо обеспечивать. По критерию уже можно отобрать режим полета, хотя и при этом остается вопрос о том, что необходимо делать при ошибочном принятии решения.
Выбор решения формально описывается с помощью логических выражений, следовательно, система управления должна включать не только набор блоков управления, реализующих определенные режимы управления, но и блоки логического вывода, которые также по состоянию объекта должны определить, выбор режима управления. Из сказанного следует, что для управления летающими роботами актуальна задача синтеза логико-функционального управления.
Рассмотрим формальную постановку задачи синтеза логико-функциональной системы управления.
Задана система дифференциальных уравнений, описывающая динамику объекта управления
х = f (x, u), (1)
где X - вектор состояния объекта управления, X Є Rn , U - вектор управления, UЄ Rm . На управление наложены ограничения
UЄ U , (2)
где U - ограниченное замкнутое множество.
Заданы начальные условия
x(0) = х0 . (3)
Задан критерий качества управления в виде функционала tf
J = J fo (х (t) , U (t)) dt ® min , (4)
0
где tf - время окончания процесса управления.
Чтобы минимизировать значение функционала (4) необходимо найти управление в виде u = g(х, v) , (5)
где V - вектор логических переменных, V = [v ... Vk ] , Vj Є {0, 1} , І = 1, k .
Логические переменные определяют выбор вариантов управления на основе предикатной функции, которая также необходимо найти
v = h(х) , (6)
______k______
где h (х): Rn ®{0,1}х K X {0,1} .
Для решения задачи используем метод сетевого оператора [1-8]. Метод позволяет искать решения на множестве математических выражений, задаваемых целочисленной матрицей сетевого оператора. Поскольку в задаче необходимо помимо обычного функционального управления (5) искать также логическое управление (6), то используем два сетевых оператора. Для синтеза предикатной функции (6) используем логический сетевой оператор [6].
Логическую функцию ищем с помощью метода логического сетевого оператора. Функцию дискретизации определяем на основе анализа конкретной задачи.
Для поиска решения используем генетический алгоритм, построенный на основе принципа базисного решения. Для определения сетевого оператора, к которому необходимо применить вариации, в генетическом алгоритме используем дополнительный бинарный вектор.
В качествепримера рассмотримсинтез логико-функциональной системы управления для беспилотного вертолета типа квадротора.
Математическая модель квадротора имеет следующий вид
Х1 = ,
х2 = —— cos(x7)sin (x9) , m0
x3 = x4 ,
x4 = — cos(x7)cos(x9)- g0, m0
x5 = x6 ,
x6 = -T- Sn (x6 ) , m0
x7
x8
x8 ,
(U1 - U3 ) I
I 1
x9 = x10 ,
(U2 x = v 2 A10 - - U4 1 3 ) I
где x1 , x3 , x5 - координаты центра масс, x1 -продольная дальность, x3 - высота, x5-боковая даль -
ность, x2 , x4 , x6 -соответствующие проекции вектора скорости движения центра масс, X7 , X9 -углы по -
ворота вокруг горизонтальной плоскости, Х8 , Х10 -соответствующие углы скорости, и, , и , и , и4-тяги винтов, T = и, + и + и + и4 , l - расстояние между противоположными винтами, /1 , / ? -моменты инерции
относительно осей в горизонтальной плоскости, m - масса квадротора, Q0 - ускорение свободного падения .
На управление наложены ограничения
и~ < и, < и+ , i = 1 ,4 .
где U и Ц+ заданы величины минимальной и максимальной тяг винтов.
Для того чтобы обеспечить отсутствие вращения вокруг вертикальной оси, тяги винтов должны удовлетворять соотношению
U - и2 + и3 - и4 = 0 .
Для управления движением квадротора используем наклоны плоскости вращения винтов, которые определяются углами Xj и Xq . На величины углов наложены ограничения
х7
Х9
Пр
< Х7 < Х+ ,
< Xq < Х9+ .
остранственная
траектория
задана
набором точек
P = ((X10 , Х30 , x5).....(xM
X
M -1 3
xM -1 x5
))
гдеM -количество точек пространственной траектории.
Необходимо найти управление, чтобы минимизировать две целевые функции объекта. Первая функция определяет точность движения по траектории. Вторая функция определяет время прохождения траектории.
M -1
■Z
j=1
min
t
V a
J
® min
J2 = tf ® min ,
где
tf =
t, if Jz (Xa(i)- xa f < e
V a
t+, иначе
a = 1, 3, 5 .
Целью управления было движение квадротора по пространственной траектории, которая должны была миновать препятствия, поэтому обе целевые функции штрафовались в случае не попадания квадротора в окрестность какой-либо точки пространственной траектории и при попадании на область препятствия.
При расчетах использовали модель со следующими параметрами m0 = 1 , / = 0.03 , /3/1 = 0.03 , д0 = 9.81
, и-= 1.5 , и+= 4 , xj = -0.4 , x+ = 0.4 , х9 =-0.4 , х+= 0.1 , t += 36 .
Траектория движения содержала двенадцать точек
P = ((3,10,1), (6, 6, 3), (5, 3, 5), (7, 6,7), (2, 2, 4.5), (0.5, 3,7), (6, 6, 3), (7, 6,7) ,
(8, 8.6), (9,10, 4), (6,16, 2), (0, 20, 0)) .
Были также определены препятствия в виде набора угловых точек на горизонтальной плоскости
C ={C1...C к},
где K - число препятствий, C, - координаты углов
Ci = (( Х1,1 , i, Х5, 1 , i ) , ( Х1,2, i, Х5, 2, i )( Х1,3, i, Х5, 3, i )( Х1,4, i, Х5, 4, i ))
Всего было рассмотрено три препятствия с координатами
C1 =((3, 2), (5 3), (4 5), (2 4)), С2 =((2, 5), (6, 7), (5, 9), (1 , 7)),
С3 =((6.5, 3.5), (8, 4.5), (7, 6), (5, 5.5)),
Задачей логического управления заключалась в обеспечении переключения точек пространственной траектории. Для построения логического выражения на вход логического блока подавались отклонения состояния объекта от текущей целевой точки заданной траектории и следующей точки. Начальные значения
для моделирования были нулевые при высоте X3 (0) = 20 м.
Результаты моделирования с одним из полученных логико функциональных управлений приведены на ри-сунках3-7. На рисунках показаны квадратные точки пространственной траектории. На рисункеЗ изображены учитываемые при синтезе области препятствий в форме прямоугольников.
Рисунок 3 Проекция траектории на горизонтальную плоскость
Рисунок 4 Проекция траектории на вертикальную плоскость {х1, Х3]
Рисунок 5 Проекция траектории на вертикальную плоскость
{х3' Х5]
Хд
t
О 10 20 ЗО
Рисунок 7 Изменение угла Xq
По результатам моделирования видно достаточно точное движение квадротора по заданным точкам траектории. Прохождение всей траектории составило 19.6 с., при этом квадротор не задел область препятствий .
Работа выполнена по гранту РФФИ 11-08-00532-а.
ЛИТЕРАТУРА
1. Дивеев А.И. Метод сетевого оператора. М.: Изд-во ВЦ РАН. 2010. 178 с.
2. Дивеев А.И., Шмалько Е.Ю. Многокритериальный структурно-параметрический синтез системы управления спуском космического аппарата на основе метода сетевого оператора// Вестник РУДН. Серия инженерные исследования (информационные технологии и управление). 2008, № 4. С. 86 - 93.
3. Дивеев А.И., Северцев Н.А., Софронова Е.А.Синтез системы управления метеорологической ракетой методом генетического программирования // Проблемы машиностроения и надежности машин. 2008, № 5. С. 104 - 108.
4. Дивеев А.И., Северцев Н. А. Метод сетевого оператора для синтеза системы управления спуском космического аппарата при неопределенных начальных условиях// Проблемы машиностроения и надежности машин. 2009, № 3, С. 85-91.
5. Diveyev A.I., Sofronova E.A. Application of network operator method for synthesis of optimal structure and parameters of automatic control system// Proceedings of 17-th IFAC World Congress, Seoul, 2008, 05.07.2008 - 12.07.2008. P. 6106 - 6113.
6. Дивеев А.И., Софронова Е.А. Идентификация системы логического вывода методом сетевого оператора// Вестник РУДН. Серия Инженерные исследования. 2010, № 4. С. 51-58.
7. Дивеев А. И. Синтез адаптивной системы управления методом сетевого оператора// Сб. статей Вопросы теории безопасности и устойчивости систем. М.: ВЦ РАН. 2010. Вып. 12. С. 41-55.
8. Сайт метода сетевого оператора: http://www.network-operator.com/