Моделирование и анализ алгоритмов отслеживания цели

advertisement
Санкт-Петербургский Государственный Университет
Математико-механический факультет
Кафедра Информатики
Моделирование и анализ алгоритмов
отслеживания цели, использующих
только расстояние до нее
Дипломная работа студента 542 группы
Соколова Павла Михайловича
Научный руководитель,
Аспирант…………………………………………………………/А. Т. Вахитов/
Рецензент,
д.ф.-м.н, профессор……………………………………………/О. Н. Граничин/
“Допустить к защите”
Заведующий кафедрой,
д.ф.-м.н. профессор……………………………………………/Н. К. Косовский/
Санкт-Петербург
2010
St. Petersburg State University
Faculty of Mathematics and Mechanics
Chair of Computer Science
Modeling and analysis of target following
algorithms based on range-only
measurements
Graduate paper of 542 group’s student
Pavel Mikhailovich Sokolov
Scientific Advisor,
Post-graduate student………………………………………………/A. T. Vakhitov/
Reviewer,
Dr. of Phys. and Math. Sci., Professor……………………………/O. N. Granichin/
“Admitted to Defense”
Head of the Chair,
Dr. of Phys. and Math. Sci., Professor………….………………/N. K. Kosovskiy/
St. Petersburg
2010
2
Оглавление
Введение .........................................................................................................................................4
1.
Цель работы ............................................................................................................................6
2. Алгоритм стохастической аппроксимации с пробным возмущением на входе в
нестационарной задаче оптимизации ..........................................................................................8
2.1.
Обзор существующих методов .........................................................................................8
2.2. Постановка задачи ................................................................................................................10
2.3. Алгоритм оценивания ..........................................................................................................12
2.4. Среднеквадратичная стабилизация оценок........................................................................13
2.5. Выбор параметров ................................................................................................................16
3. Алгоритм отслеживания цели для машиноподобных роботов, использующий лишь
расстояние до нее ........................................................................................................................19
3.1.
Обзор существующих методов .......................................................................................19
3.2. Постановка задачи ................................................................................................................21
3.3. Алгоритм управления ..........................................................................................................22
3.4. Основной результат ..............................................................................................................23
3.5. Выбор параметров ................................................................................................................27
4. Анализ двух алгоритмов ........................................................................................................29
5. Комбинированный алгоритм ..................................................................................................41
Заключение...................................................................................................................................45
Список литературы ......................................................................................................................46
3
Введение
Проблема оптимизации того или иного функционала встает во многих
практических приложениях. Иногда требуемые экстремальные значения
можно вывести аналитически, но часто приходится иметь дело с
неизвестным функционалом, имея доступ лишь к его значению в некоторых
точках, либо же к значению его градиента. Особенно распространены задачи,
в которых точка минимума функционала дрейфует, а сам функционал
изменяется с течением времени. В этой работе рассматриваются подходы для
работы как раз с такими функционалами.
Особенный интерес представляет одно из приложений таких алгоритмов
– задача трекинга объекта, покоящегося либо же движущегося в дискретном
времени.
Задачи
отслеживания
машиноподобных
неголономных1
роботов
последних
десятилетий.
протяжении
двух
цели
и
трекинга
широко
Такие
траектории
для
исследовались
на
роботы
имеют
существенные ограничения в мобильности из-за особенной природы
неголономных систем, например кручения колес без возможности движения
в боковых направлениях. Из-за недостатка управляемости их линейных
моделей, эти системы не могут быть управляемы линейными операторами.
Таким образом, для систем такого класса стали широко изучаться
нелинейные операторы.
Задача отслеживания траектории и навигации с использованием только
данных о расстоянии до цели мотивирована своими областями применения,
например, беспроводные сети, управление беспилотными подводными
устройствами, системы наблюдения и безопасности, и многими другими, где
единственная доступная информация о цели – это расстояние между ней и
преследующим роботом. Такое расстояние может получаться путем
измерений, например, времени отклика акустического сигнала от объекта
Робот называется неголономным, если он имеет больше эффективных степеней свободы, чем управляемых
степеней свободы, в данном случае, робот не имеет возможности двигаться вбок.
1
4
или силой сигнала, полученного от искомого объекта. Такой подход может
потенциально повлечь за собой существенное уменьшение сложности и
стоимости управляющего оборудования. Однако для реализации этого
требуется общий алгоритм, посредством которого преследующий робот
может быть управляемо направлен к цели основываясь лишь на расстоянии
до нее.
Как уже было сказано, такая задача может быть описана как частный
случай более общей задачи – минимизации некоторого функционала,
изменяющегося с течением времени. В данной работе будут рассмотрены два
разных подхода к решению задачи трекинга, один – в контексте глобальной
задачи, второй же разработанный непосредственно для отслеживания
траектории. Во Введении будет обрисована проблематика и актуальность
данной области. В Разделе 2 и Разделе 3 будет представлен краткий обзор
существующих алгоритмов, в соответствующих контекстах, затем будут
математически поставлены задачи, и, наконец, рассмотрены конкретные
алгоритмы с обоснованием их состоятельности, а также с исследованием их
поведения на различных входах. В Разделе 4 предлагается проекция данных
алгоритмов на одну плоскость в виде задачи трекинга траектории,
производится анализ этих алгоритмов, и получаются численные оценки
эффективности их работы в различных условиях, с добавлением разных
помех. В Разделе 5 предлагается оптимизация одного из алгоритмов с
помощью другого с целью получить более помехоустойчивый алгоритм.
Наконец, в Заключении подводится итог проделанной работы.
5
1. Цель работы
Целью работы является проведение всестороннего анализа алгоритмов
преследования цели, основанных только лишь на измерении расстояния до
нее. Для анализа и моделирования были выбраны два алгоритма: Алгоритм
стохастической аппроксимации с пробным возмущением на входе [1] и
Алгоритм отслеживания цели и трекинга траектории на основе лишь данных
о расстоянии до нее [2]. Обе статьи были представлены на международной
конференции2 в Шанхае, в декабре 2009 года.
В ходе дипломной работы перед автором были поставлены следующие
задачи:
1. Реализовать данные алгоритмы.
Для
реализации
была
выбрана
среда
Matlab,
как
наиболее
подходящая для решения подобных задач, благодаря удобным
средствам
для
разработки
алгоритмов,
а
также
гибкими
возможностям визуализации данных и их последующего анализа.
2. Придумать задачу, для которой успешно применимы оба алгоритма.
Как уже говорилось, в общем случае эти алгоритмы решают разные
задачи, поэтому необходимо было выбрать их проекцию на одну
плоскость. Такой проекцией стала задача трекинга траектории. Таким
образом, в этом случае минимизируемый функционал в РАСА
определяется функцией квадрата расстояния до заданной точки.
3. Изучить изменение поведения алгоритмов в зависимости от входных
параметров.
4. Провести серию экспериментов на предмет анализа алгоритмов.
Были выбраны несколько классов помех, при добавлении которых
необходимо было провести сравнительный анализ эффективности
алгоритмов и уровня погрешности в доставляемых ими оценках.
2
Joint 48th IEEE Conference on Decision and Control and 28 th Chinese Control Conference, December 2009
6
5. Подвести итог анализа и получить рекомендации по оптимальному
использованию каждого из алгоритмов.
6. Попытаться скомбинировать эти алгоритмы с целью получения более
помехоустойчивого решения для задачи отслеживания цели.
7
2. Алгоритм стохастической аппроксимации с пробным
возмущением на входе в нестационарной задаче
оптимизации
2.1. Обзор существующих методов
Задачи оптимизации можно рассматривать в постановках с дискретным
и непрерывным временем. Мы ограничимся рассмотрением моделей первого
типа. Пусть 𝑓(𝑥, 𝑛) – функционал, который необходимо минимизировать в
момент времени 𝑛 (𝑛 ∈ 𝑁). Существуют несколько стандартных методов
для решения подобных проблем, которые детально рассматриваются в книге
Б.Т.Поляка [3] – методы Ньютона и градиентный, которые применимы в
случае
дважды
дифференцируемого
функционала
при
условии
𝑟<
𝛻𝑥2 𝑓(𝑥, 𝑛) < 𝑅.
Оба метода возможны при условии непосредственного измерения
градиентов функционала в произвольной точке. В реальности же любые
измерения всегда подразумевают наличие помех. Устойчивость алгоритма к
помехам очень важна практически во всех инженерных приложениях. Для
решения задач в условиях помех в пятидесятые годы XX века появляются
методы
стохастической
аппроксимации
Роббинса–Монро
и
Кифера–
Вольфовица, история развития которых детально описана [3-5]. Общий
подход для поиска экстремума, используемый в алгоритмах стохастической
аппроксимации, может быть формализован следующим образом:
𝜃̂𝑛+1 = 𝜃̂𝑛 − 𝛼𝑛 𝑔̂𝑛 (𝜃̂𝑛 ),
где {𝜃̂𝑛 } – генерируемая алгоритмом последовательность оценок точки
экстремума, 𝑔𝑛 – псевдоградиент (заменяющий градиент из метода
Ньютона), который «в среднем» должен совпадать с градиентом и близок к
нулю, когда его аргумент стремится к точке экстремума. Важными
свойствами алгоритмов такого типа являются простота и рекуррентность, в
силу которых они стали активно применяться в разных областях науки и
техники.
8
Алгоритмы стохастической аппроксимации с пробным одновременным
возмущением на входе и с одним или двумя на каждой итерации
зашумленными измерениями минимизируемой функции появились в работах
различных исследователей конце 80-х, начале 90-х гг. ХХ века. В
англоязычной литературе они получили название Simultaneous Perturbation
Stochastic Approximation (SPSA). Эти алгоритмы известны состоятельностью
оценок при почти произвольных помехах наблюдения, которые должны быть
только в определенном смысле ограничены и независимы на каждой
итерации с пробным случайным возмущением на входе. Более того,
количество измерений исследуемой функции на одной итерации составляет
всего 1 или 2 и не зависит от размерности 𝑑 пространства состояний. При
этом
они
имеют
оптимальный
порядок
асимптотической
скорости
сходимости (по числу итераций), что позволяет говорить о существенном
повышении скорости сходимости в многомерном случае (𝑑 >> 1) по
сравнению с классическими алгоритмами, оценивающими градиент через
конечную разность, так как у них количество измерений на каждом шаге
прямо пропорционально 𝑑.
Алгоритмы
стохастической
аппроксимации
первоначально
обосновывались в условиях минимизации стационарных функционалов. В [3]
приведена версия алгоритма градиентного спуска для нестационарного
случая и доказана его состоятельность в некотором смысле. Дальнейшее
развитие эти идеи получили в статье [6] для более общего случая. В [4] было
предложено использовать для оптимизации нестационарных функционалов
алгоритмы типа стохастической аппроксимации с пробным одновременным
возмущением на входе, которые могли бы быть более эффективными, так как
они полагаются только на одно или два измерения на каждом шаге, а значит,
способны быстрее адаптироваться к изменениям функционала. Кроме того,
как уже отмечалось, они более устойчивы к помехам. В [7] реализация этой
идеи была четко формализована и получены предварительные точные
результаты о ее применимости.
9
2.2. Постановка задачи
В статье [1] рассматривается применение алгоритма стохастической
аппроксимации с пробным одновременным возмущением на входе для
задачи оптимизации нестационарного функционала. Пусть время является
дискретным
и
определяется
0,1, … , {𝐹(. , . , 𝑛): 𝑅 𝑑 × 𝑅𝑝 → 𝑅
номером
набор
шага
функций
от
(итерации)
двух
𝑛=
векторных
переменных, на каждом шаге n мы можем измерять значение:
𝑦𝑛 = 𝐹(𝑥𝑛 , 𝑤𝑛 , 𝑛) + 𝑣𝑛 ,
где 𝑥𝑛 – известные (выбираемые) точки, в которых производятся наблюдения
(план эксперимента), 𝑤𝑛 – независимые случайные величины, выражающие
неконтролируемую
неопределенность,
заданные
на
некотором
вероятностном пространстве Ω и имеющие одинаковое, вообще говоря,
неизвестное распределение 𝑃𝑤 (. ), 𝑣𝑛 – искажения в наблюдениях (могут быть
и неслучайные).
Рассмотрим
задачу
минимизации
нестационарного
функционала
среднего риска:
𝑓(𝑥, 𝑛) = 𝐸𝑤 𝐹(𝑥, 𝑤, 𝑛) = ∫𝑅𝑝 𝐹(𝑥, 𝑤, 𝑛)𝑃𝑤 (𝑑𝑤) → min
.
𝑥
Требуется
оценить
𝜃𝑛
–
точку
минимума
функции
𝑓(𝑥, 𝑛),
изменяющуюся с течением времени:
𝜃𝑛 = 𝑎𝑟𝑔min 𝑓(𝑥, 𝑛).
𝑥
Для
характеристики
поведения
оценок
точек
минимума
нестационарного функционала используем два определения, приведенных в
статье [1]:
ОПРЕДЕЛЕНИЕ 2.1. Последовательность оценок θ̂n точек минимума θn
стабилизируется в среднеквадратичном смысле, если существует такое C > 0,
что
2
𝐸‖𝜃̂𝑛 − 𝜃𝑛 ‖ ≤ 𝐶, ∀𝑛
где E – символ математического ожидания.
10
ОПРЕДЕЛЕНИЕ 2.2. Число 𝐿̅ называется асимптотической границей
среднеквадратичных невязок оценивания, если для последовательности
оценок {θ̂n } точек минимума θn выполняется:
1
2 2
̅̅̅̅ (𝐸‖𝜃̂𝑛 − 𝜃𝑛 ‖ ) ≤ 𝐿̅ < ∞
lim
𝑛→∞
11
2.3. Алгоритм оценивания
Пусть {∆𝑛 } – последовательность пробных одновременных возмущений,
подаваемых на вход алгоритма оценивания, является некоторой реализацией
последовательности независимых бернуллиевских случайных векторов из
𝑅𝑑 , у которых каждая компонента независимо принимает с вероятностью
значения, равные ±
1
√𝑑
1
2
.
Выберем некоторый начальный вектор 𝜃̂0 ∈ 𝑅𝑑 . Авторы [1] предлагают
оценивать последовательность точек минимума {𝜃𝑛 } последовательностью
{𝜃̂𝑛 }, определяемой алгоритмом стохастической оптимизации с пробным
одновременным возмущением на входе, который имеет следующий вид:
𝑥2𝑛 = 𝜃̂2𝑛−2 + 𝛽∆𝑛 , 𝑥2𝑛−1 = 𝜃̂2𝑛−2 − 𝛽∆𝑛
𝑦𝑛 = 𝐹(𝑥𝑛 , 𝑤𝑛 , 𝑛) + 𝑣𝑛 ,
𝛼
𝜃̂2𝑛 = 𝜃̂2𝑛−2 −
∆ (𝑦 − 𝑦2𝑛−1 ),
2𝛽 𝑛 2𝑛
𝜃̂2𝑛−1 = 𝜃̂2𝑛−2 .
{
Для обоснования среднеквадратичной стабилизации оценок алгоритма
будем считать, что
(RAND) случайные величины ∆𝑛 (рандомизация входа алгоритма) и 𝑤2𝑛 ,
𝑤2𝑛−1 не зависят между собой, а также от 𝜃̂0 , 𝑤𝑘 , 𝑘 = 1,2, … ,2𝑛 − 2, и 𝜃𝑘 , 𝑘 =
1,2, … ,2𝑛. Если 𝑣𝑘 полагаются случайной природы, то ∆𝑛 , 𝑤2𝑛 , 𝑤2𝑛−1 не
зависят от 𝑣𝑘 , 𝑘 = 1,2, … ,2𝑛.
12
2.4. Среднеквадратичная стабилизация оценок
Будем
рассматривать
задачу
о
построении
последовательности
стабилизирующихся оценок {𝜃̂𝑛 } при следующих условиях, описанных в
статье [1]:
(A) Функции 𝑓(. , 𝑛) сильно выпуклые по первому аргументу для
каждого 𝑛:
⟨∇𝑓(𝑥, 𝑛), 𝑥 − 𝜃𝑛 ⟩ ≥ 𝜇‖𝑥 − 𝜃𝑛 ‖2
(B) ∀𝑛, ∀𝑤 градиент удовлетворяет условию Липшица с константой 𝑀:
‖∇𝐹(𝑥, 𝑤, 𝑛) − ∇𝐹(𝑦, 𝑤, 𝑛)‖ ≤ 𝑀‖𝑥 − 𝑦‖
и для него выполняется
(C) локальное свойство Лебега: ∀𝑥 ∈ 𝑅𝑑 , ∀𝑛 ∃ окрестность 𝑈𝑥,𝑛 и
функция Φx (w, n): Ew Φx (w, n) < ∞ такие, что ∀𝑥 ′ ∈ 𝑈𝑥,𝑛
‖∇𝐹(𝑥, 𝑤, 𝑛)‖ ≤ Φx (w, n).
(D) Скорость дрейфа точки минимума ограничена следующими
условиями:
∀𝑛, ‖𝜃𝑛 − 𝜃𝑛−1 ‖ ≤ 𝐴, Ew |∇𝐹(𝜃𝑛 , 𝑤, 𝑛)|2 ≤ B,
𝐸𝑤1,𝑤2 |𝐹(𝑥, 𝑤1 , 𝑛) − 𝐹(𝑥, 𝑤2 , 𝑛 − 1)|2 ≤ 𝐶‖𝑥 − 𝜃𝑛−2 ‖2 + 𝐷
(E) Для помех наблюдения 𝑣𝑛 выполнены условия
|𝑣2𝑛 − 𝑣2𝑛−1 | ≤ 𝜎𝑣 ,
либо, если они представляют собой последовательность случайных
величин, то
𝐸{|𝑣2𝑛 − 𝑣2𝑛−1 |2 } ≤ 𝜎𝑣 2 .
Заметим, что последнему условию удовлетворяют детерминированные,
но ограниченные последовательности {𝑣𝑛 }.
Условие
(C)
обеспечивает
возможность
перестановки
операций
интегрирования и дифференцирования при обосновании стабилизируемости
оценок.
13
Ограничения типа (D) включают как дрейф типа случайных блужданий,
так и направленный дрейф в определенную сторону. Например, можно
рассматривать такое ограничение:
𝜃𝑛 = 𝜃𝑛−1 + 𝐴 + 𝜉𝑛 ,
где 𝜉𝑛 является ограниченной случайной величиной. Среднеквадратичная
стабилизируемость оценок алгоритма поиска минимума в условиях (D)
означает применимость его к широкому классу различных задач.
Обозначим 𝐻 = 𝐴 + 𝛼𝛽𝑀.
Для обоснования среднеквадратичной стабилизации оценок приведем
теорему, описанную и доказанную в работе [1]:
ТЕОРЕМА 2.1. Пусть выполнены условия (A)-(E) и условие о
рандомизации (RAND) и параметры алгоритма 𝛼, 𝛽 выбраны такими, что
𝐾 = 2𝛼𝜇 − 3(𝐶 + 6𝑀2 𝛽2 )
𝛼2
𝛽2
> 0.
2
Если 𝐸‖𝜃0 − 𝜃̂0 ‖ < ∞, тогда оценки алгоритма стабилизируются в
среднеквадратичном смысле.
Кроме того, ∀𝑛 и для любого параметра 𝛿 > 0, удовлетворяющего
условию
̅ = 1 − 𝐾 + 𝛿𝐻 < 1,
𝐾
справедливы оценки
2
2
̅ 2 𝐸‖𝜃0 − 𝜃̂0 ‖ +
𝐸‖𝜃𝑛 − 𝜃̂𝑛 ‖ ≤ 𝐾
̅𝑛)
(𝐿+𝐻/𝛿)(1−𝐾
,
̅
1−𝐾
где 𝐿 = 𝐴2 (8 + 45𝛼 2 𝑀2 ) + 18𝛼 2 (𝑀2 𝛽2 + 𝐵) +
𝛼2
𝛽2
(3𝐷 + 𝜎𝑣 2 ).
Заметим, что, в частности, в Теореме 2.1 устанавливается
асимптотическая граница среднеквадратичных невязок оценивания
𝐿̅ = √
𝐿 + 𝐻/𝛿
.
𝐾 − 𝛿𝐻
14
Эту формулу для границы 𝐿̅ можно минимизировать по 𝛿. В результате
получается
√𝐻2 + 𝐾𝐿 − 𝐻 ∗ √𝐻2 + 𝐾𝐿 + 𝐻
𝛿 =
, 𝐿̅ =
.
𝐿
𝐾
Условия (A)-(C), (E), (RAND) являются стандартными для
∗
доказательства состоятельности оценок алгоритмов стохастической
аппроксимации с возмущением на входе.
Доказательство данной Теоремы 2.1 приведено в приложении к статье
[1], здесь же мы приводить его не будем.
15
2.5. Выбор параметров
Рассмотрим
практическое
приложение
алгоритма
стохастической
аппроксимации с пробным возмущением на входе для решения задачи
минимизации нестационарного функционала. Пусть требуется оценить
координаты движущейся точки в многомерном пространстве, когда
единственная доступная информация на каждом шаге – это расстояние до
нее, измеряемой с помехой. В силу Теоремы 2.1 оценки алгоритма будут
стабилизироваться вдоль траектории движения при условии ограниченности
нормы дрейфа экстремума.
Рассмотрим двумерный случай, когда модель дрейфа является участком
окружности:
(𝑥𝑖 , 𝑦𝑖 ) = (𝑥𝑖−1 + 𝑣 cos(−0.01𝑖) , 𝑦𝑖−1 + 𝑣 sin( −0.01𝑖)).
Можно
рассмотреть семейство функций 𝐹(𝑥, 𝑤, 𝑛) = 𝑓(𝑥, 𝑛) = ‖𝑥 − 𝜃𝑛 ‖2 , которые
определяют квадрат расстояния до искомой точки. Эти функции удовлетворяют
условиям Теоремы 2.1. Выберем управляющие параметры алгоритма: 𝛼 = 0.3,
𝛽 = 2.5, 𝑣 = 0.15. Добавим помеху: 𝑦𝑛 = 𝑓(𝑥𝑛 , 𝑛) + 𝑣𝑛 , где помехи 𝑣𝑛 =
100 sin 𝑛. Еще один важный параметр алгоритма – число экспериментов.
Алгоритм независимо запускается определенное число раз, затем производится
усреднение по числу запусков, в результате повышается точность измерений. В
наших примерах мы будем использовать 5 запусков алгоритма.
Ниже приведен график ошибки оценивания:
16
Как видно, оценки некачественны, норма ошибки «скачет». Теперь
попробуем запустить алгоритм с несколько другими параметрами: 𝛼 = 0.05,
𝛽 = 2.5. Ниже приведен график ошибки оценивания:
Теперь нормы ошибок не превосходят 1, что является приемлемым
результатом. Это видно и на графике траектории движения:
17
Необходимо отметить, что путем выбора параметров РАСА можно влиять
на точность, калибровать параметры для получения более точного результата.
Для каждого типа помехи существует своя оптимальная пара (𝛼, 𝛽),
обеспечивающая наилучшую точность. Опытным путем было проверено, что
для достижения наивысшей точности оценивания, большим помехам должно
соответствовать меньшее 𝛼, и наоборот. Таким образом, в каждом конкретном
случае, с любой помехой, имеет место так называемая калибровка параметров,
для любой помехи и любой траектории можно подобрать такую пару
управляющих параметров (𝛼, 𝛽), при которой достигается наивысшая точность
оценивания точки минимума дрейфующего функционала. Вероятно, возможен
строгий вывод связи между 𝛼 и 𝛽 в зависимости от величины помехи и явное
получение эффективных параметров для каждого случая, но оставим этот
вопрос на откуп авторам алгоритма.
Приведем еще один пример выбора параметров. Возьмем нормально
распределенную помеху, принимающую значения от -3 до 3 (𝑣𝑖 = 𝑟𝑎𝑛𝑑𝑛 в
синтаксисе Matlab), с большим коэффициентом, 𝑠𝑐𝑎𝑙𝑒 = 1000:
На левом рисунке изображен график нормы ошибки оценивания при
использовании следующих параметров алгоритма: 𝛼 = 0.3, 𝛽 = 1. Видно, что
при такой помехе эти параметры не годятся, поэтому путем подбора мы
получили следующую пару: 𝛼 = 0.03, 𝛽 = 10. Результат стал гораздо лучше,
норма ошибки держится на уровне 1, что является приемлемым результатом.
18
3. Алгоритм отслеживания цели для машиноподобных
роботов, использующий лишь расстояние до нее
3.1. Обзор существующих методов
В литературе встречаются множество разных сложных подходов к
задаче отслеживания цели и трекинга траектории колесных роботов.
Существует
стратегия
регулирования
машиноподобного
робота,
использующая метод удаляющегося горизонта [8]. В работе Янга и Кима [9]
предлагалось управление со скользящим режимом для задачи трекинга
траектории неголономного мобильного робота. Схема управления в таком
подходе основана на вычислении крутящего момента в сочетании с
линеаризацией модели системы обратной связью. Всеобъемлющие краткое
изложение существующих подходов и алгоритмов для планирования
движения и управления колесными роботами представлено в работе Диксона,
Доусона и др. [10].
Среди всех остальных подходов, управление со скользящим режимом
для машиноподобного робота, вследствие быстрого отклика, хорошего
переходного поведения и робастности против неопределенностей системы,
получало все возрастающее внимание исследователей. Суть управления со
скользящим режимом заключается в том, что траектория движения
неизвестна заранее, она скользит вдоль ограничений управляющих структур,
однажды попав на поверхность скольжения. Такое движение называется
скользящим, а геометрическое место точек траектории – поверхность
скольжения. Управляющие структуры в таких системах могут быть очень
простыми, например они могут лишь определять двигаться вперед или назад.
Поэтому главные свойства таких систем – робастность3, а также конечное
время достижения поверхности скольжения. В статье [11] был предложен
основанный на модели оператор со скользящим режимом для трекинга
траектории подводного робота. Подход для стабилизации неголономных
Робастность означает малое изменение выхода замкнутой системы управления при малом изменении
параметров объекта управления.
3
19
систем в терминах управления со скользящим режимом был предложен
Блоком и Дракуновым [12]. Метод управления со скользящим режимом
прокладывания пути для автономных транспортных средств описывается в
работе Солеа и Нунеса [13].
Необходимо отметить, что большинство существующих подходов к
трекингу
траектории
предполагают,
что
для
алгоритмов
навигации
управления доступны одновременно и угол линии прямой видимости цели, и
относительное расстояние до цели. Существует довольно много работ в
исследовании навигационных алгоритмов, основанных только на измерении
углов направления от объекта до цели. Напротив, опубликовано считанное
число результатов в задаче навигации и управления к неизвестной цели с
использованием измерения только лишь расстояния до нее.
20
3.2. Постановка задачи
В статье [2] рассматриваются два плоских мобильных робота,
представляющиее
из
себя
одноколесные
велосипеды.
Они
ездят
с
изменяющимися с течением времени скоростями и радиусами поворота,
ограниченными известными константами. Линейное ускорение также
ограничено подобным образом. Один из роботов, назовем его робот 1,
выполняет роль цели, задача же второго следовать за целью на заданном
расстоянии 𝑑0 . В отличие от многих работ в данной области, в данном случае
преследователь (робот 2) имеет доступ только лишь к текущему расстоянию
𝑑(𝑡) до робота 1 и к производной расстояния 𝑑̇ (𝑡). Ему также известны
верхние границы скорости, ускорения и радиуса поворота робота 1. В то же
время, он не имеет доступа к настоящим значениям этих переменных и он не
знает, по какому управляющему правилу движется робот 1.
Кинематическая модель 𝑖-ого робота (𝑖 = 1,2) выглядит следующим
образом:
𝑥̇ 𝑖 = 𝑣𝑖 cos 𝜃𝑖 , 𝑣𝑖 ∈ [0, 𝑣̅𝑖 ],
{ 𝑦̇ 𝑖 = 𝑣𝑖 sin 𝜃𝑖 , |𝑣̇ 𝑖 | ≤ 𝑎𝑖
𝜃̇𝑖 = 𝑢𝑖 ∈ [−𝑢̅𝑖 , 𝑢̅𝑖 ].
(3.1)
Здесь 𝑐𝑜𝑙(𝑥𝑖 , 𝑦𝑖 ) – вектор декартовых координат соответствующего робота,
𝜃𝑖 – его направление, 𝑣𝑖 и 𝑢𝑖 – скорость и угловая скорость соответственно.
Верхние границы 𝑣̅𝑖 , 𝑢̅𝑖 и 𝑎𝑖 даны.
В приведенной статье излагается следующая задача. По данным
роботам, найти такой оператор, который асимптотически приведет робота 2
на требуемое расстояние 𝑑0 (𝑑(𝑡) →
𝑡→∞
𝑑0 ) к роботу 1, независимо от
характера движения последнего, то есть функций 𝑥1 (. ), 𝑦1 (. ), 𝑣1 (. ) и 𝑢1 (. ),
удовлетворяющих уравнению движения (3.1).
21
3.3. Алгоритм управления
В работе [2] описывается следующий управляющий алгоритм для
преследователя (робот 2):
𝑣2 (𝑡) ≡ 𝑣̅2 ,
𝑢2 (𝑡) = 𝑢̅2 𝑠𝑖𝑔𝑛{𝑑̇ (𝑡) + 𝜒[𝑑(𝑡) − 𝑑0 ]},
(3.2)
где
𝛾𝑟,
если |𝑟| ≤ 𝛿
если 𝑟 > 𝛿
𝜒(𝑟) = {𝑣∗ ∶= 𝛾𝛿,
−𝑣∗ ,
если 𝑟 < −𝛿
а 𝛾, 𝛿 – управляющие параметры. Также необходимо принять следующее
допущение,
которое
предполагает,
что
преследующий
робот
более
маневренный, чем робот-цель.
ПРЕДПОЛОЖЕНИЕ 3.1. Выполнены следующие неравенства: 𝑢̅2 > 𝑢̅1 и 𝑣̅2 >
𝑎
𝑣̅1 + ̅1 .
𝑢2
22
3.4. Основной результат
Для начала предлагается ввести следующую константу, которая зависит
от верхних границ скоростей 𝑣̅1 , 𝑣̅2 из (3.1) и параметра 𝑣∗ и используется
при условии, что 𝑣∗ + 𝑣̅1 < 𝑣̅2 :
(𝑣̅22 − 𝑣∗2 − 𝑣̅12 ) − √[𝑣̅22 − (𝑣̅1 + 𝑣∗ )2 ][𝑣̅22 − (𝑣̅1 − 𝑣∗ )2 ]
𝜔=√
.
(𝑣̅22 + 𝑣∗2 − 𝑣̅12 ) − √[𝑣̅22 − (𝑣̅1 + 𝑣∗ )2 ][𝑣̅22 − (𝑣̅1 − 𝑣∗ )2 ]
Чтобы достигнуть цели управления, необходимо сделать еще одно
предположение.
ПРЕДПОЛОЖЕНИЕ 3.2. Начальная и требуемая дистанции между роботами
достаточно велики:
𝑑0 > 𝑅2
𝑑(0) > 𝑅2 [3 + 3𝜋
𝑢̅2
(𝜔 + 1)2 𝜆,
𝑢̅2 − 𝑢̅1
𝑣̅1
𝑢̅2
(𝜔 + 1)2 𝜆]
+
𝑣̅2 − 𝑣̅1 𝑢̅2 − 𝑢̅1
𝑣̅
где 𝑅2 ∶= ̅2 – минимальный радиус поворота робота 2, а 𝜆 ≥ 1 – расчетный
𝑢2
параметр, такой, что 𝑢̅1 = 0 ⟹ 𝜆 > 1.
Теперь можно сформулировать основной результат, описанный в работе
[2].
ТЕОРЕМА 3.1. Допустим, что предположения 1 и 2 выполнены, а параметры
𝛾 > 0 и 𝑣∗ = 𝛾𝛿 > 0 управляющего оператора (3.2) выбраны так, что
вместе с параметром 𝜆 из Предположения 3.2 они удовлетворяют
следующему неравенству:
[𝑎1 + 𝛾(𝑣̅1 + 𝑣̅2 )]2
+ 𝑣∗2 < (𝑣̅2 − 𝑣̅1 )2 .
−1
2
[𝑢̅2 − 𝜆 (𝑢̅2 − 𝑢̅1 )]
Тогда управляющий оператор (3.2) асимптотически направляет робота 2 на
требуемое расстояние к роботу 1, то есть 𝑑(𝑡) →
𝑡→∞
𝑑0 . Это верно
независимо от характера движения робота 1.
Доказательство Теоремы приведено в приложении к статье [2].
23
Следующее дополнение к Теореме 3.1 проливает свет на особенности
относительного движения роботов, показывая, что преследующий робот в
конечном итоге движется по кругу вокруг цели, с угловой скоростью,
превышающей определенный нижний порог. Чтобы строго обосновать это,
введем
движущуюся
нормально-ориентированную
декартову
систему
координат, центрированную по характеристической точке цели (робот 1).
Оси системы сохраняют свои направления неизменными. Пусть 𝑑 и 𝜓
являются полярными координатами преследующего робота (робот 2) в такой
системе. Иначе
говоря,
𝑑
это
расстояние между роботами, а
𝜓
алгебраический угол между осью абсцисс и вектором от цели к
преследователю.
ПРЕДЛОЖЕНИЕ 3.1. Предположим, что условия Теоремы 3.1 выполнены.
Тогда независимо от характера движения робота 1, выполняется одно из
двух:
lim 𝜓̇(𝑡) ≥
𝑡→∞
𝑣̅2 − 𝑣̅1
>0
𝑑0
или
lim 𝜓̇(𝑡) ≤ −
𝑡→∞
𝑣̅2 − 𝑣̅1
< 0.
𝑑0
КОММЕНТАРИЙ 3.1:
1) Из Теоремы 3.1 и Предложения 3.1 следует, что в выбранной
полярной системе координат, центрированной в положении роботацели, робот-преследователь асимптотически движется вокруг точки
начала координат на искомом расстоянии 𝑑0 со скоростью 𝑣2 ≥ 𝑣̅2 −
𝑣̅1 > 0. Если цель покоится (𝑣2 ≡ 0), эта система координат также не
движется, а преследователь асимптотически вращается со скоростью
𝑣̅2 по кругу радиуса 𝑑0 с центром в точке положения цели.
2) Алгоритм управления (3.2) демонстрирует движение со скольжением
для робота 2.
24
3) Легко показать, что число 𝜔 растет с ростом 𝑣∗ . Так, уменьшение 𝑣∗
улучшает нижнюю оценку 𝑑(0) в области притяжения, тогда как
условие устойчивости (неравенство из Теоремы 3.1) не ограничивает
𝑣∗ снизу. В то же время, уменьшение 𝑣∗ может пагубно сказываться
на качестве переходного процесса.
4) Учитывая предыдущее замечание, величина (𝜔 + 1)2 𝜆 растет с
ростом 𝑣∗ и 𝜆. Принимая во внимание неравенство из Теоремы 3.1,
это означает, что чем больше начальное и требуемое расстояния, тем
больше свободы в выборе управляющих параметров.
5) Случай покоящейся цели. Рассматривая Теорему 3.1 и Предложение
3.1 с точки зрения неподвижной цели, мы получим следующее:
СЛЕДСТВИЕ 3.1. Пусть цель покоится, 𝑣̅1 = 0, 𝑢̅1 = 0, 𝑎1 = 0 и
𝑑(0) > [𝜆 + 3]𝑅2 ,
𝑑0 > 𝜆𝑅2 ,
Предположим
также,
что
параметры
где 𝜆 > 1.
𝛾>0
и
𝑣∗ = 𝛿𝛾 > 0
управляющего оператора (3.2) удовлетворяют неравенству:
𝑅22
𝛾 2 + 𝑣∗2 < 𝑣̅22 .
−1
2
(1 − 𝜆 )
Тогда управляющий оператор (3.2) направляет робота 2 на требуемое
расстояние к роботу 1, то есть 𝑑(𝑡) →
𝑡→∞
𝑑0 . Асимптотически,
преследователь описывает окружности вокруг цели на требуемом
расстоянии 𝑑0 таким образом, что вектор от цели к преследователю
крутится с угловой скоростью 𝑤(𝑡) →
𝑡→∞
𝑤∞ , где |𝑤∞ | = 𝑑0−1 𝑣̅2 .
КОММЕНТАРИЙ 3.2:
1) Оператор такого сорта (3.2) не может обеспечивать глобальную
сходимость 𝑑 → 𝑑0 даже для покоящейся цели. Для любых
управляющих параметров существует непустое множество в фазовом
пространстве, такое, что когда бы робот 2 не вошел в него,
впоследствии он движется с постоянной угловой скоростью 𝑢2 ≡ ±𝑢̅2
по окружности радиуса 𝑅2 . Тогда расстояние 𝑑 колеблется и не
25
сходится к 𝑑0 . Именно поэтому неизбежны требования к начальному
и искомому расстояниям между роботами (Предположение 3.2).
2) В случае покоящейся цели можно выполнить комплексный анализ
поведения, демонстрируемого управляющим алгоритмом (3.2), для
любых значений параметров. Можно показать, что, как только
параметр 𝑣∗ превышает определенный порог, вышеуказанная область
несходимости 𝑑 → 𝑑0 становится бесконечной: всякий раз, когда
роботы изначально далеки друг от друга, сходимость все равно не
выполняется. Если же 𝑣∗ превышает другой, еще больший порог,
сходимость не выполняется для почти всех начальных состояний. В
свете этих фактов, фиксирование верхних границ для управляющих
параметров ключевым условием (неравенство из Теоремы 3.1)
выглядит оправданным.
26
3.5. Выбор параметров
Для
демонстрации
влияния
параметров
на
работу
алгоритма,
рассмотрим вариант с преследованием покоящейся цели. Зададим начальные
положения роботов, а также верхние границы их линейных и угловых
скоростей:
𝑥2 (0) = 0,
𝑥1 (0) = −12,
𝑦2 (0) = 0,
𝑦1 (0) = 0,
𝜃2 (0) = 0,
𝜃1 (0) = 𝜋,
𝑣2 = 0.5,
𝑣1 = 0,
𝑢̅2 = 0.3
𝑢̅1 = 0
Зададим требуемое расстояние, 𝑑0 = 2, а также выберем управляющие
параметры 𝑣∗ = 0.25, 𝛿 = 0.83 и 𝛾 = 0.3, которые удовлетворяют условию
Теоремы 3.1. Применив данный алгоритм с заданными параметрами, мы
получим, что преследующий робот приближается к неподвижной цели и
описывает вокруг нее окружности, таким образом, что 𝑑(𝑡) →
𝑡→∞
𝑑0 .
Геометрия движения робота до того момента, как он попадет на орбиту цели,
называется логарифмической спиралью:
Теперь попробуем запустить алгоритм с другими параметрами.
Начальные положения, верхние границы линейных и угловых скоростей
27
оставим прежними. Изменим лишь управляющие параметры (𝑣∗ = 0.45, 𝛿 =
0.83 и 𝛾 = 0.54):
Видно, что если 𝑣∗ → (𝑣2 − 𝑣1 ), то спираль стремится к прямой линии,
которая является оптимальной траекторией. Отметим, что выбор параметров
здесь влияет лишь на скорость достижения цели, а не на точность, как в
алгоритме стохастической аппроксимации. В то же время достигается
робастность системы от выбора управляющих параметров – какими бы мы ни
выбирали параметры, если они будут удовлетворять Предположениям и
Теореме 3.1, управляющий алгоритм непременно приведет траекторию в
область скольжения.
28
4. Анализ двух алгоритмов
В данном разделе мы будем анализировать результаты моделирования
работы обоих алгоритмов на одинаковых задачах. Мы возьмем конкретную
траекторию
дрейфа
точки
минимума
в
случае
рандомизированного
алгоритма стохастической аппроксимации и такую же траекторию движения
робота-цели в алгоритме отслеживания цели для машиноподобного робота.
Затем добавим разнообразные помехи для того, чтобы понять, как алгоритмы
справляются с ними. Теоретические выкладки обещают, что алгоритм
стохастической аппроксимации лучше справится с помехами и даст более
точные оценки. Наша задача – проверить это на конкретных примерах.
Пусть искомая точка дрейфует по участку окружности:
𝑥𝑖 = 𝑥𝑖−1 + 𝑣1 cos 𝜃𝑖 ,
𝑦𝑖 = 𝑦𝑖−1 + 𝑣1 sin 𝜃𝑖 ,
𝜃𝑖 = 𝜃𝑖−1 − 0.01,
Выберем следующие управляющие параметры:
 число запусков РАСА по-прежнему будет 5, 𝛼 = 0.3, 𝛽 = 1
 количество шагов обоих алгоритмов – 500.
 параметры алгоритма трекинга останутся равными 𝑣∗ = 0.25, 𝛿 =
