Основанный на управлении планировщик RRT
plannerControlRRT
объект является быстро исследующим случайным деревом (RRT) планировщик для решения кинематического и динамического (kinodynamic) планирование проблем с помощью средств управления. Алгоритм RRT является основанной на дереве стандартной программой планирования движения, которая инкрементно выращивает дерево поиска. В кинематических планировщиках дерево растет путем случайной выборки состояний на пробеле конфигурации системы, и затем пытается распространить самый близкий узел к тому состоянию. Выборки распространителя состояния управляют для достижения состояния на основе кинематической модели и политик управления. Когда дерево добавляет узлы, произведенные состояния охватывают пространство поиска и в конечном счете соединяют запуск и целевые состояния.
Это основанные на управлении шаги алгоритма RRT:
Планировщик, plannerControlRRT
, запрашивает состояние от пространства состояний.
Планировщик находит самое близкое состояние в дереве поиска на основе стоимости.
Распространитель состояния, mobileRobotPropagator
, выборки управляют командами и длительностью, чтобы распространить к целевому состоянию.
Распространитель состояния распространяет к целевому состоянию.
Если распространитель возвращает допустимую траекторию в состояние, то добавьте состояние в дерево.
Дополнительный: Попытайтесь направить траекторию к итоговой цели на основе свойств NumGoalExtension и GoalBias.
Продолжите искать, пока дерево поиска не достигает цели или удовлетворяет другим выходным критериям.
Преимущество kinodynamic планировщика как plannerControlRRT
это, это, как гарантируют, возвратит последовательность состояний, средств управления и ссылок, которые включают кинематическим образом или динамически осуществимо путь. Недостаток kinodynamic планировщику - то, что кинематическое распространение не может гарантировать, что новые состояния точно равны целевым состояниям, если там не существует и аналитическое представление для последовательности средств управления, которые управляют системой между двумя настройками с нулевой остаточной ошибкой. Это означает, что kinodynamic планировщики обычно асимптотически завершены и гарантируют кинематическую выполнимость, но часто не могут гарантировать асимптотическую оптимальность.
создает kinodynamic RRT планировщик от объекта распространителя состояния и устанавливает controlPlanner
= plannerControlRRT(propagator)StatePropagator
свойство.
задает дополнительные свойства с помощью аргументов name-value. Например, controlPlanner
= plannerControlRRT(propagator,Name=Value)plannerControlRRT(propagator,ContinueAfterGoalReached=1)
продолжает искать альтернативные пути после того, как дерево сначала достигнет цели.
plan | Запланируйте путь от запуска до целевого состояния |
[1] С.М. Лэвалл, Дж.Дж. Каффнер, "Рандомизированное планирование kinodynamic", Международный журнал Исследования Робототехники, издания 20, № 5, стр 378-400, май 2001
[2] Kavraki, L. и С. Лэвалл. "Глава 5 Планирование движения", 1-й редактор, Б. Сисилиано и О. Хэтиб, Эд. Нью-Йорк: Springer-Verlag Берлин Гейдельберг, 2008, стр 109-131.