Диссертация (1150739), страница 7
Текст из файла (страница 7)
Однако наиболее прост критерий ( ) = , в силу линейности, который соответствует сумме квадратов полуосей эллипсоида Υ . Благодаря этому критерию, можноприйти к стандартной задаче SDP. Поскольку по теореме (2.1) система предполагается устойчи-43вой, то существует конечный и единственный ограничивающий эллипсоид, минимизирующийлюбую из указанных выше функций.Доказательство. 5.1 Основную идею доказательства возьмем из [55].
Рассмотрим функцию () = ˜ ˜, > 0. Для того, чтобы траектории ˜() системы (5.9) не покидали эллипсоидΥ˜ = {˜ ∈ R : (˜) 6 ∆ }, нужно чтобы выполнялось (˜, ˜, , ) 6 0 если (˜) 6 ∆ ,2˜‖ ‖ 6 ∆ и учитывая предположения (1), (3) .̂︀ = ˜ + ˜˜ .˜Обозначим Производная функции (˜) в силу системы (5.9) имеет вид(˜, ˜, , ) = ˜˙ ˜ + ˜ ˜˙ =̂︀ + )˜̂︀ + 2˜ ˜ + 2 ˜ ˜ + 2 ˜ ˜.= ˜ (˙(︁˜ Введем вектор = ˜⎛0⎜⎜= ⎜⎜⎝)︁, а также матрицы̂︀ + ̂︀ ˜ ˜ ˜ 0000˜00⎞⎟0 ⎟⎟,0 ⎟⎠01 = {−, 0, 0, 0},2 = {0, , 0, 0},3 = {− max(,) , 0, , 0},4 = {− max(,) , 0, 0, }.Мы можем записать рассматриваемые условия в виде:0 () 6 0 при 1 () 6 −∆ , 2 () 6 ∆ , 3 () 6 0, 4 () 6 0,(5.14)где () = , = 0,4.Воспользовавшись - теоремой [51], получаем неравенство:0 − 1 − 2 − 3 − 4 6 0при параметрах , , , > 0 и 0 > −∆ + ∆ , ⇒ = (см.
подробнее [33]).Распишем неравенство (5.15) подробнее:(5.15)44⎛˜˜⎞⎟⎜ ⎜ −00 ⎟⎜⎟ 6 0,⎜˜0−0 ⎟⎝ ⎠˜ 00−(5.16)̂︀ + ̂︀ + + ( max(,) + max(,)).где = Применяем лемму Шура [50]:̂︀ + ̂︀ + + ( max(,) + max(,)) +11 ˜ ˜1 ˜ ˜+ + + 6 0.Теперь умножим справа и слева на матрицу = −1 .̂︀ + ̂︀ + + ( max(,) + max(,)) +1 ˜ ˜ 1 ˜ ˜ 1 + + 6 0.+Воспользуемся опять леммой Шура [50] и представим рассматриваемое выражение в видематрицы:⎛⎜⎜⎜⎜⎝⎞1( )−1 max(,)001( )−1 max(,)00⎟0 ⎟⎟ 6 0,0 ⎟⎠(5.17)̂︀ + ̂︀ + + 1 ˜˜ + 1 ˜˜,где = что полностью совпадает с условием в формулировке теоремы.5.2ПримерыПроиллюстрируем применение теоремы на примере модели трехколесного мобильного робота.45Считая, что робот движется при малых скоростях, можно ограничиться кинематическоймоделью тележек, ведущей и ведомой.
Она будет выглядеть следующим образом [52]:˙ 1 () = cos(1 ()),˙ 1 () = cos(2 ()),˙ 2 () = sin(1 ()) + 1 (), ˙ 2 () = sin(2 ()) + 2 (),˙ 1 () = ,(5.18)˙ 2 () = (),где (),() – управление, – фиксированная угловая скорость, – фиксированная линейнаяскорость, 1 (), 2 () – ограниченные возмущения.Выделив соответствующим образом нелинейность, систему (5.18) можно представить ввиде˙ 1 () = + (cos(1 ()) − 1),˙ 2 () = 1 () + (sin(1 ()) − 1 ()) + 1 (),˙ 1 () = + (cos(2 ()) − 1),˙ 2 () = 2 () + (sin(2 ()) − 2 ()) + 2 (),˙ 2 () = (),Таким образом, при малых значениях угла (), = 1,2, движением вдоль осей 1 (), 1 () можнопренебречь.LMI в Теореме 5.1 выглядит следующим образом:⎛̂︀ + ̂︀ + + ˜˜⎜⎝( )−1max(‖‖,‖‖)0⎞⎟0 ⎠ 6 0,(5.19)̂︀ = ˜ + ˜ ˜ .˜̂︀С помощью Теоремы 5.1 была найдена матрица (︃)︃−0.6010 −0.0292−0.0292 −0.0474,(5.20)при = 0.02, = 0.04.̂︀ ‖ = 0.212.В этом случае оценка будет равна ‖ Таким образом, основываясь на классическом результате, оценка вектора состояния равна0.623, а применяя метод на основе инвариантных эллипсоидах и LMI получаем оценку равную0.212.
Это означает, что с помощью теоремы 3.1 может быть получен более точный результатоценки вектора состояния системы при ограниченных возмущениях.46Глава 6. Лабораторная установка6.1Навигация и управление движением мобильных ЛЕГО-роботов спомощью видеокамеры и беспроводного Bluetooth соединения6.1.1Описание лабораторной установкиДля проверки работы алгоритмов были созданы универсальная лабораторная установка(см. рис. 6.1), позволяющая реализовывать не только эти, но и другие алгоритмы, а также система дистанционного управления мобильными роботами. Алгоритм распознавания реализован наС++, управление - на Java. Приложение написано под среду Linux (Ubuntu 11.10).Рисунок 6.1 — Лабораторная установкаМодель робота сконструирована из кибернетического конструктора Lego Mindstorms NXT(см.
рис. 6.2). Такой выбор объясняется, что NXT предоставляет широкий набор интересныхфункциональных возможностей [56].Для построения кинематической модели тележки, был использован программируемыйблок NXT, два мотора и сопутствующие детали. Тележка имеет три колеса, два ведущих и одно47Рисунок 6.2 — Мобильные роботыведомое. Ведущие колеса находятся на одной оси. Диаметр колеса равен 56 мм.
Расстояние между ведущими колесами 170 мм. Для лучшего распознавания данного объекта с камеры, сверху натележку монтируется черная матовая пластина. Для NXT существует огромнейшее количествоязыков программирования, основанных как C/C++, так и на Java. Для реализации алгоритмав качестве программной платформы для LEGO-роботов использовалась прошивка LEJOS NXJ(Java for LEGO Mindstorms) [57].
Программа, которая выполняется на роботе, состоит из двухосновных блоков. Первый из них ожидает входящих сообщений по протоколу Bluetooth и приих получении передает управление второму блоку, после завершения выполнения которого, отсылает подтверждение о завершении выполнении команды на управляющий компьютер. Послеполучения данных выполнение переходит во второй блок, который устанавливает текущие значения координат, уточненные с управляющего компьютера, и выполняет перемещение роботак новой точке назначения.
Основой всего программного комплекса, который используется дляудалённого управления роботами, является оболочка "RCShell"(или Remote Control Shell, далее Оболочка). Она была написана специально для этого проекта, чтобы обеспечить удобствоуправления отдельными модулями комплекса, такими как модуль видеораспознавания и модульпередачи данных на мобильных роботов. Оболочка представляет собой окно, которое предоставляет централизованный доступ к настройке и управлению модулями системы управления,например, позволяет управлять режимами работы программы видеораспознавания.
Основнаяфункциональность оболочки выражается в следующем:1. Централизованное задание параметров, относящихся к модулям системы. К таким параметрам относятся абсолютные пути к каждому из модулей и номер видеокамеры,которая будет использована при распознавании роботов (в случае, если к компьютеруподключено несколько видеокамер).2. Задание количества и физических адресов (MAC адресов) роботов, которые будут контролироваться системой.3.
Запрос и обработку координат робота, полученных с помощью модуля видеораспознавания.484. Контроль движения роботов по заданной траектории и отправку каждому из них сообщений о его текущем местоположении и дальнейшем пункте назначения.6.1.2Алгоритм распознавания объектов в помощью веб-камеры.Для распознавания мобильный роботов используется хорошо зарекомендовавший себя алгоритм CAMSHIFT [56] - Continuously Adaptive Mean Shift. Он обладает высоким быстродействием и может использоваться при работе с зашумленными изображениями [56].
Для нахождения объекта он использует цвет, однако содержит механизмы, позволяющие вести слежение дажепри наличии сходных по цвету объектов. Алгоритм имеет следующие плюсы: поиск объекта независит от фона, работает даже на входных данных плохого качества, можно вычислить ориентацию объекта, обладает высоким быстродействием, что для данной задачи особенно важно. Нотакже у алгоритма есть минусы, так, например, отслеживание бликующих объектов, и достаточная чувствительность к освещению.
Для реализации распознавания объектов на плоскости былавыбрана библиотека OpenCV. OpenCV (англ. Open Source Computer Vision Library, библиотекакомпьютерного зрения с открытым исходным кодом) - библиотека алгоритмов компьютерногозрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом.Она реализована на C/C++, также разрабатывается для Python, Ruby, Matlab и других языков [58]и может свободно использоваться в академических и коммерческих целях - распространяется вусловиях лицензии BSD. Эта библиотека была выбрана по многим причинам.
Во-первых, онас открытым кодом, то есть бесплатная. Во-вторых - поддержка всех основных платформ, какLinux, Windows и MacOS. В-третьих - библиотека включает в себя огромнейшее количество алгоритмов, в том числе и используемый в данной работе алгоритм CAMSHIFT. И в-четвертых- поддерживается захват видео с веб-камеры. В данной работе, было разработано приложение,которое имеет следующую функциональность:1.
Сервер для предоставления доступа к текущим координатам робота сторонним приложениям.2. Возможность рисовать траекторию движения робота на фоне.3. Собственно отслеживание координат объектов в области видимости камеры.6.1.3Результаты экспериментовБыли произведены эксперименты, а именно изучено влияния шага кусочно-линейной аппроксимации.
Расстояние от пола до камеры составляло 2,30 метра. Результаты представлены втаблице 6.1.49Таблица 6.1 — Результаты экспериментовШаг (в пикселях) Погрешность (в пикселях)30От 3 до 2020От 2 до 1515От 1 до 1010От 1 до 15Процент ошибочных точек65602075Таким образом, оптимальным шагом при данном положении камеры составило 15 пикселей.50ЗаключениеОсновные результаты работы заключаются в следующем.1. получены условия синхронизации и пассификации каскадных нелинейных систем с помощью метода бэкстеппинга; получена оценка вектора состояния при наличии ограниченного возмущения в системе;2.
получены условия синхронизации каскадных нелинейных систем, управляемых с помощью дискретного регулятора;3. получены условия синхронизации каскадных нелинейных систем, управляемых с помощью дискретного регулятора с возмущениями и квантизатором (статическим и динамическим);4. оптимизирована оценка ошибки вектора состояния нелинейной каскадной системы, полученная в п.
1, на основе метода инвариантных эллипсоидов.Полученные результаты проиллюстрированы на системах, описывающие движение мобильных роботов [52; 53]. Системы имеют каскадную форму, в которых роль управления играетскорость изменения угла.Кроме этого для проверки работы алгоритмов были созданы универсальная лабораторнаяустановка (см. рис.
6.1), позволяющая реализовывать не только эти, но и другие алгоритмы, атакже система дистанционного управления мобильными роботами.51Список литературы1. Полушин, И. Г. Пассивность и пассификация нелинейных систем (обзор) / И. Г. Полушин,А. Л. Фрадков, Д. Д. Хилл // Автоматика и телемеханика. — 2000. — Т. 3.