0.83, 𝛾 = 0.3, 𝑑0 = 0.08.
 верхние границы скоростей также оставим без изменений: 𝑢̅2 =
0.3, 𝑢̅1 = 0.2, 𝑣2 = 0.5, 𝑣1 = 0.15.
 алгоритмы начинаю свою работу в точке (−20, −10), цель же
начинает дрейф в точке (−12,0).
Для начала рассмотрим случай без помех в измерениях. Так выглядит
результат
плоскости
моделирования
изображает
стохастической
работы
РАСА.
траекторию,
аппроксимации,
Ломаная
на
координатной
доставляемую
алгоритмом
спиралевидная
же
линия
траекторией движения робота-преследователя в алгоритме трекинга:
29
является
На этом рисунке траектория, генерируемая РАСА, сливается с
траекторией цели из-за характера работы алгоритма и масштаба – алгоритм
отслеживает цель фактически по ее следу, в то время как роботпреследователь из алгоритма трекинга имеет спиралевидную траекторию
движения, отсюда и видимые петли вокруг цели.
Графики ошибок оценивания, РАСА и алгоритма трекинга:
Как видно из графиков, РАСА гораздо быстрее получает приемлемые
оценки, но дает немного худшую точность (0.1 против 0.02). Алгоритм
30
трекинга же дал очень хорошие результаты, показав близкие к нулю ошибки
оценивания. Заметим, что если откалибровать управляющие параметры
РАСА на (𝛼 = 1, 𝛽 = 0.01), то можно добиться также почти нулевой
погрешности РАСА, и алгоритмы будут доставлять одинаковые оценки.
Оценки, доставляемые алгоритмом стохастической аппроксимации, в
данном примере качественны уже начиная с 30-40 шага (ошибки оценивания
сильно меньше 1). Оценки же алгоритма трекинга траектории в данных
условиях стабилизируются только к 200 шагу. Как говорилось в Разделе 3.5,
путем иного выбора управляющих параметров, можно добиться более
быстрого достижения приемлемых оценок, но все равно они будут
колебаться в районе 100-го шага. Стоит отметить, что выбор управляющих
параметров ограничен условиями сходимости алгоритма, о чем подробнее
написано в комментариях к Теореме 3.1, поэтому более быстрой сходимости
достичь не удастся – алгоритм расходится.
Теперь будем добавлять различные помехи. Начнем с помехи
неслучайного характера: 𝑣2𝑖 = 1 − (𝑖 𝑚𝑜𝑑 3) для четных шагов и 𝑣2𝑖−1 = 1 −
(𝑖 𝑚𝑜𝑑 7)/3 для нечетных. Возьмем три случая – приведенный, и случай,
когда помеха умножается на некий множитель (𝑠𝑐𝑎𝑙𝑒 = 10, 100). Графики
траекторий приводить не будем ввиду их схожести со случаем без помех.
Поэтому будем рассматривать только графики ошибок оценивания.
Алгоритмы РАСА и трекинга, неслучайная помеха, 𝑠𝑐𝑎𝑙𝑒 = 1:
31
Опять же мы видим более быструю сходимость РАСА, в совокупности
уже c более лучшей точностью – порядок ошибки остался практически без
изменений для РАСА, и существенно вырос для алгоритма трекинга.
Теперь
рассмотрим
случай,
когда
помеха
взята
с
весовым
коэффициентом, 𝑠𝑐𝑎𝑙𝑒 = 10.
Алгоритмы РАСА и трекинга, неслучайная помеха, 𝑠𝑐𝑎𝑙𝑒 = 10:
На этот раз точность РАСА ухудшилась незначительно, в то время как
алгоритм трекинга начал сильно портить оценки (высокая интенсивность
графика). В свете этого факта интересно посмотреть на траекторию,
получаемую вторым алгоритмом, так как график оценок сильно колеблется.
Траектория движения алгоритма трекинга, 𝑠𝑐𝑎𝑙𝑒 = 1:
32
Видно, что траектория получается очень «рваной», отчетливо видны
петли, описываемые роботом-преследователем вокруг цели (отсюда и такая
интенсивность графика). В целом, можно сказать, что с данной помехой
алгоритмы справились хорошо.
Для интереса попробуем еще увеличить плечо помехи: 𝑠𝑐𝑎𝑙𝑒 = 100.
Вместе с этим, для РАСА необходимо изменить управляющие параметры:
теперь 𝛼 = 0.15, 𝛽 = 1.5. Получается следующая картинка:
Нормы ошибок оценивания алгоритма трекинга слишком велики,
поэтому в дальнейшем не будем рассматривать такой коэффициент в
помехах – и так ясно, что с весами подобного рода алгоритм не справляется.
Ошибки же РАСА подросли незначительно (порядка 0.2).
Теперь возьмем равномерно распределенную помеху: 𝑣𝑖 = 𝑟𝑎𝑛𝑑.
Алгоритмы РАСА и трекинга, равномерная помеха, 𝑠𝑐𝑎𝑙𝑒 = 1:
33
Алгоритмы РАСА и трекинга, равномерная помеха, 𝑠𝑐𝑎𝑙𝑒 = 10:
Мы видим, что в первом случае алгоритмы опять же дают более-менее
сходные результаты (усредненное значение ошибки второго алгоритма
примерно равно 0.1). Но в случае 𝑠𝑐𝑎𝑙𝑒 = 10 наблюдается резкое увеличение
ошибки для алгоритма преследования цели, что говорит о сильных
колебаниях петлей траектории. Примечательно, что оценки, доставляемые
алгоритмом стохастической аппроксимации, портятся очень незначительно.
В свете этого факта, интересно взглянуть на траекторию движения
робота во втором алгоритме для случая 𝑠𝑐𝑎𝑙𝑒 = 10:
34
Как и было верно предположено из графика ошибки, петли сильно
искажены, появляются лишние витки вдали от цели, траектория практически
«разрушена».
Теперь протестируем следующую, нормально распределенную на
отрезке длинной равной количеству шагов, помеху. В синтаксисе Matlab она
принимает значения от −3 до 3 и описывается следующим образом: 𝑣𝑖 =
𝑟𝑎𝑛𝑑𝑛.
Алгоритмы РАСА и трекинга, нормальная помеха, 𝑠𝑐𝑎𝑙𝑒 = 1:
Алгоритмы РАСА и трекинга, нормальная помеха, 𝑠𝑐𝑎𝑙𝑒 = 10:
Опять же, как и в случае с нормально распределенной помехой, мы
наблюдаем более-менее достойные результаты алгоритма трекинга в первом
случае, так как ошибка стабильно не превосходит 1. Зато в случае 𝑠𝑐𝑎𝑙𝑒 = 10
наблюдается резкое ухудшение оценок второго алгоритма, еще более
35
сильное, чем при равномерной помехе с тем же множителем. Ошибки же
оценивания РАСА по-прежнему малы.
Взглянем на траекторию преследования цели алгоритма трекинга:
На этой помехе алгоритм практически разошелся, оценки, доставляемые
алгоритмом, некачественны и носят почти случайный характер. Таким
образом, алгоритм отслеживания цели, использующий только информацию о
расстоянии до нее, оказался устойчив лишь к небольшим помехам, при
добавлении более сильных помех алгоритм стремительно теряет в качестве, и
ошибки оценивания растут высокими темпами. Стоит отметить, что это
неудивительно, так как алгоритм стохастической аппроксимации с пробным
одновременным возмущением на входе и 1-2 измерениями на итерации
специально ориентирован на нивелирование помех в своих оценках, в то
время как в алгоритме трекинга такой задачи не стояло. Поэтому очень
интересно было протестировать на реальных
справляются с одними и теми же классами помех.
36
примерах, как же они
Все тесты проводились с одинаковыми параметрами: 𝛼 = 0.3 и 𝛽 = 1
для РАСА и 𝑣1 = 0.15, 𝑣2 = 0.5, 𝑢̅1 = 0.2, 𝑢̅2 = 0.3 для алгоритма трекинга.
Необходимо отметить, что если перебор параметров алгоритма трекинга
влияет только на скорость сходимости, то путем выбора параметров для
РАСА можно влиять на точность, калибровать параметры для получения
более точного результата. Для каждого типа помехи существует своя
оптимальная пара (𝛼, 𝛽), обеспечивающая наилучшую точность. Подробнее
выбор параметров описан в Разделе 2.5.
Теперь рассмотрим последний случай, в котором помеха генерируется
по закону синуса: 𝑣𝑖 = 𝑠𝑐𝑎𝑙𝑒 sin 𝑖.
Алгоритмы РАСА и трекинга, синусоидальная помеха, 𝑠𝑐𝑎𝑙𝑒 = 1:
Алгоритмы РАСА и трекинга, синусоидальная помеха, 𝑠𝑐𝑎𝑙𝑒 = 10:
37
Опять мы видим знакомую ситуацию – ошибка оценивания РАСА в
случае 𝑠𝑐𝑎𝑙𝑒 = 1 держится на уровне чуть выше 0.1, в то время как ошибки
алгоритма трекинга колеблются в районе 0.25.
В случае 𝑠𝑐𝑎𝑙𝑒 = 10, как и во всех предыдущих экспериментах, когда
алгоритм трекинга становился близок к расхождению, появляются сильные
колебания в графике ошибок оценивания, что мы и видим на данных
рисунках.
Ниже приведена траектория преследования цели алгоритмом трекинга:
Как легко заметить, данный график с большой натяжкой можно назвать
траекторией
отслеживания
цели.
Данный
алгоритм
не
выдержал
синусоидальной помехи с коэффициентом 𝑠𝑐𝑎𝑙𝑒 = 10.
Подводя итог анализу данных алгоритмов, необходимо сделать
следующие выводы:
Во-первых,
эксперименты
показали,
что
алгоритм
трекинга
со
скользящим режимом дает более точные оценки в случае отсутствия помех, а
при некоторых классах помех и небольших коэффициентах дает сходные с
38
РАСА оценки. С другой стороны, РАСА отлично работает и абсолютно
устойчив к помехам практически произвольной природы, достаточно, чтобы
они были ограничены в некотором смысле. Как видно из примеров, РАСА
справляется даже с большими весовыми коэффициентами помех, путем
специального выбора управляющих параметров (Раздел 2.5). Ошибки
оценивания растут очень незначительно, а сам алгоритм практически не
теряет в скорости сходимости. Алгоритм трекинга же при наличии даже
небольших
помех
(за
исключением
некоторых
случаев)
начинает
расходиться, а при добавлении весовых коэффициентов (случаи со 𝑠𝑐𝑎𝑙𝑒 =
10) к помехам фактически разваливается.
Во-вторых, необходимо уделить некоторое внимание времени работы
алгоритмов. Несмотря на то, что алгоритм трекинга из-за гладкости
траектории сходится медленнее, чем РАСА, в целом он работает
существенно быстрее из-за меньшего количества вычислительных операций
на каждом шаге. С другой стороны, РАСА гораздо быстрее достигает цели
(это хорошо продемонстрировано на самом первом рисунке, где изображены
одновременно траектории обоих алгоритмов), это может быть очень полезно
в определенных задачах, например, в стационарном случае. Быстрота
сходимости второго же алгоритма ограничена условиями на линейные и
угловые скорости роботов.
В-третьих, можно сделать вывод, что алгоритм стохастической
аппроксимации с пробным возмущением на входе и 1-2 измерениями на
итерации следует использовать в задачах, где отсутствует гладкое движение
и присутствуют помехи, так как он хорошо нивелирует их влияние на
итоговые
оценки.
Напротив,
алгоритм
отслеживания
цели
хорошо
зарекомендовал себя в ситуациях без помех, либо же в случаях наличия
очень незначительных помех. Также он применим для непосредственной
навигации роботов.
В-четвертых, нельзя не упомянуть, что, в общем случае, РАСА
ориентирован на более широкий круг задач – ведь функционалы, которые
39
надо минимизировать, вообще говоря, не обязательно являются функциями
расстояния между точками. В частности, можно применить данный алгоритм
для управления загрузкой узлов распределенной вычислительной системы,
где помехами являются сторонние задачи, а минимизируемый функционал
является функцией распределения задач по узлам и минимизируется по
времени выполнения.
В-пятых, заметим, что робот-преследователь из алгоритма трекинга
описывает вдоль траектории цели окружности радиусом 𝑑0 . Поэтому
алгоритм трекинга со скользящим режимом успешно применяется в
аэронавигационных
задачах,
например,
летательными объектами.
40
в
управлении
беспилотными
5. Комбинированный алгоритм
Анализируя выводы предыдущего раздела, заметим, что единственный
серьезный недостаток алгоритма трекинга – это его слабая, почти нулевая
помехоустойчивость. Попробуем оптимизировать его с целью достичь
необходимой помехоустойчивости.
Для этого поступим следующим образом. Известно, что алгоритм
трекинга со скользящим режимом использует в качестве информации для
навигации робота-преследователя только расстояние до целевого робота. Что
делать, если такое расстояние измеряется с ошибкой?
В данной работе предлагается следующее решение: использовать вместо
данного расстояния информацию, полученную от рандомизированного
алгоритма стохастической аппроксимации. Таким образом, новое расстояние
будет получаться как 𝑑𝑛 = ‖𝑥2,𝑛 − 𝜃̂𝑛 ‖, где 𝑥2,𝑛 – текущее местоположение
робота-преследователя, а 𝜃̂𝑛 – очередная оценка, доставленная алгоритмом
стохастической аппроксимации. Надо отметить, что примеров такого
симбиоза алгоритмов много – очень часто требуется калибровка параметров
в процессе работы основного алгоритма. Роль калибровщика выполняет
РАСА, нивелируя почти произвольные помехи.
Таким образом, алгоритм трекинга со скользящим управлением
приобретает важное свойство – помехоустойчивость от РАСА, не теряя при
этом остальных своих качеств.
Продемонстрируем данный факт результатами путем моделирования
работы такого комбинированного алгоритма.
Для начала приведем результат работы алгоритма трекинга в случае,
когда нет помех в измерениях расстояния, а само расстояние измеряется
обычным образом. Затем покажем траекторию, доставляемую тем же
алгоритмом, но с равномерно распределенной помехой. Наконец, мы
приведем результат работы комбинированного алгоритма и сравним уровни
ошибок оценивания.
41
Случай без помех, обычный алгоритм трекинга:
Равномерно распределенная взвешенная помеха, обычный алгоритм
трекинга:
42
Комбинированный алгоритм, та же помеха:
Исходя из графиков, можно предположить, что новый подход отлично
справился с задачей нивелирования помех. Продемонстрируем данный факт
количественными оценками ошибок.
Обычный (слева) и комбинированный (справа) алгоритмы:
Мы добились того, чего хотели – уровень ошибки существенно
снизился, получившийся алгоритм приобрел помехоустойчивость РАСА.
43
Как говорилось, задача отслеживания траектории и навигации с
использованием только данных о расстоянии до цели возникает во все
возрастающем количестве практических приложений – например, в области
беспроводных сетей, управлении беспилотными подводными устройствами,
системах наблюдения и безопасности, и во многих других, где единственная
доступная информация о цели – это расстояние между ней и преследующим
роботом. Такое расстояние может получаться путем измерений, например,
времени отклика акустического сигнала от объекта или силой сигнала,
полученного от искомого объекта. Такой подход может потенциально
повлечь за собой существенное уменьшение сложности и стоимости
управляющего оборудования. Однако в реальном мире измерения всегда
предполагают наличие помех. Получившийся же в результате симбиоза
РАСА и Алгоритма трекинга со скользящим режимом алгоритм успешно
решает задачу отслеживания траектории и навигации для
колесного робота, невзирая на помехи в измерениях.
44
мобильного
Заключение
В ходе дипломной работы автором были достигнуты следующие цели:
1. Описанные в тексте дипломной работы, а также в статьях [1], [2]
алгоритмы полностью реализованы в среде Matlab.
2. Для анализа алгоритмов выбрана задача отслеживания движущейся
точки и дальнейшее ее преследование на заданном расстоянии.
3. Изучено поведение данных алгоритмов на различных входах и их
зависимость от управляющих параметров.
4. Проведен комплексный анализ алгоритмов применительно к задаче
трекинга траектории с использованием четырех классов помех:
неслучайная помеха, равномерно распределенная помеха, нормально
распределенная помеха и синусоидальная помеха, а также отдельно
был рассмотрен случай с отсутствующими помехами. Кроме того, все
помехи рассматривались с разными
весовыми коэффициентами,
повышающими их абсолютную величину.
5. Получены рекомендации по эффективному использованию каждого
из алгоритмов.
6. На
основе
анализа
комбинированный
двух
алгоритм,
алгоритмов
который
получен
является
новый
модификацией
обычного алгоритма трекинга со скользящим режимом, решает ту же
задачу, но обладает помехоустойчивостью рандомизированного
алгоритма стохастической аппроксимации.
45
Список литературы
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
Вахитов А. Т., Граничин О. Н., Гуревич Л. С. Алгоритм стохастической
аппроксимации с пробным возмущением на входе в нестационарной
задаче оптимизации. – 2009.
A. S. Matveev, H. Teimoori and A. V. Savkin, “The Problem of Target
Following Based on Range-only Measurements For Car-like Robots”, Joint
48th IEEE Conference on Decision and Control and 28th Chinese Control
Conference, December 2009.
Поляк Б. Т. Введение в оптимизацию. – М.: Наука. 1983.
Граничин О. Н., Поляк Б. Т. Рандомизированные алгоритмы
оценивания и оптимизации при почти произвольных помехах. – М.:
Наука. 2003. 291 с.
Kushner H, Yin G. Stochastic Approximation and Recursive Algorithms and
Applications. – Springer. 2003.
Попков А. Ю. Градиентные методы для нестационарных задач
безусловной оптимизации // Автоматика и телемеханика. 2005. №6. С.
39-47.
Gurevich L., Vakhitov A. SPSA Algorithm for Tracking // In Proc. 12-th
International Student Olympiad on Automatic Control (Baltic Olympiad).
2008. PP. 52-57.
D. Gu and H. Hu, “A stabilizing receding horizon regulator for
nonholonomic mobile robots,” IEEE Transactions on Robotics and
Automation, vol. 21, no. 5, pp. 1022–1028, October 2005.
J. M. Yang and J. H. Kim, “Sliding mode control for trajectory tracking of
nonholonomic wheeled mobile robots,” IEEE Trans. on Robotics and
Automation, vol. 15, no. 3, pp. 578–587, 1999.
W. E. Dixon, D. M. Dawson, E. Zergeroglu, and A. Behal, Nonlinear
Control of Wheeled Mobile Robots. London: Springer-Verlag, 2001.
B. Xu, S. Pandian, M. Inoue, N. Sakagami, and S. Kawamura, “Modelbased
sliding mode control of underwater robot manipulators,” Int. J. Offshore and
Polar Engineering, vol. 16, pp. 210–217, 2006.
A. Bloch and S. Drakunov, “Stabilization of a nonholonomic system via
sliding modes,” in Proc. IEEE Int. Conf. Decision Contr., pp. 2961–2963,
Dec. 1994.
R. Solea and U. Nunes, “Trajectory planning and sliding-mode control based
trajectory-tracking for cybercars,” Integr. Comput.-Aided Eng., vol. 14, no.
1, pp. 33–47, 2007.
46
Download