Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Программная реализация алгоритма приближенного решения задачи управления
Аннотация:
Abstract:
Автор: Сачкова Е.Ф. () - | |
Ключевые слова: программа, алгоритм, нильпотентная аппроксимация, управляемая система, нелинейная система, задача управления |
|
Keywords: software, algorithm, nilpotent approximation, , nonlinear system, |
|
Количество просмотров: 18917 |
Версия для печати Выпуск в формате PDF (4.72Мб) |
Настоящая работа посвящена описанию программной реализации алгоритма перемещения трехмерной нелинейной системы с двумя линейными управлениями из заданного начального состояния в малую окрестность заданного финального состояния. Написанная в системе компьютерной математики Maple [1] программа осуществляет последовательное приближение системы к цели с помощью управлений другой, более простой управляемой системы, являющейся аппроксимацией исходной. Широкие возможности комплекса программ для приближенного решения локальной двухточечной граничной задачи управления обусловлены как эффективностью вычислительного алгоритма, так и эффективностью численных и символьных расчетов, осуществляемых системой Maple. На базе полученного комплекса программ для приближенного решения локальной задачи управления разработан комплекс программ для приближенного решения глобальной задачи управления. Полученный программный комплекс может быть полезен в решении прикладных задач, возникающих при управлении мобильными роботами, спутниками (при неограниченных управлениях) и иными импульсными системами [2], качением твердых тел [3]. Постановка задачи управления Рассматриваются системы вида
где – линейно независимые гладкие векторные поля в R3 с заданными граничными условиями и точностью: где Ставится задача управления: требуется переместить систему (1), удовлетворяющую условию (2), Задача (1)–(3) разрешима в R3, так как из условия (2) следует полная управляемость системы (1) в R3 [3]. Алгоритм приближенного решения задачи управления (1)–(3) основан на методе нильпотентной аппроксимации системы (1), (2) в окрестности точки x1. В алгоритме используются две управляемые системы: исходная (1), (2) и ее нильпотентная аппроксимация в окрестности точки x1, которая сводится заменой переменных к симметричной нильпотентной системе
Метод приближенного решения задачи управления (1)–(3) заключается в последовательном приближении системы (1) к целевой точке x1 с помощью управлений системы (4), вычисляемых на каждой итерации и точно переводящих систему (4) в целевую точку. Из общей теории следует, что для любой точки x1 существует радиус сходимости Решения задачи управления для системы (4) с граничными условиями
найдены в пяти классах управлений: в тригонометрическом, кусочно-постоянном с одним переключением, оптимальном в смысле минимума функционала субримановой длины [5]; центральном и фокусном, построенных с помощью линейных векторных полей на плоскости, имеющих особенность, соответственно, типа центр и типа фокус. Все эти управления реализованы в виде пяти процедур программы FindControlLoc и составляют библиотеку управлений NilpControls. С помощью локального алгоритма можно построить и глобальный, введя по некоторому правилу промежуточные узлы Описание программы FindControlLoc Локальный алгоритм приближенного решения задачи управления (1)–(3) реализован в виде компьютерной программы FindControlLoc, написанной на входном языке системы Maple. Отметим существенные характеристики программы, а именно, возможности рассматривать произвольные системы вида (1), (2), выбирать произвольные граничные условия (3) (близкие в смысле Гибкость программы FindControlLoc обусловлена, в частности, тем, что она использует средства Maple-языка Процедуры программы FindControlLoc: NilpApprox() ChangeCoords()выполняет замену переменных в окрестности точки dsolve(), odeplot()встроенные процедуры пакета расширения Maple DEtools. Библиотека NilpControls. Все процедуры библиотеки NilpControls вычисляют управления, являющиеся решениями задачи (4), (5): Optimal()
Trig() PieceConst() – вычисляет кусочно-постоянные с одним переключением программные управления, порождающие синтез; Centre() – вычисляет программные управления, полученные с помощью линейного поля на плоскости, имеющего в нулевой точке особенность типа центр. Управления этого класса имеют одно переключение, постоянны на второй половине временного отрезка; Focus()вычисляет программные управления, полученные с помощью линейного поля на плоскости, имеющего в нулевой точке особенность типа фокус (рассматривается неустойчивый фокус). Управления этого класса имеют одно переключение, постоянны на второй половине временного отрезка. Проанализируем описанную библиотеку. Управления Optimal, Trig решают задачу управления Программа FindControlLoc. Входные данные: Выполняемые действия. 1. Инициализируются пакеты расширения системы Maple: linalg, DEtools, plottools, plots. 2. Инициализируются процедуры NilpApprox, ChangeCoords, библиотека NilpControls. 3. Считываются данные: 4. Вычисляется матрица 5. Считываются данные 6. Входное начальное состояние 7. Итерационный процесс реализуется с помощью условного цикла
a) счетчик итераций увеличивается на единицу (i:=i+1); b) вычисляются координаты начального состояния системы (4): c) с помощью процедуры d) численно решается задача Коши: e) вычисляется следующее приближение к финальной точке 8. Если 9. Делается линейное преобразование переменной 10. Управления полученные функции, определенные на временном отрезке 11. Делается проверка: управления u(t) подставляются в исходную систему (1), численно решается задача Коши: Вывод результата. 1. Если 2. Если Конец программы. Проанализируем возможные причины ошибок: 1) недостаточная точность 2) наличие фазовых ограничений: траектория системы может выходить за пределы области; 3) задача не локальна для выбранного класса управлений. Для устранения ошибок дадим следующие рекомендации. В первом случае надо повысить точность в итерациях; во втором можно поварьировать параметры par(nc) или выбрать другую процедуру nc; в третьем случае следует выбрать другую процедуру nc или построить глобальный алгоритм. Программный комплекс
На рисунке 1 показана структура программного комплекса для решения задачи управления (1)–(3). Основная программа GlobAlg преобразует входные данные Пример управления ориентацией катящейся по плоскости сферы Управляемая система, описывающая качение сферы по плоскости без прокручивания и проскальзывания, описана в [3]. Рассмотрим подсистему этой системы, описывающую изменение ориентации сферы. Переходя в этой подсистеме от ортогональных 3´3 матриц к кватернионам и применяя проекцию на трехмерное пространство, получим следующую систему:
С помощью компьютерной программы FindControlLoc задача управления (1)–(3) для системы (6) решена в пяти классах управлений с использованием пяти процедур библиотеки NilpControls. Пример работы программы FindControlLoc. Входные данные: векторные поля системы (6)
граничные условия:
время Выполняемые действия:
Коэффициенты нильпотентной аппроксимации в точке
Таблица зависимости
Выходные данные: управления u(t), tÎ[0, 1]. Пример импульсного управления манипулятором Рассматривается управляемая система, моделирующая импульсное управление двухзвенным манипулятором:
где с граничными условиями
и фазовыми ограничениями
Для приближенного решения задачи (7)–(9) применяется следующая стратегия, реализуемая программой GlobAlg. На первом шаге решения задачи (7)–(9) выбирается промежуточная целевая точка внутри области (9), и система (7) с границы области (9) перемещается в выбранную целевую точку с помощью постоянных управлений. Затем внутри области (9) выбирается вторая промежуточная цель, достаточно близкая к первой, и решается двухточечная граничная задача управления двумя способами: 1) с помощью центральных управлений ной траекторией, она приходит в финальную точку условия (8) с точностью Подытоживая, следует отметить, что в статье приводится компьютерная реализация FindControlLoc вычислительного алгоритма приближенного решения локальной задачи управления (1)–(3). Описывается библиотека управлений NilpControls, благодаря которой программа FindControlLoc осуществляет пять стратегий управления системой в малой окрестности целевой точки. Описывается программный комплекс, основанный на базовой программе FindControlLoc, который позволяет решать глобальные задачи управления с фазовыми ограничениями. Приводятся примеры работы локального алгоритма и глобального, учитывающего фазовые ограничения системы. Дальнейшее развитие программного комплекса для повышения эффективности вычислений планируется с использованием методов параллельного программирования. Литература 1. Дьяконов В. Maple 6: учебный курс. СПб: Питер, 2001. 2. Гурман В.И. Принцип расширения в задачах оптимального управления. М.: Наука, 1997. 288 c. 3. Аграчев А.А., Сачков Ю.Л. Геометрическая теория управления. М.: Физматлит, 2005. 4. Jean. F. // Lectures on Dynamical and Contol Systems, Trieste, 2003. 5. Сачкова Е.Ф. Решение задачи управления для нильпотентной системы // Дифференциальные уравнения. 2008. № 12. С. 1704–1707. |
Постоянный адрес статьи: http://swsys.ru/index.php?page=article&id=2254&lang=&like=1 |
Версия для печати Выпуск в формате PDF (4.72Мб) |
Статья опубликована в выпуске журнала № 2 за 2009 год. |
Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Рекурсивный алгоритм точного расчета ранговых критериев проверки статистических гипотез
- Эффективная программная реализация вейвлет-преобразования
- Организация защищенного канала передачи информации
- Программный комплекс пространственной навигации и мониторинга на основе алгоритма визуальной одометрии
- Программные реализации схем представления структурированных данных в реляционной базе данных
Назад, к списку статей