НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ сентябрь-октябрь 2016 Том 16 № 5 ISSN 2226-1494 http://ntv.i1mo.ru/
SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS September-October 2016 Vol. 16 No 5 ISSN 2226-1494 http://ntv.ifmo.ru/en
УДК 681.5
СТАБИЛИЗАЦИЯ БЕСПИЛОТНОГО ЛЕТАТЕЛЬНОГО АППАРАТА НА ОСНОВЕ НЕЙРОСЕ ТЕВОГО РЕ ГУЛЯТОРА С.С. Андропов", А.В. Гирика, М.Ю. Будь»»", М.Б. Будькоа
a Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация Адрес для переписки: Andropov.Sergey1@gmail.com Информация о статье
Поступила в редакцию 21.06.16, принята к печати 25.07.16 doi: 10.17586/2226-1494-2016-16-5-796-800 Язык статьи - русский
Ссылка для цитирования: Андропов С.С., Гирик А.В., Будько М.Ю., Будько М.Б. Стабилизация беспилотного летательного аппарата на основе нейросетевого регулятора // Научно-технический вестник информационных технологий, механики и оптики. 2016. Т. 16. № 5. С. 796-800. doi: 10.17586/2226-1494-2016-16-5-796-800
Аннотация
Исследована проблема стабилизации мультироторного беспилотного летательного аппарата в условиях неучтенных возмущающих воздействий. Рассмотрен классический пропорционально-интегрально-дифференциальный регулятор, показаны его недостатки - неспособность реагировать на изменяющиеся внешние условия и необходимость ручной настройки коэффициентов. Предложен метод настройки коэффициентов адаптивного пропорционально-интегрально-дифференциального регулятора на основе нейронных сетей. Описана структура нейронной сети, ее входные и выходные данные. Для создания адаптивной системы стабилизации мультироторного беспилотного летательного аппарата использованы нейронные сети с тремя слоями, обучаемые по методу обратного распространения ошибки. В результате работы нейронных сетей определяются коэффициенты для регулятора по каждому углу стабилизации. Рассмотрен метод обучения нейронной сети. Приведены графики переходных процессов на различных этапах обучения сети, в том числе с учетом внешних возмущений. Показано, что при достаточном количестве итераций обучения система отвечает требованиям по стабилизации аппарата. Приведенный метод настройки коэффициентов может быть использован в управлении беспилотными летательными аппаратами, оперирующими в условиях изменчивой внешней среды. Ключевые слова
искусственные нейронные сети, нейроуправление, обучение нейронных сетей, стабилизация, квадрокоптер. Благодарности
Исследование выполнено за счет гранта Российского научного фонда (проект № 16-11-00049).
UNMANNED AIR VEHICLE STABILIZATION BASED ON NEURAL NETWORK
REGULATOR S.S. Andropov", A.V. Guirik", M.Yu. Budko", M.B. Budko"
a ITMO University, Saint Petersburg, 197101, Russian Federation Corresponding author: Andropov.Sergey1@gmail.com Article info
Received 21.06.16, accepted 25.07.16 doi: 10.17586/2226-1494-2016-16-5-796-800 Article in Russian
For citation: Andropov S.S., Guirik A.V., Budko M.Yu., Budko M.B. Unmanned air vehicle stabilization based on neural network regulator. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2016, vol. 16, no. 5, pp. 796-800. doi: 10.17586/2226-1494-2016-16-5-796-800
Abstract
A problem of stabilizing for the multirotor unmanned aerial vehicle in an environment with external disturbances is researched. A classic proportional-integral-derivative controller is analyzed, its flaws are outlined: inability to respond to changing of external conditions and the need for manual adjustment of coefficients. The paper presents an adaptive adjustment method for coefficients of the proportional-integral-derivative controller based on neural networks. A neural network structure, its input and output data are described. Neural networks with three layers are used to create an adaptive stabilization system for the multirotor unmanned aerial vehicle. Training of the networks is done with the back propagation method. Each neural network produces regulator coefficients for each angle of stabilization as its output. A method for network training is explained. Several graphs of transition process on different stages of learning, including processes with
external disturbances, are presented. It is shown that the system meets stabilization requirements with sufficient number of itérations. Described adjustment method for coefficients can be used in remote control of unmanned aerial vehicles, operating in the changing environment. Keywords
artificial neural networks, neural regulation, neural network learning, stabilization, quadcopter Acknowledgements
This work was supported by the Russian Science Foundation grant 16-11-00049.
Введение
В настоящее время наблюдается всплеск популярности малогабаритных мультироторных беспилотных летательных аппаратов (БПЛА) вследствие широкого круга задач, которые могут быть решены этим типом БПЛА. Тем не менее, управление мультироторными аппаратами в условиях внешних возмущений, несмотря на конструктивную простоту БПЛА, оказывается сложной задачей [1, 2]. Для решения задачи стабилизации мультироторных БПЛА практически всегда применяется тот или иной вариант пропорционально-интегрально-дифференциального регулятора (ПИД-регулятора). К сожалению, обычный ПИД-регулятор не способен адаптироваться под изменяющиеся условия нелинейной и нестационарной системы, а следовательно - гарантированно обеспечивать стабильность этой системы [3]. Перспективным подходом к устранению недостатков классических регуляторов является применение искусственных нейронных сетей (ИНС) [4-7]. Используя заранее обученную ИНС для настройки коэффициентов ПИД-регулятора в реальном времени, можно устранить его недостатки при использовании в среде с внешними возмущениями и обеспечить выполнение требований по стабилизации в любых условиях.
В настоящей работе выбран подход на основе инверсного параллельного нейрорегулятора с обучением методом обратного распространения ошибки. ИНС выполняет поиск оптимальных параметров для регуляторов оборотов двигателей БПЛА в реальном времени. Предложенный способ управления позволил получить систему управления летательным аппаратом, способную адаптироваться под изменяющиеся условия полета.
Постановка задачи и предлагаемые подходы к решению
В работе рассматривается задача стабилизации по углу и не учитывается стабилизация по высоте.
ПИД-регулятор использует данные об ошибке в углах наклона аппарата (крен, тангаж и рысканье), динамике изменения этих углов и накопленной ошибке. Каждая составляющая ПИД-регулятора имеет свой коэффициент и по-разному влияет на выходной сигнал регулятора:
f(t) = Kpe(t) + Ki J*e(t)dt + Kd±e(t), где Kp, Ki, Kd - коэффициенты пропорциональной, интегральной и дифференциальной компонент регулятора, e - ошибка управления (разница между желаемым и действительным углом наклона БПЛА).
Настройка коэффициентов ПИД-регулятора может осуществляться методом Зиглера и Никольса [8], методом CHR [9, 10], и др. Ряд теоретических методов требует точной математической модели для расчета коэффициентов, а упрощенные методы (к примеру, Зиглера и Никольса) могут требовать дополнительной ручной настройки [9-11]. Последовательно изменяя коэффициенты для пропорциональной, дифференциальной и интегральной компонент, можно видеть изменения в поведении аппарата и влияние каждого из коэффициентов на результат.
Дискретная форма ПИД-регулятора требует вычисления линейных уравнений, хорошо оптимизируется и не требует для расчетов значительных аппаратных ресурсов.
При отсутствии внешних возмущений ПИД-регулятор хорошо справляется со стабилизацией аппарата, однако в реальных условиях требуется обеспечить большую гибкость системы и убрать необходимость в ручной настройке параметров стабилизации при изменении любых свойств как внешней среды (изменение погодных условий, давления, температуры), так и внутренней структуры БПЛА (изменение веса, геометрии летательного аппарата).
Требования к системе стабилизации.
1. время переходного процесса не должно превышать 1 с;
2. перерегулирование системы не должно превышать 10% от максимального угла отклонения. В данной работе за максимальный угол отклонения БПЛА принят угол в 90°, что дает ограничение для перерегулирования в 9°.
Для решения этой задачи имеет смысл использовать ИНС, так как ИНС являются универсальными аппроксиматорами [12]. Существуют различные способы применения нейронных сетей в нейроуправле-нии: линейные нейроконтроллеры, многослойные персептроны, рекуррентные сети [12, 13].
Для поиска оптимальных значений параметров ПИД-регулятора используется схема инверсного нейроуправления с использованием многослойных персептронов и обучением методом обратного распространения ошибки. Данный способ был выбран исходя из исследований об эффективности различных схем в задачах управления динамическими объектами [14].
СТАБИЛИЗАЦИЯ БЕСПИЛОТНОГО ЛЕТАТЕЛЬНОГО АППАРАТА...
t
Рис. 1. Схема нейронной сети для настройки коэффициентов ПИД-регулятора
Поиск оптимальных параметров для ПИД-регулятора выполняется нейронной сетью с тремя слоями обратного распространения.
На вход сети подаются данные о состоянии БПЛА: ошибка управления err (разность между уставкой и фактическим углом), накопленная ошибка Ye и скорость изменения ошибки управления derr.
Второй, «скрытый» слой служит для придания нелинейности сети. Выбор количества скрытых слоев и нейронов в этих слоях сильно зависит от условий задачи [15], однако, как правило, одного скрытого слоя оказывается достаточно. Количество нейронов в этом слое обычно является средним между входными и выходными данными. На выходе нейронной сети формируются коэффициенты ПИД-регулятора (рис. 1).
В настоящей работе выбрана сеть с одним скрытым слоем и пятью нейронами. В качестве актива-ционной функции нейронов второго и третьего слоев используется сигмоида:
, (D
где х - сумма входных данных xt с учетом весов ю^ и поправки Ъ:
X = Y. ю1]х1 - b .
Функция (1) обеспечивает плавное распределение значений относительно входных данных. При малых изменениях коэффициентов входного сигнала (вес сигнала и поправка) изменение функции также мало, что позволяет точно настраивать значения поправки и веса.
Нейросетевой регулятор состоит из трех искусственных нейронных сетей - по одной на каждый угол стабилизации (крен, рысканье, тангаж). Присутствие сразу трех сетей объясняется тем, что динамика по каждой из осей может быть разной, следовательно, необходимо применять свои коэффициенты для каждого направления.
Обучение нейронной сети и результаты экспериментов
Коэффициенты для каждого из нейронов корректируются с помощью метода обратного распространения ошибки [4]. Для каждого веса вычисляется зависимость между его изменением и изменением итогового результата.
Выбирается целевая функция E, ошибку которой необходимо уменьшить через k итераций:
где e(t, y) - ошибка между фактическим и желаемым углом, t - количество итераций. Затем вес корректируется с учетом фактора обучения: = + —
ю corrected ю Y
где у - коэффициент обучения.
На рис. 2 представлены этапы калибровки коэффициентов сетью после различного числа итераций для угла крена квадрокоптера. В качестве объекта стабилизации использовался стенд с одной степенью свободы, на котором установлен квадрокоптер с начальным отклонением в 30° по крену. Процедура обучения нейронной сети и алгоритм стабилизации для трех углов БПЛА идентичны, поэтому на графиках представлен только один из этих углов.
Для обучения сети изначально задан некоторый пропорциональный коэффициент, а значения интегральной и дифференциальной компонент заданы достаточно малыми (отличаются от пропорционального в десятки раз). В ходе обучения ИНС регулирует значения коэффициентов, меняя динамику стабилизации. На графике представлена зависимость угла от шага стабилизации. Приведены три конфигурации коэффициентов, выданных ИНС на этапе обучения. Как видно на графике, конфигурация 1 коэффициен-
b
t, с
тов (начало работы нейронной сети) имеет очень большую амплитуду колебаний и перерегулирование свыше 20°; время переходного процесса - более 2 с.
Конфигурация 3 (ближе к финальному результату) справляется с задачей стабилизации гораздо лучше - время переходного процесса меньше 1 с и перерегулирование менее 10° являются допустимыми параметрами для полета.
а, °
30
20
10
0
-10
-20
-30
Конфигурация 1---Конфигурация 2-Конфигурация 3
Рис. 2. Графики переходных процессов по углу крена а при стабилизации на различных этапах обучения
нейронной сети
30 20 10 0 -10 -20 -30
\ if"
0,1 0,6 V/ 1,1 1,6 2,1 2,6
V,'
1,6
2,1
2,6
t, с
Конфигурация 1 Конфигурация 2 Конфигурация 3
Рис. 3. Графики переходных процессов по углу крена при стабилизации с учетом внешних возмущающих
воздействий
На рис. 3 показано поведение БПЛА при добавлении случайных возмущений, представляющих собой небольшие случайные изменения угла на каждом шаге стабилизации. Видно, что при добавлении даже небольших дополнительных воздействий на угол увеличивается время, требуемое для стабилизации модели. Для перехода модели в стабильное состояние требуется не менее тысячи итераций обучения.
Таким образом, ИНС способна оптимизировать коэффициенты ПИД-регулятора после определенного периода обучения. Итоговой целью работы является создание системы, способной за короткое время адаптироваться к изменяющимся условиям полета, при этом не требуя больших вычислительных возможностей. Полученные результаты можно усовершенствовать, к примеру, уменьшить время, требуемое для достижения оптимальных значений ПИД-регулятора. Также необходимо более полно исследовать влияние случайных возмущающих воздействий на поведение ИНС.
Заключение
Применение нейронных сетей в задачах управления мультироторными беспилотными летательными аппаратами является перспективным направлением. Предложенный в настоящей работе подход с использованием инверсного нейрорегулятора позволяет усовершенствовать систему стабилизации таких летательных аппаратов. Процесс обучения может быть продолжен непосредственно в полете, что позволяет реагировать на изменения внешних и внутренних условий в реальном времени.
Дальнейшая работа будет сосредоточена на оптимизации алгоритмов коррекции параметров ней-рорегулятора и сокращении времени, необходимого для обучения сети.
Литература References
1. Беляев С.С., Будько М.Б., Будько М.Ю., Гирик А.В., Жигулин Г.П. Функциональное проектирование модуля управления и навигации мультироторным БПЛА // Радиопромышленность. 2015. № 4. С. 77-87.
1. Belyaev S.S., Budko M.B., Budko M.Y., Guirik A.V., Zhigulin G.P. Functional design of flight and navigation controller unit for multirotor unmanned aerial vehicle.
Radiopromyshlennost', 2015, no. 4, pp. 77-87.
о
a
СТАБИЛИЗАЦИЯ БЕСПИЛОТНОГО ЛЕТАТЕЛЬНОГО АППАРАТА.
2. Shepherd III J.F., Tumer K. Robust neuro-control for a micro quadrotor // Proc. 12th Annual Genetic and Evolutionary Computation Conference (GECC0'10). Portland, USA, 2010. doi: 10.1145/1830483.1830693
3. Бобцов А.А., Пыркин А.А. Адаптивное и робастное управление с компенсацией неопределенностей // СПб.: НИУ ИТМО, 2013. 135 c.
4. Salichon M., Tumer K. A neuro-evolutionary approach to micro aerial vehicle control // Proc. 12th Annual Genetic and Evolutionary Computation Conference (GECC0'10). Portland, USA, 2010. P. 1123-1130. doi: 10.1145/1830483.1830692
5. Евгенов А.А. Нейросетевой регулятор системы управления квадрокоптером // Современные проблемы науки и образования. 2013. № 5. С. 61.
6. Chowdhary G., Johnson N.E. Adaptive neural network flight control using both current and recorded data // AIAA Guidance, Navigation and Control Conference. Hilton Head, USA, 2007. P. 1721-1740.
7. Rivas-Echeverria F., Rios-Bolivar A., Casales-Echeverria J. Neural network-based auto-tuning for PID controllers // Neural Network World. 2001. V. 11. N 3. P. 277-284.
8. Ziegler J.G., Nichols N.B. Optimum settings for automatic controllers // Trans. ASME. 1942. V. 64. P. 759-768.
9. Shahrokhi M., Zomorrodi A. Comparison of PID controller tuning methods [Электронный ресурс]. 2012. Режим доступа: http://www.ie.itcr.ac.cr/einteriano/control/clase/Zomorrodi_Shah rokhi_PID_tunning_comparison.pdf, своб. (дата обращения 02.08.2016).
10. Мелков Д.А. Сравнение методов настройки ПИД-регулятора при колебаниях параметров возмущающего воздействия // Молодой ученый. 2013. №4. С. 72-76.
11. Михайленко В.С., Ложечников В.Ф. Методы настройки нечеткого адаптивного ПИД-регулятора // ААЭКС. 2009. №2(24). С. 174.
12. Rojas R. Neural Networks. A Systematic Introduction. Berlin: Springer-Verlag, 1996. 502 p. doi: 10.1007/978-3-642-61068-4
13. Eberhart R.C., Dobbins R.W. Neural Network PC Tools: a Practical Guide. London: Academic Press, 1990.
14. Maren A.J., Harston C.T., Pap R.M. Handbook of Neural Computing Applications. Academic Press, 2001. 448 p.
15. Karsoliya S. Approximating number of hidden layer neurons in multiple hidden layer BPNN architecture // International Journal of Engineering Trends and Technology. 2012. V. 31. N 6. P. 714-717.
Авторы
Андропов Сергей Сергеевич — инженер-исследователь, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, Andropov.Sergey1@gmail. com
Гирик Алексей Валерьевич — кандидат технических наук, доцент, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, alexei.guirik@gmail.com
Будько Михаил Юрьевич — кандидат технических наук, доцент, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, bmu@mail.ru
Будько Марина Борисовна — кандидат технических наук, доцент, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, budkomb@mail.ru
2. Shepherd III J.F., Tumer K. Robust neuro-control for a micro quadrotor. Proc. 12th Annual Genetic and Evolutionary Computation Conference, GECCO'lO. Portland, USA, 2010. doi: 10.1145/1830483.1830693
3. Bobtsov A.A., Pyrkin A.A. Adaptive and Robust Control with Uncertainties Compensation. St. Petersburg, NRU ITMO, 2013, 135 p. (In Russian)
4. Salichon M., Tumer K. A neuro-evolutionary approach to micro aerial vehicle control. Proc. 122h Annual Genetic and Evolutionary Computation Conference, GECCO'lO. Portland, USA, 2010, pp. 1123-1130. doi: 10.1145/1830483.1830692
5. Evgenov A.A. Neuro-controller of quadcopter control system. Modern Problems of Science and Education, 2013, no. 5, p. 61.
6. Chowdhary G., Johnson N.E. Adaptive neural network flight control using both current and recorded data. AIAA Guidance, Navigation and Control Conference. Hilton Head, USA, 2007, pp. 1721-1740.
7. Rivas-Echeverria F., Rios-Bolivar A., Casales-Echeverria J. Neural network-based auto-tuning for PID controllers. Neural Network World, 2001, vol. 11, no. 3, pp. 277-284.
8. Ziegler J.G., Nichols N.B. Optimum settings for automatic controllers. Trans. ASME, 1942, vol. 64, pp. 759-768.
9. Shahrokhi M., Zomorrodi A. Comparison of PID controller tuning methods. 2012. Available at: http://www.ie.itcr.ac.cr/einteriano/control/clase/Zomorrodi_S hahrokhi_PID_tunning_comparison.pdf (accessed 02.08.2016).
10. Melkov D.A. Comparison of methods for setting the PID parameters of the oscillations disturbance variable. Young Scientist, 2013, no. 4, pp. 72-76.
11. Mikhailenko V.S., Lozhechnikov V.F. Metody nastroiki nechetkogo adaptivnogo PID-regulyatora. Avtomatika. Avtomatizatsiya. Elektrotekhnicheskie Kompleksy i Sistemy, 2009, no. 2, p. 174. (In Russian)
12. Rojas R. Neural Networks. A Systematic Introduction. Berlin, Springer-Verlag, 1996, 502 p. doi: 10.1007/978-3-642-61068-4
13. Eberhart R.C., Dobbins R.W. Neural Network PC Tools: a Practical Guide. London, Academic Press, 1990.
14. Maren A.J., Harston C.T., Pap R.M. Handbook of Neural Computing Applications. Academic Press, 2001, 448 p.
15. Karsoliya S. Approximating number of hidden layer neurons in multiple hidden layer BPNN architecture. International Journal of Engineering Trends and Technology, 2012, vol. 31, no. 6, pp. 714-717.
Authors
Sergey S. Andropov - research engineer, ITMO University, Saint Petersburg, 197101, Russian Federation,
Andropov.Sergey1@gmail.com
Alexey V. Guirik - PhD, Associate professor, ITMO University, Saint Petersburg, 197101, Russian Federation, alexei.guirik@gmail.com
Mikhail Yu. Budko - PhD, Associate professor, ITMO University, Saint Petersburg, 197101, Russian Federation, bmu@mail.ru Marina B. Budko - PhD, Associate professor, ITMO University, Saint Petersburg, 197101, Russian Federation, budkomb@mail.ru