1 / 59

Алгоритмы планирования перемещения на плоскости

Алгоритмы планирования перемещения на плоскости. Яковлев К.С. Терминология (русскоязычная). Планирование траектории Планирование перемещений Поиск пути Поиск траектории Навигация. Терминология (англоязычная). Path Planning Path Finding Navigation. Примеры задач.

sinjin
Télécharger la présentation

Алгоритмы планирования перемещения на плоскости

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Алгоритмы планирования перемещения на плоскости Яковлев К.С.

  2. Терминология (русскоязычная) Планирование траектории Планирование перемещений Поиск пути Поиск траектории Навигация

  3. Терминология (англоязычная) Path Planning Path Finding Navigation

  4. Примеры задач Проехать на автомобиле из города А в город Б (по дорогам общего пользования)

  5. Примеры задач Пройти из точки А в точку Б

  6. Примеры задач Пройти из комнаты 1 в комнату 5

  7. История. Начало. 1971.Университет Стэнфорда. США.Проект Shakey

  8. История. 21 век. Беспилотные транспортные средства Проекты Публикации Программы Стандарты «Соревнования»

  9. Планирование траектории в разрезе управления БТС Управление ресурсами Управление в нештатных ситуациях Планирование Функциональные модули Оценка обстановки Интеллектуальные агенты Взаимодействие Базы данных и знаний Управление вертолетом Управление коммуникациями Системы БТС Датчики/Оружие Коммуникации

  10. Планирование траектории в разрезе управления БТС Низкая нагрузка на процессор и оперативную память контроль исполнения плана в условиях динамической окружающей среды; Эффективная перепланировка маршрута в случае непредвиденной смены условий окружающей среды и/или целей; построение «субоптимального» плана за короткий промежуток времени и дальнейшее улучшение данного плана исходя из наличия временных и вычислительных ресурсов, отведенных на планирование.

  11. Что общего у задач планирования траектории разных типов? 14 24 34 42 0 10 20 38 14 24 34

  12. Планирование как поиск пути на графе G=<S,E,c>- неориентированный взвешенный граф, где: S={s} – множество вершин графа соответствующих состояниям рассматриваемой предметной области; ES×S – множество ребер графа, соответствующих переходам из одного состояния в другое; c:E→(0;+∞) – функция, определяющая веса ребер графа, соответствующих трудозатратам, связанных с соответствующими переходами. (si, sj) - ребро графа c(si,sj) - вес данного ребра Вершины s,s’S - смежные, если существует ребро (s,s’)E Adj(s) - множество смежных вершин для вершины s Путь из s в s’ - последовательность вершин π={s0, s1, …, sk}, такая чтоs0=s, sk=s’,i:1≤i≤k,(si,si-1 ) E. Вес пути π: Путь π* - кратчайший, если не существует пути π такого, что: c(π )≤c(π *). c*(s,s’) - вес кратчайшего пути из s в s’

  13. Задача планирования Задача планирования: <G, sstart,sgoal> π(sstart,sgoal) : c(π)=c*(sstart,sgoal) – оптимальное решение

  14. Методы решения «Неинформируемый» поиск BFS DFS Dijkstra Эвристический поиск A A* WA* IDA* Anytime A* И др. 14 24 34 14 24 42 0 10 20 38 42 0 38 14 24 34 14 24

  15. Вариации алгоритма A* WА* Путь не более чем w раз «хуже», чем кратчайший h(s) >>> w*h(s) А* Кратчайший путь h(s) >>> h(s): h(s) допустима А

  16. Вариации алгоритма A* Anytime А* ARA* Построение плана за малый промежуток времени; «улучшение» плана Алгоритмы планирования с отсечением по времени А* LPА Алгоритмы планирования в динамических графах Адаптационное перепланирование в динамической среде D Anytime D

  17. Эвристический поиск. Результаты Изучена взаимосвязь между используемыми эвристиками и весом найденного пути Установлены критерии нахождения кратчайшего пути Разработаны модификации алгоритма A*, предназначенные для решения частных задач

  18. Планирование траектории как поиск пути на графе. ПРОБЛЕМЫ. Временная и емкостная сложность эвристического поиска: O(bd) b – коэффициент ветвления d – глубина решения Подбор эвристики Построение самого графа

  19. «Открытые» задачи планирования траектории НОВЫЕ Модели Методы

  20. Метрический топологический граф MT-GR=<A, d> A – множество клеток, представляющее собой матрицу Am×n={aij}: aij=0 1,i, j:0≤i<m, 0≤j<n, m, nN\{0}. d – метрика на множестве A+={aij|aijA, aij=0} а) б) в)

  21. МТ-графы Пустьaij, alk Am×n: aijalk , aij0, alk0. Путем из aijв alk будем называть последовательность смежных проходимых клеток МТ-графа π={ai0 j0, ai1 j1,ai2 j2, …, ais js}, ai0 j0=aij, ais js=alk. Будем обозначать путь как π(aij, alk) или простоπ. Клетку aijпути π будем называть начальной, alk – целевой. Вес пути π определяется как сумма весов переходов по всем смежным клеткам, входящим в данный путь: Кратчайшим путем из aijв alk будем называть такой путь π*(aij, alk), что  ππ* c(π)≤c(π*). c(π)=

  22. МТ-графы Две различные клетки МТ-графа ai1j1, ai2j2Am×n будем называть смежными, если: i1,j1,i2,j2: 0≤i1,i2<m, 0≤j1,j2<n → |i1-i2|≤1|j1-j2|≤1. Две различные клетки ai1j1, ai2j2Am×n будем называть: горизонтально смежными, если: i1,j1,i2,j2: 0≤ i1,i2<m, 0≤j1,j2<n → |i1-i2|=0|j1-j2|=1 вертикально смежными, если: i1,j1,i2,j2: 0≤ i1,i2<m, 0≤j1,j2<n → |i1-i2|=1 |j1-j2|=0 диагонально смежными, если: i1,j1,i2,j2: 0≤ i1,i2<m, 0≤j1,j2<n → |i1-i2|=1 |j1-j2|=1 ADJA×A –множество всех пар смежных клеток chv,cdR+ c:ADJ → {chv, cd, +∞}: c(aij, alk)=chv, если aij=0 alk=0 и клетки aij, alk являются горизонтально или вертикально смежными; c(aij, alk)=cd, если aij=0 alk =0 и клетки aij, alk являются диагонально смежными; c(aij, alk)=+∞, если aij=1alk=1.

  23. МТ-графы и взвешенные графы Любой МТ-граф может имплицировать взвешенный граф Все алгоритмы эвристического поиска, применимые на графах, являются применимыми и для МТ-Графов

  24. Метрики на МТ-графах d(aij, alk)=c(π* (aij, alk)). d(aij, alk)=H(aij, alk)=Δi=Δi(aij, alk)=|i-l| Δj=Δj(aij, alk)=|j-k| Является а)допустимойб)монотонной эвристикой для алгоритмов семейства A*

  25. Алгоритмы семейства A* при поиске пути на МТ-графе Алгоритмическая сложность (как временная, так и емкостная) O(d2) Проблема «локального минимума»

  26. Решение Принципиальной иной подход к планированию основанный на иерархическом подходе и знаниях о предметной области – алгоритм HGA*.

  27. Иерархический подход Разбить исходную задача на ряд «элементарных» подзадач

  28. Нуль-траектория • Нуль-траекторией между двумя различными клетками aij и alk будем называть последовательность смежных клеток МТ-графа tr(aij, alk)={ai0j0, ai1j1, ai2j2, …, aisjs}, такую что: • ai0j0=aij, alk=aisjs. • Если aij расположена не правее alk, то aiv jw расположена не правее aiv+1 jw+1для  0≤v<r, 0≤w<s. • Если aij расположена не левее alk, то aiv jw расположена не левее aiv+1 jw+1для  0≤v<r, 0≤w<s. • Если kj, то aiv jwtr(aij, alk) удовлетворяет соотношению iv=K∙jw+B, 0≤v≤r, 0≤w≤s, где , B=l-k∙K, а x - целая часть числа x. • Если k=j, то aiv jwtr(aij, alk) удовлетворяет соотношению jw=j=k, iv=iv-1+δ для  0<v≤r, 0≤w≤s, где δ=-1 если aij расположена выше alk, δ=1 еслиaij расположена ниже alk. Нуль траектория – отрезок дискретной прямой Нуль-траектория tr(aij, alk) проходима ТТКГ aisjs =0 aisjs tr(aij, alk) Вес нуль-траектории определяется аналогично весу пути: c(tr(aij, alk))=c(tr)=

  29. Секция Секция<aij, akl> - упорядоченная пара клеток МТ-графа Секция <aij, akl>проходима ТТТК нуль-траектория tr(aij, akl)проходима Вес (длина) секции определяется следующим образом: с(aij, akl) = с(tr(aij, akl)), если <aij, akl> проходима с(aij, akl) = d(aij, akl), если если <aij, akl> непроходима

  30. Задача планирования Пусть на заданном МТ-графеMT-Gr зафиксированы начальная astartI startJи целевая agoalI goalJклетки. Задача планирования состоит в отыскании такой последовательности клеток PP={ai0 j0, ai1 j1,ai2 j2, …, ais js}, что ai0 j0= astartI startJ ais js= agoalI goalJ секции <ai0 j0, ai1 j1>, <ai1 j1,ai2 j2 >, … <ais-1 js-1ais js> - проходимы PP – частичный план Клетки aijPP – опорные клетки

  31. МТ-Графы. Взаимное расположение объектов. Левее, Правее, Выше, Ниже Клетка aij расположена левее (правее) клетки alk, если j<k (j>k). Клетка aij расположена ниже (выше) клетки alk, если i<l (i>l). ПрепятствияObs={ai0j0, ai1j1, ai2j2, …, aisjs|аikjk=1, аikjkadj(аik-1jk-1) k=0,1,2, …, s, sN}. Препятствие Obsлежит между клетками aij и alk, если tr(aij,alk) Obs

  32. МТ-Графы. Операция поворота. ROT(Am×n)=RAnxm, где RAnxm={raij}, raij=am-j-1 i. Графически МТ-граф RA представляет собой перевернутый на 90 градусов по часовой стрелке МТ-граф Am×n.

  33. Компоненты планирования Выделение опорных клеток Упорядочивание опорных клеток Выбор опорных клеток для формирования итогового решения

  34. Абстрактный недетерминированный иерархический алгоритм планирования траектории Вход: PP={astartI startJ , agoalI goalJ } Шаг 1. Если PP удовлетворяет Критерию Останова, то вернуть PP Шаг 2.Недетерминировано выбрать пару опорных клеток из PP - aij, alk Шаг 3. Построить нуль-траекторию tr(aij, alk) Шаг 4. Если нуль-траектория tr(aij, alk) проходима, то перейти к шагу 1 Шаг 5.Недетерминировано выбрать клетку C A+в качестве опорной Шаг 6. Добавить C в PP (а именно заменить последовательность aij, alk в PP на aij, С, alk) Шаг 7. Перейти к шагу 1

  35. Вероятностный иерархический алгоритм планирования траектории Вход: PPС={PP={astartI startJ , agoalI goalJ }} – множество планов-кандидатов Шаг 1. Выбрать лучший план-кандидат PPиз PPCсогласно Критерию Выбора Частичного Плана Шаг 2. Если PP удовлетворяет Критерию Останова, то вернуть PP Шаг 3. В соответствии с Критерием Выбора Опорных Клетоквыбрать пару опорных клеток из PP - aij, alk Шаг 4. Построить нуль-траекторию tr(aij, alk) Шаг 5. Если нуль-траектория tr(aij, alk) проходима, то перейти к шагу 1 Шаг 6.Случайным образомвыбрать Nопорных клетокC1, C2, …, Cn A+ Шаг 7. Разбить секцию <aij, alk> на Nвариантов, а именно: Для каждого PPPPC, включающего aij, alk Шаг 7.1. Разбить PPна Nдубликатов Шаг 7.2. Заменить последовательность aij, alk на aij, C1, alk, aij, C2, alk,…. aij, Cn, alk в каждом дубликате соответственно Шаг 8. Перейти к шагу 1

  36. Детерминированный выбор опорных клеток Утверждение Если препятствие Obs лежит между клетками aij, alk, то частичный план PP(aij, alk) необходимо содержит клетки, расположенные выше (либо ниже) препятствияObs.

  37. Детерминированный выбор опорных клеток GetBaseCellsForExtension(cell s, cell g, cell X) int i_up, i_down, j_right, j_left=X.j-1; cell tmp=X; while (tmp==1) tmp.i--; i_up=tmp.i; tmp.i++; while(tmp==1) tmp.j++; j.right=tmp.j;tmp=X; while (tmp==1) tmp.i++; i_down=tmp.i; if (i_up>=0){ A.i=B.i=i_up; A.j=j_left; B.j=j_right } else A=B=null; if (i_down<m){ C.i=D.i=i_down; C.j=j_left; D.j=j_right } else C=D=null; return {A, B, C, D}

  38. HGA* Вход: PPС={PP={astartI startJ , agoalI goalJ }} – множество планов-кандидатов Шаг 1. Выбрать лучший план-кандидат PPиз PPCсогласно Критерию Выбора Частичного Плана Шаг 2. Если PP удовлетворяет Критерию Останова, то вернуть PP Шаг 3. В соответствии с Критерием Выбора Опорных Клетоквыбрать пару опорных клеток из PP - aij, alk Шаг 4. Построить нуль-траекторию tr(aij, alk) Шаг 5. Если нуль-траектория tr(aij, alk) проходима, то перейти к шагу 1 Шаг 6.Выполнить процедуру GetBaseCellsForExtension для получения опорных клеток A, B, C, D. Шаг 7. Если A=B=C=D=null вернуть failure Шаг 8. Разбить секцию <aij, alk> на 2 вариантa: aij, A, B, alkи aij,D, С, alk Шаг 9. Перейти к шагу 1

  39. Емкостная сложность HGA* «Хранить» клетку – O(1) A* – O(d2) d = max{|goalI- startI|,|goalJ - startJ|} Obsd/2 HGA* – O(d) Obs: 2+4*Obs

  40. Препятствия нетривиальной формы Обход контура препятствия по (против) часовой стрелке от клетки X до «первого шага в горизонтальном направлении»

  41. Препятствия нетривиальной формы

  42. Свойства алгоритма HGA* «Открытые» задачи планирования Реализация различной логики планирования в рамках одного алгоритма Учет особенностей объекта управления (ограничения на вид траектории на плоскости) Планирование с отсечением по времени Интероперабельность с СУ БТС (состояние планировщика всегда «прозрачно» для СУ) Естественный учет частичной наблюдаемости среды Возможность создания модификаций для учета динамики среды

  43. Экспериментальные результаты. 3 серии экспериментов МТ-графы различных размеров с различной степенью заполнения препятствиями МТ-графы – цифровые карты Москвы в разрешении необходимом для обеспечения маловысотного полета беспилотного вертолета

  44. Экспериментальные результаты. Алгоритмы HGA*, A*, WA*-3, WA*-5 Отслеживаемые индикаторы Q – число сохраненных клеток W – длина траектории E= (Q/W)/(Q*/W*) – удельная эффективность алгоритма

  45. 1 серия экспериментов. 150 МТ-графов различного размера и различной степени заполнения препятствиями (СЗП) Препятствия – прямоугольники, шириной в 1 клетку и длиной в lклеток l – случайная величина с МО 10 СЗП  = (l*2+4)*N, где N – число препятсвий  = 0.3, 0.5, 0.8

  46. 1 серия экспериментов.

  47. 1 серия экспериментов.

  48. 1 серия экспериментов.  = 0.5

  49. 1 серия экспериментов. HGA лучше «лучшей» версии A*в 1,5 – 4 раза в зависимости от плотности препятствий

  50. 2 серия экспериментов Размер МТ-графа фиксирован 101х101 СЗП фиксирована  = 0.5 Длины препятствий варьируются l=2, 5, 10, 15, 25

More Related