УДК 621.8
ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА С ОТСЕЧЕНИЕМ ПО ВРЕМЕНИ В ЗАДАЧЕ СИНТЕЗА ПРОГРАММНОГО РЕГУЛЯТОРА ДЛЯ МАШИНЫ ДУБИНСА
Г.Н. Рогачев
Самарский государственный технический университет 443100, г. Самара, ул. Молодогвардейская, 244 E-mail: grogachev@mail.ru
Статья посвящена способам решения задачи быстродействия при синтезе программного регулятора для машины Дубинса. При оценке качества решений учитывается общее время выполнения задачи по переводу объекта в заданную точку, включая время расчета программы управления и время движения объекта к цели. Рассмотрены некоторые варианты численного определения императивной модели регулятора как системы правил типа «условие - действие». Показаны преимущества генетического алгоритма с отсечением по времени при решении задачи быстродействия для машины Ду-бинса.
Ключевые слова: оптимальный синтез, машина Дубинса, гибридная система, генетический алгоритм, Anytime Algorithm.
Последние десятилетия характеризуются лавинообразным расширением сферы применения цифровых процессоров в качестве управляющих компонентов разнообразных устройств, настоящее время - это эпоха встроенных цифровых систем управления. Тенденция распространения цифровых систем управления объясняется несколькими причинами. Среди них - бурное развитие микропроцессорной техники, стремительный рост ее надежности и производительности, снижение габаритов и стоимости. Использование цифровых процессоров даже в простейшей системе управления принципиально изменяет качество функционирования обслуживаемых системой устройств, позволяет оптимизировать режимы работы управляемых объектов или процессов и за счет этого получать технико-экономический эффект. Вместе с тем при разработке встроенных цифровых систем реального времени необходимо помнить, что такая система управления - это единый комплекс взаимодействующих вычислительных, коммуникационных и физических процессов. Встроенные (в реальный физический мир) компьютеры непосредственно воздействуют на внешние физические процессы и, в свою очередь, действуют под их влиянием. Вычисления (работа программы) и физический процесс становятся единым целым; предсказать и понять поведение любой из этих двух частей в отрыве от другой невозможно. Если части такой системы (датчики, контроллеры, исполнительные устройства) обмениваются друг с другом информацией, в указанное единство добавляется третий компонент: процесс коммуникации (все чаще сетевой). Данную область часто обозначают символом С3 (Computation х Control х Communication).
Тесная взаимосвязь дискретных процессов вычисления и передачи информации с непрерывными процессами в объектах управления требует создания принципиально новой технологии описания, анализа и синтеза встроенных цифровых систем управления. Определенным шагом в этом направлении является использование императивной модели регулятора при описании гибридной системы цифрового управ-
Геннадий Николаевич Рогачев - к.т.н., доцент, докторант.
ления непрерывным объектом. Динамическая часть системы, определяющая функционирование объекта управления, задается дифференциальными уравнениями, а управляющая часть (контроллер, датчики, исполнительные устройства и сеть передачи информации от объекта к управляющей части и обратно) - алгоритмом ее работы (системой продукций, набором правил вида «условие - действие»).
Императивная (алгоритмическая) форма описания регуляторов позволяет унифицировать задачу их синтеза. Действительно, процедура синтеза регулятора может быть описана единообразно: вне зависимости от конкретной задачи определению подлежит количество элементов системы продукций (пар типа «условие - действие») и ее наполнение. При этом на смену многоступенчатому синтезу, включающему выбор структуры регулятора, определение его параметров, разработку реализующих этот регулятор алгоритма и программного кода, приходит прямой синтез программы действий регулятора - системы правил, т. е. алгоритма его работы в виде псевдокода. Вместе с тем следует подчеркнуть, что в настоящее время общий формализованный метод решения задачи синтеза регуляторов в императивной форме отсутствует. Можно указать лишь некоторые частные способы.
Поскольку большинство задач науки и техники относятся к обширному классу проблем поиска оптимальных решений, в основе подходов к синтезу системы правил работы регулятора лежит процедура оптимизации. Необходимость обеспечить достижение предельно возможных технико-экономических показателей работы промышленного оборудования требует разработки методов усовершенствования его конструкционных характеристик и соответствующей организации режимов функционирования, оптимальных по тем или иным критериям эффективности. При оптимизационном подходе искомые элементы проектируемой системы определяются в результате решения различных оптимизационных задач. При этом весь комплекс условий, требований и ограничений для проектируемой системы сводится к задаче поиска экстремума некоторого функционала на определенном допустимом множестве настраиваемых элементов.
Первый из подходов - процедура синтеза системы продукций с использованием необходимых (и/или достаточных) условий оптимальности [1]. Второй подход - автоматизация процедуры синтеза системы продукций посредством эволюционных вычислений [2] как стохастического метода глобальной оптимизации. Этот подход позволит в перспективе создавать технические устройства, которые будут самостоятельно генерировать программное обеспечение своих систем управления и при необходимости модернизировать его. На базе этого подхода можно будет создать программные средства, которые автоматизируют весь процесс проектирования систем управления от постановки задачи до моделирования их работы, включая проверку программного обеспечения.
В основе оптимизационных задач - формализация представления о качестве функционирования систем управления. Подобная формализация предполагает построение некоторой системы количественных характеристик качества функционирования, величины которых зависят от принимаемых проектных решений. Не менее существенным представляется вопрос задания и обеспечения ограничений. В процедуре императивного синтеза регулятора необходим, естественно, учет традиционных видов ограничений на фазовые переменные, управляющие воздействия и время регулирования (т.е. на непрерывные состояния гибридного автомата). Однако помимо этого должна быть сформулирована система ограничений, выполнение которых обеспечит отсутствие дефектов системы продукций и корректность ее работы.
В качестве примера рассмотрим задачу синтеза программного регулятора, оптимизирующего маневры подвижного объекта, описываемого системой нелинейных уравнений
x = v cos(^);
у = v sin»; (1)
Ф = u,
где переменные состояния - это две координаты x и у положения объекта на плоскости и угол ф направления вектора скорости. Модуль вектора скорости равен v . Скалярное управление u ограничено по модулю и определяет мгновенную скорость поворота вектора скорости. Примем для определенности |и| ^ 1. Систему (1) при v = 1 называют Dubins Car (машина Дубинса), по фамилии ученого, изучавшего задачу наискорейшего ее перевода в заданную точку фазового пространства. Им было доказано утверждение о характере оптимального управления и числе переключений [3]. А именно, кратчайший путь машины Дубинса для любых начальной и конечной точек является комбинацией не более чем трех примитивов. Этих примитивов также три: прямолинейное движение (u=0), максимально резкий поворот налево (u=1) или максимально резкий поворот направо (u= -1). Обозначим эти примитивы символами S (straight ahead, т. е. прямо вперед), L (left, влево) и R (right, вправо). Тогда любой возможный вид кратчайшего пути определится как слово, являющееся последовательностью максимум трех символов. Возможных вариантов слов, из которых может формироваться кратчайший путь, достаточно много. Это одно из следующих слов: LRL, RLR, LSL, LSR, RSL, RSR, LR, RL, LS, SL, RS, SR, L, R, S. Для задания оптимального режима работы регулятора должны быть определены вид слова и продолжительность каждого из входящих в него примитивов.
Решим задачу максимально быстрого перевода машины Дубинса из точки [3,-3,-л /4] в малую окрестность точки с координатами x = 0 , у = 0 . При этом будем учитывать не только время, необходимое объекту управления на перемещение из начальной точки в конечную, но и то время, в течение которого осуществляется вычисление закона управления. Так как третья координата (угол ф) в конечной точке не задана, это - задача с подвижным концом траектории. Поскольку известное точное аналитическое решение задачи быстродействия [3] предполагает закрепление конца траектории и не учитывает время вычисления управления, будем решать задачу численно. В качестве метода вычисления закона управления используем такой вариант эволюционных вычислений, как генетический алгоритм (ГА). Программный продукт, реализующий ГА, - MATLAB Global Optimization Toolbox, установленный на компьютере с процессором Intel® CoreTM 2 Duo 2.2 GHz. Время вычисления управляющего воздействия ограничим некоторой наперед заданной величиной.
В первом случае вначале полностью определим систему продукций программного регулятора, а затем используем ее для управления. Будем считать, что восьми секунд достаточно для гарантированного попадания машины Дубинса в требуемую точку при правильно выбранной стратегии управления и что допустимая частота изменения управляющего воздействия равна 1 с-1. Тогда система продукций регулятора приобретет вид: «если t є[0,1), то u(t) = u1», «если t є[1,2), то u(t) = и2», «если t Є [2,3), то u(t) = u3 », «если t Є [3,4), то u(t) = u4», «если t Є [4,5), то u(t) = u5 », «если t є [5,6), то u(t) = u6», «если t є [6,7), то u(t) = u7», «если t є [7,8), то u(t) = u8 ».
Первая серия из 15 вычислительных экспериментов проводилась при ограничении времени вычисления управляющего воздействия на уровне 8 с, что соответствовало 5 эпохам работы ГА. Через 8 с начиналось движение объекта под управлением наилучшей из найденных программ работы регулятора. Общее время от момента получения задачи до окончания движения составляло, таким образом, 16 с. Как следует из рис. 1, ни в одном из 15 экспериментов окрестности точки с координатами х = 0, у = 0 за 16 с достигнуты не были вследствие низкого качества полученного решения.
2
1
0
^-1 ■м
Л-2 -3 -4 -5
0 2 4 6
х(г)
Рис. 1. Траектории движения машины Дубинса (время вычисления управляющего воздействия 8 с)
Вторая серия экспериментов проводилась при ограничении времени вычисления управляющего воздействия на уровне 40 с (27 эпох работы ГА). В этом случае (рис. 2) треть траекторий заканчивалась в окрестностях заданной точки, но общее время решения задачи составляло уже 48 с.
Р и с. 2 . Траектории движения машины Дубинса (время вычисления управляющего воздействия 40 с)
Полученные результаты свидетельствуют о возможности использования ГА в задачах синтеза систем управления. Особенно эффективен этот подход в задачах параметрической оптимизации в условиях неединственности экстремума целевой функции. Однако он не лишен недостатков. Так, поскольку в ГА требуется производить анализ большого числа альтернативных вариантов решения, время расчетов иногда оказывается чрезмерно большим. Для преодоления этого недостатка можно процедуру вычисления управляющих воздействий совместить с процессом управления. Этот подход известен как anytime algorithm [4] - алгоритм с отсечением по времени. Anytime algorithm - итерационный вычислительный алгоритм, который способен выдать наилучшее на данный момент решение в любое время, если процесс вычислений не доводится до естественного останова. При совместном применении anytime algorithm и ГА следует, не дожидаясь окончания вычислений, раз в несколько эпох выбирать наилучшее решение. Это решение, обеспечивающее наибольшее по сравнению с другими имеющимися вариантами управления продвижение объекта управления к цели, будет использоваться некоторое время как текущее управляющее воздействие.
Изменим тактику. Вначале при лимите времени вычислений в 1 с определим с помощью ГА параметр u1 таким образом, что правило «если t е[0,1), то u(t) = ux » обеспечит объекту (1) минимальное по сравнению со всеми альтернативными вариантами результирующее отклонение от заданного условиями х = 0, у = 0 положения. Затем, используя это правило для управления движением объекта в течение первой секунды, будем одновременно искать из таких же соображений параметр u2. Повторяя эти действия на протяжении первых 7 секунд движения, реализуем посредством ГА anytime algorithm управления. Общее время от момента получения задачи до окончания движения составит всего 9 с. Как следует из рис. 3, во всех 15 экспериментах удалось достичь окрестностей точки х = 0 , у = 0 .
'5 0 1 2 I 4 I
Р и с. 3 . Траектории движения машины Дубинса (anytime algorithm управления, полное время 9 с), засечки проставлены через 1 с
Полученный эффект повышения качества решения с одновременным существенным сокращением общего времени решения объясняется не только совмещением во времени процессов определения закона управления и движения под действием этого управления, но и уменьшением вычислительной сложности задачи. Действи-
31
тельно, на каждом i -ом шаге определению подлежит лишь один параметр ut вместо восьми. Таким образом, может быть преодолен главный недостаток эволюционных вычислений, заключающийся в чрезмерном времени расчетов из-за необходимости анализа большого числа альтернативных вариантов. Следовательно, задача синтеза может быть успешно решена с использованием эволюционных вычислений, в частности генетического алгоритма.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Рогачев Г.Н., Егоров В.А. Численно-аналитическая процедура оптимального синтеза гибридных систем // Вестник СамГТУ, сер. Технические науки, 2010. - № 7 (28). - С. 32-36.
2. Рогачев Г.Н. Императивные модели регуляторов компьютерных систем управления и их Stateflow-реализация // Сборник трудов V Межд. научной конф. «Проектирование инженерных и научных приложений в среде MATLAB». - Харьков: ФЛП Шейнина Е.В., 2011. - С. 51-67.
3. Dubins L.E. On curves of minimal length with a constraint on average curvature and with prescribed initial and terminal positions and tangents // Amer. J. Math. - 1957. - Vol. 79. - PP. 497-516.
4. Natarajan S. Imprecise and Approximate Computation. - Kluwer Academic Publishers. - Norwell, MA, USA, 1995, 177 p.
Статья поступила в редакцию 25 апреля 2011 г.
SYNTHESIS OF THE OPEN-LOOP REGULATOR FOR DUBINS’ CAR BY ANYTIME GENETIC ALGORITHM
G.N. Rogachev
Samara State Technical University
244, Molodogvardeyskaya st., Samara, 443100
In article the synthesis of the time-optimal open-loop regulator for Dubins car is considered. In assessing the quality of decisions the total time for the task of transferring the object at a given point is taken into account, including the time for calculating the control program and the time of moving the object to the goal. We consider some options for the numerical determination of the regulator as an imperative model of a system of rules like "condition - action". Advantages of anytime genetic algorithm at the decision of the time-optimal problem for Dubins car are shown.
Keywords: Optimal Synthesis, Dubins Car, Hybrid System, Genetic Algorithm, Algorithm.
Gennadiy N. Rogachev - Candidate of Technical Sciences, Associate professor.