Планирование движения
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2013 г. ) |
Планирование движения , также планирование пути (также известное как проблема навигации или проблема перемещения пианино ) — это вычислительная задача , позволяющая найти последовательность допустимых конфигураций, которая перемещает объект от источника к месту назначения. Этот термин используется в вычислительной геометрии , компьютерной анимации , робототехнике и компьютерных играх .
Например, рассмотрим навигацию мобильного робота внутри здания к удаленной путевой точке. Он должен выполнить эту задачу, избегая стен и не падая с лестницы. Алгоритм планирования движения будет принимать описание этих задач в качестве входных данных и генерировать команды скорости и поворота, отправляемые на колеса робота. Алгоритмы планирования движения могут быть ориентированы на роботов с большим количеством соединений (например, промышленные манипуляторы), более сложными задачами (например, манипулирование объектами), различными ограничениями (например, автомобиль, который может двигаться только вперед) и неопределенностью (например, несовершенные модели окружающая среда или робот).
Планирование движения имеет несколько приложений в робототехнике, таких как автономность , автоматизация и проектирование роботов в программном обеспечении САПР , а также приложения в других областях, таких как анимация цифровых персонажей , видеоигры , архитектурное проектирование , роботизированная хирургия и исследование биологических молекул .
Концепции
[ редактировать ]Основная задача планирования движения состоит в вычислении непрерывного пути, который соединяет начальную конфигурацию S и целевую конфигурацию G, избегая при этом столкновений с известными препятствиями. Геометрия робота и препятствий описывается в 2D или 3D рабочем пространстве , а движение представляется как путь в (возможно, многомерном) конфигурационном пространстве .
Конфигурационное пространство
[ редактировать ]Конфигурация описывает положение робота, а пространство конфигурации C представляет собой набор всех возможных конфигураций. Например:
- Если робот представляет собой одну точку (нулевого размера), перемещающуюся в двумерной плоскости (рабочее пространство), C является плоскостью, и конфигурация может быть представлена с использованием двух параметров (x, y).
- Если робот представляет собой двумерную фигуру, которая может перемещаться и вращаться, рабочее пространство по-прежнему остается двухмерным. Однако C — специальная евклидова группа SE (2) = R 2 SO (2) (где SO (2) — специальная ортогональная группа двумерных вращений), а конфигурацию можно представить с помощью трех параметров (x, y, θ).
- Если робот представляет собой твердую трехмерную форму, которая может перемещаться и вращаться, рабочее пространство является трехмерным, но C — это специальная евклидова группа SE (3) = R. 3 SO (3), а конфигурация требует 6 параметров: (x, y, z) для перемещения и углы Эйлера (α, β, γ).
- Если робот представляет собой манипулятор с фиксированной базой и N вращающимися соединениями (и без замкнутых контуров), C является N-мерным.
Свободное место
[ редактировать ]Набор конфигураций, позволяющий избежать столкновения с препятствиями, называется свободным пространством C free . Дополнение C, свободное в C, называется препятствием или запрещенной областью.
Часто бывает непомерно сложно явно вычислить форму C free . Однако проверка того, является ли данная конфигурация свободной от C , эффективна. Во-первых, прямая кинематика определяет положение геометрии робота, а обнаружение столкновений проверяет, сталкивается ли геометрия робота с геометрией окружающей среды.
Целевое пространство
[ редактировать ]Целевое пространство — это подпространство свободного пространства, которое обозначает, куда мы хотим, чтобы робот переместился. При глобальном планировании движения целевое пространство наблюдается с помощью датчиков робота. Однако при планировании локального движения в некоторых состояниях робот не может наблюдать целевое пространство. Для решения этой задачи робот проходит несколько виртуальных целевых пространств, каждое из которых находится в пределах наблюдаемой области (вокруг робота). Виртуальное целевое пространство называется подцелью.
Пространство препятствий
[ редактировать ]Пространство препятствий — это пространство, куда робот не может переместиться. Пространство препятствий не является противоположностью свободного пространства.
Алгоритмы
[ редактировать ]Задачи малой размерности можно решать с помощью сеточных алгоритмов, которые накладывают сетку поверх конфигурационного пространства, или геометрических алгоритмов, вычисляющих форму и связность C free .
Точное планирование движения для многомерных систем при сложных ограничениях вычислительно сложно . Алгоритмы потенциального поля эффективны, но становятся жертвой локальных минимумов (исключением являются гармонические потенциальные поля). Алгоритмы, основанные на выборке, избегают проблемы локальных минимумов и решают многие проблемы довольно быстро. Они не могут определить, что пути не существует, но у них есть вероятность неудачи, которая уменьшается до нуля по мере того, как тратится больше времени.
Алгоритмы, основанные на выборке, в настоящее время считаются самыми современными для планирования движения в многомерных пространствах и применяются к задачам, имеющим десятки или даже сотни измерений (роботы-манипуляторы, биологические молекулы, анимированные цифровые персонажи и ноги). роботы ).
Поиск по сетке
[ редактировать ]Подходы, основанные на сетке, накладывают сетку на пространство конфигурации и предполагают, что каждая конфигурация идентифицируется точкой сетки. В каждой точке сетки роботу разрешено перемещаться к соседним точкам сетки, пока линия между ними полностью содержится в пределах C free (это проверяется с помощью обнаружения столкновений). Это дискретизирует набор действий, и алгоритмы поиска (например, A* ) используются для поиска пути от начала до цели.
Эти подходы требуют установки разрешения сетки. Поиск выполняется быстрее с более грубой сеткой, но алгоритм не сможет найти пути через узкие участки C free . Более того, количество точек на сетке растет экспоненциально в размерности конфигурационного пространства, что делает их непригодными для задач большой размерности.
Традиционные подходы, основанные на сетке, создают пути, изменения курса которых ограничены кратностью заданного базового угла, что часто приводит к неоптимальным путям. Подходы к планированию пути под любым углом находят более короткие пути, распространяя информацию вдоль краев сетки (для быстрого поиска), не ограничивая их пути краями сетки (для поиска коротких путей).
Подходы, основанные на сетке, часто требуют многократного поиска, например, когда знания робота о пространстве конфигурации изменяются или само пространство конфигурации меняется во время следования по пути. Алгоритмы инкрементного эвристического поиска быстро перепланируются, используя опыт предыдущих аналогичных задач планирования пути, чтобы ускорить поиск текущей.
Интервальный поиск
[ редактировать ]Эти подходы аналогичны подходам поиска на основе сетки, за исключением того, что они вместо сетки создают покрытие, полностью покрывающее пространство конфигурации. [ 1 ] Тротуар разбивается на два подмощения X − ,Х + сделано из коробок таких, что X − ⊂ C свободен ⊂ X + . Характеризация C free позволяет решить проблему инверсии множеств . Таким образом, интервальный анализ можно использовать, когда C free не может быть описан линейными неравенствами, чтобы иметь гарантированную вложенность.
Таким образом, роботу разрешено свободно перемещаться в X. − , и не может выйти за пределы X + . Для обоих подмощений строится граф соседей, и пути можно найти с помощью таких алгоритмов, как Дейкстра или A* . Когда путь возможен в X − , это также возможно в C бесплатно . Когда в X нет пути + от одной начальной конфигурации до цели, у нас есть гарантия, что в C free не существует допустимого пути . Что касается сеточного подхода, то интервальный подход не подходит для задач большой размерности из-за того, что количество генерируемых блоков растет экспоненциально по отношению к размерности конфигурационного пространства.
Иллюстрацией служат три фигуры справа, где крючок с двумя степенями свободы должен двигаться слева направо, избегая двух горизонтальных маленьких сегментов.
Николя Делану показал, что декомпозиция с использованием подмощений с использованием интервального анализа также позволяет охарактеризовать топологию C free , например, подсчитав количество ее связных компонентов. [ 2 ]
Геометрические алгоритмы
[ редактировать ]Наведите роботов среди полигональных препятствий
Перемещение предметов среди препятствий
Находим выход из здания
- самый дальний след луча
Учитывая пучок лучей вокруг текущей позиции, длина которых соответствует стене, робот движется в направлении самого длинного луча, если не определена дверь. Такой алгоритм использовался для моделирования аварийного выхода из зданий.
Искусственные потенциальные поля
[ редактировать ]Один из подходов состоит в том, чтобы рассматривать конфигурацию робота как точку в потенциальном поле, сочетающую притяжение к цели и отталкивание от препятствий. Полученная траектория выводится как путь. Этот подход имеет преимущества в том, что траектория создается с небольшими вычислениями. Однако они могут попасть в ловушку локальных минимумов потенциального поля и не найти пути или найти неоптимальный путь. Искусственные потенциальные поля можно рассматривать как уравнения континуума, аналогичные электростатическим потенциальным полям (рассматривая робота как точечный заряд), или движение через поле можно дискретизировать с помощью набора лингвистических правил. [ 3 ] Функция навигации [ 4 ] или вероятностная навигационная функция [ 5 ] Это своего рода искусственные потенциальные функции, которые не имеют минимальных точек, кроме целевой точки.
Алгоритмы на основе выборки
[ редактировать ]Алгоритмы на основе выборки представляют пространство конфигурации с дорожной картой выборочных конфигураций. Базовый алгоритм выбирает N конфигураций на C и сохраняет те из них, которые можно использовать в качестве контрольных точек . Затем строится дорожная карта, которая соединяет две вехи P и Q, если отрезок линии PQ полностью свободен от C. Опять же, обнаружение коллизий используется для проверки включения в C free . Чтобы найти путь, соединяющий S и G, их добавляют в дорожную карту. Если путь в дорожной карте связывает S и G, планировщик добивается успеха и возвращает этот путь. нет пути Если нет, то причина не является окончательной: либо в C free , либо планировщик не выбрал достаточное количество вех.
Эти алгоритмы хорошо работают для многомерных конфигурационных пространств, поскольку, в отличие от комбинаторных алгоритмов, время их работы не зависит (явно) экспоненциально от размерности C. Их также (как правило) существенно проще реализовать. Они вероятностно полны, что означает, что вероятность того, что они дадут решение, приближается к 1 по мере того, как затрачивается больше времени. Однако они не могут определить, существует ли решение.
С учетом основных условий видимости на C free было доказано, что по мере роста числа конфигураций N вероятность того, что приведенный выше алгоритм найдет решение, экспоненциально приближается к 1. [ 6 ] Видимость не зависит явно от размерности C; возможно иметь многомерное пространство с «хорошей» видимостью или низкомерное пространство с «плохой» видимостью. Экспериментальный успех методов, основанных на выборке, предполагает, что наиболее часто встречающиеся пространства имеют хорошую видимость.
Существует множество вариантов этой базовой схемы:
- Обычно гораздо быстрее тестировать только сегменты между соседними парами вех, а не все пары.
- Неравномерное распределение выборки пытается разместить больше вех в областях, которые улучшают связность дорожной карты.
- Квазислучайные выборки обычно обеспечивают лучшее покрытие конфигурационного пространства, чем псевдослучайные , хотя в некоторых недавних работах утверждается, что эффект источника случайности минимален по сравнению с эффектом распределения выборки.
- Использует местную выборку [ 7 ] путем выполнения направленного по Монте-Карло цепи Маркова случайного блуждания с некоторым локальным распределением предложений.
- Можно существенно сократить количество вех, необходимых для решения данной задачи, разрешив кривые прицелы (например, ползая по препятствиям, блокирующим путь между двумя вехами). [ 8 ] ).
- Если необходим только один или несколько запросов на планирование, не всегда необходимо строить дорожную карту всего пространства. В этом случае варианты с выращиванием деревьев обычно работают быстрее (планирование с одним запросом). Дорожные карты по-прежнему полезны, если в одном пространстве необходимо выполнить множество запросов (планирование нескольких запросов).
Список известных алгоритмов
[ редактировать ]Полнота и производительность
[ редактировать ]Планировщик движений считается полным, если за конечное время он либо выдает решение, либо правильно сообщает, что его нет. Большинство полных алгоритмов основаны на геометрии. Производительность комплексного планировщика оценивается по его вычислительной сложности . Доказывая это свойство математически, нужно убедиться, что оно происходит за конечное время, а не только в асимптотическом пределе. Это особенно проблематично, если при конкретном методе доказательства возникают бесконечные последовательности (которые сходятся только в предельном случае), поскольку тогда теоретически алгоритм никогда не остановится. Обычно ошибочно полагают, что интуитивные «трюки» (часто основанные на индукции) сходятся, что происходит только для бесконечного предела. Другими словами, решение существует, но планировщик никогда о нем не сообщит. Таким образом, это свойство связано с полнотой по Тьюрингу и в большинстве случаев служит теоретической основой/руководством. Планировщики, основанные на методе грубой силы, всегда полны, но реализуемы только для конечных и дискретных установок.
На практике завершение работы алгоритма всегда можно гарантировать, используя счетчик, который допускает только максимальное количество итераций, а затем всегда останавливается с решением или без него. В системах реального времени это обычно достигается с помощью сторожевого таймера , который просто убивает процесс. Сторожевой таймер должен быть независимым от всех процессов (обычно реализуемых с помощью процедур обработки прерываний низкого уровня). Однако асимптотический случай, описанный в предыдущем абзаце, таким путем достичь не удастся. Он сообщит о лучшем из найденных на данный момент (что лучше, чем ничего) или об отсутствии, но не сможет правильно сообщить, что его нет. Все реализации, включая сторожевой таймер, всегда неполны (за исключением того, что все случаи могут быть оценены за конечное время).
Полнота может быть обеспечена только путем очень строгого математического доказательства правильности (часто с помощью инструментов и графических методов) и должна выполняться только специализированными экспертами, если приложение содержит информацию о безопасности. С другой стороны, опровергнуть полноту легко, поскольку нужно всего лишь найти один бесконечный цикл или один неверный результат. Формальная проверка/корректность алгоритмов — это отдельная область исследований. Правильная настройка этих тестовых случаев — весьма сложная задача.
Полнота разрешения — это свойство, при котором планировщик гарантированно найдет путь, если разрешение базовой сетки достаточно хорошее. Большинство планировщиков с полным разрешением основаны на сетке или интервалах. Вычислительная сложность планировщиков с полным разрешением зависит от количества точек в базовой сетке, которое составляет O(1/h д ), где h — разрешение (длина одной стороны ячейки сетки), а d — размерность конфигурационного пространства.
Вероятностная полнота — это свойство, заключающееся в том, что по мере выполнения большего количества «работы» вероятность того, что планировщику не удастся найти путь, если он существует, асимптотически приближается к нулю. Некоторые методы, основанные на выборке, являются вероятностно полными. Производительность вероятностно полного планировщика измеряется скоростью сходимости. Для практических приложений обычно используют это свойство, поскольку оно позволяет настроить тайм-аут сторожевого таймера на основе среднего времени сходимости.
Неполные планировщики не всегда создают возможный путь, если он существует (см. первый абзац). Иногда неполные планировщики действительно хорошо работают на практике, поскольку они всегда останавливаются по истечении гарантированного времени и позволяют другим процедурам взять верх.
Варианты проблемы
[ редактировать ]Для решения вариантов этой основной проблемы было разработано множество алгоритмов.
Дифференциальные ограничения
[ редактировать ]- Манипуляторы (с динамикой)
- Дроны
- Автомобили
- Одноколесные велосипеды
- Самолеты
- Системы, ограниченные ускорением
- Движущиеся препятствия (время не может идти назад)
- Управляемая игла со скошенным кончиком
- Роботы с дифференциальным приводом
Ограничения оптимальности
[ редактировать ]Гибридные системы
[ редактировать ]Гибридные системы — это системы, сочетающие дискретное и непрерывное поведение. Примерами таких систем являются:
- Роботизированные манипуляции
- Механическая сборка
- ножного робота Передвижение
- Реконфигурируемые роботы
Неопределенность
[ редактировать ]- Неопределенность движения
- Недостающая информация
- Активное зондирование
- Безсенсорное планирование
- Сетевые системы управления [ 9 ]
Экологические ограничения
[ редактировать ]- Карты динамики [ 10 ]
Приложения
[ редактировать ]- Робот-навигация
- Автоматизация
- Беспилотный автомобиль
- Роботизированная хирургия
- Цифровая анимация персонажей
- Складывание белка [ 11 ]
- Безопасность и доступность в автоматизированном архитектурном проектировании
См. также
[ редактировать ]- Замок карданного подвеса - аналогичная традиционная проблема в машиностроении.
- Кинодинамическое планирование
- Проблема альпинизма
- OMPL — открытая библиотека планирования движения
- Поиск пути
- Проблемы с движением гальки – планирование движения нескольких роботов
- Задача о кратчайшем пути
- Скорость препятствия
Ссылки
[ редактировать ]- ^ Жолен, Л. (2001). «Планирование пути с использованием интервалов и графиков» (PDF) . Надежные вычисления . 7 (1).
- ^ Делану, Н.; Жолен, Л.; Коттансо, Б. (2006). «Подсчет количества связанных компонентов набора и его применение в робототехнике». Прикладные параллельные вычисления. Современные достижения в области научных вычислений (PDF) . Конспекты лекций по информатике. Том. 3732. стр. 93–101. CiteSeerX 10.1.1.123.6764 . дои : 10.1007/11558958_11 . ISBN 978-3-540-29067-4 .
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ Вольф, Йорг Кристиан; Робинсон, Пол; Дэвис, Мэнсел (2004). «Планирование траектории векторного поля и управление автономным роботом в динамической среде». Учеб. 2004 Всемирный конгресс роботов FIRA . Пусан, Южная Корея: Документ 151.
- ^ Лаваль, Стивен, Алгоритмы планирования, глава 8. Архивировано 15 апреля 2021 г. в Wayback Machine.
- ^ Хакоэн, Шломи; Шовал, Шрага; Швальб, Нир (2019). «Функция навигации по вероятности для стохастических статических сред» . Международный журнал управления, автоматизации и систем . 17 (8): 2097–2113. дои : 10.1007/s12555-018-0563-2 . S2CID 164509949 .
- ^ Сюй, Д.; JC Латомбе, JC ; Мотвани, Р. (1997). «Планирование пути в обширных пространствах конфигурации». Материалы международной конференции по робототехнике и автоматизации . Том. 3. С. 2719–2726. дои : 10.1109/РОБОТ.1997.619371 . ISBN 978-0-7803-3612-4 . S2CID 11070889 .
- ^ Лай, Тин; Морер, Филипп; Рамос, Фабио; Фрэнсис, Гилад (2020). «Байесовское планирование на основе локальной выборки» . Письма IEEE по робототехнике и автоматизации . 5 (2): 1954–1961. arXiv : 1909.03452 . дои : 10.1109/LRA.2020.2969145 . ISSN 2377-3766 . S2CID 210838739 .
- ^ Швальб, Н.; Бен Моше, Б.; Медина, О. (2013). «Алгоритм планирования движения в реальном времени для гиперизбыточного набора механизмов». Роботика . 31 (8): 1327–1335. CiteSeerX 10.1.1.473.7966 . дои : 10.1017/S0263574713000489 . S2CID 17483785 .
- ^ Скордамалья, В.; Нарди, Вирджиния (2021). «Алгоритм планирования траектории на основе набора для управляемого по сети мобильного гусеничного робота с бортовым поворотом, подверженного явлениям заноса и скольжения». Журнал интеллектуальных и робототехнических систем . 101 . Springer Nature BV doi : 10.1007/s10846-020-01267-0 . S2CID 229326435 .
- ^ Куцнер, Томаш Петр; Лилиенталь, Ахим Дж.; Магнуссон, Мартин; Пальмьери, Луиджи; Шринивас Сваминатан, Читтаранджан (2020). Вероятностное картографирование пространственных моделей движения мобильных роботов . Монографии по когнитивным системам. Том. 40. дои : 10.1007/978-3-030-41808-3 . ISBN 978-3-030-41807-6 . ISSN 1867-4925 . S2CID 52087877 .
- ^ Стивен М. ЛаВалль (29 мая 2006 г.). Алгоритмы планирования . Издательство Кембриджского университета. ISBN 978-1-139-45517-6 .
Дальнейшее чтение
[ редактировать ]- Латомбе, Жан-Клод (2012). Планирование движения робота . Springer Science & Business Media. ISBN 978-1-4615-4022-9 .
- Алгоритмы планирования , Стивен М. ЛаВалль, 2006, издательство Кембриджского университета, ISBN 0-521-86205-1 .
- Принципы движения роботов: теория, алгоритмы и реализация , Х. Чозет, В. Бургард, С. Хатчинсон, Г. Кантор, Л. Е. Кавраки , К. Линч и С. Трун, MIT Press, апрель 2005 г.
- Марк де Берг; Марк ван Кревелд; Марк Овермарс и Отфрид Шварцкопф (2000). Вычислительная геометрия (2-е исправленное изд.). Издательство Спрингер . ISBN 978-3-540-65620-3 . Глава 13: Планирование движения робота: стр. 267–290.
Внешние ссылки
[ редактировать ]- «Виртуальная среда автоматизации открытой робототехники», http://openrave.org/
- Жан-Клод Латомб рассказывает о своей работе с роботами и планировании движений, 5 апреля 2000 г.
- «Открытая библиотека планирования движения ( OMPL )», http://ompl.kavrakilab.org
- «Библиотека стратегий движения», http://msl.cs.uiuc.edu/msl/
- «Комплект планирования движения», https://ai.stanford.edu/~mitul/mpk
- «Симокс», http://simox.sourceforge.net
- «Планирование и управление движением робота», http://www.laas.fr/%7Ejpl/book.html