Проверяющая столкновение настройка для costmap на основе инфляции
Функция inflationCollisionChecker создает объект InflationCollisionChecker, который содержит проверяющую столкновение настройку автомобиля costmap. Автомобиль costmap с этой настройкой раздувает размер препятствий в среде автомобиля. Эта инфляция основана на заданных свойствах InflationCollisionChecker, таких как размерности автомобиля и радиус кругов, требуемых заключать автомобиль. Для получения дополнительной информации см. Алгоритмы. Алгоритмы планирования пути, такие как pathPlannerRRT, используют эту costmap проверяющую столкновение настройку, чтобы избежать раздутых препятствий и запланировать пути без коллизий через среду.
Используйте объект InflationCollisionChecker установить свойство CollisionChecker вашего объекта vehicleCostmap. Эта проверяющая столкновение настройка влияет на возвращаемые значения checkFree и функций checkOccupied, используемых vehicleCostmap. Эти значения указывают, свободно ли положение автомобиля или занято.
ccConfig = inflationCollisionCheckerccConfig = inflationCollisionChecker(vehicleDims)ccConfig = inflationCollisionChecker(vehicleDims,numCircles)ccConfig = inflationCollisionChecker(___,Name,Value)ccConfig = inflationCollisionChecker создает объект InflationCollisionChecker, ccConfig, который содержит проверяющую столкновение настройку автомобиля costmap. Этот объект использует один круг, чтобы заключить автомобиль. Размерности автомобиля соответствуют значениям объекта vehicleDimensions по умолчанию.
ccConfig = inflationCollisionChecker(vehicleDims) задает размерности автомобиля, где vehicleDims является объектом vehicleDimensions. Вход vehicleDims устанавливает свойство VehicleDimensions ccConfig.
ccConfig = inflationCollisionChecker( также указывает, что количество кругов раньше заключало автомобиль. Вход vehicleDims,numCircles)numCircles устанавливает свойство NumCircles ccConfig.
ccConfig = inflationCollisionChecker(___, устанавливает свойства Name,Value)CenterPlacements и InflationRadius с помощью пар "имя-значение" и входных параметров от любого из предыдущих синтаксисов. Заключите каждое имя свойства в кавычки.
inflationCollisionChecker('CenterPlacements',[0.2 0.5 0.8],'InflationRadius',1.2)plot | Постройте настройку столкновения |
Чтобы визуально проверить, что круги полностью заключают автомобиль, используйте функцию plot. Если круги не полностью заключают автомобиль, некоторые свободные положения, возвращенные checkFree (или незанятые положения, возвращенные checkOccupied), могут на самом деле быть в столкновении.
Свойство InflationRadius InflationCollisionChecker определяет сумму в мировых модулях, которыми можно раздуть препятствия. По умолчанию InflationRadius равен радиусу самого маленького набора перекрывающихся кругов, требуемых полностью заключать автомобиль, как определено следующими свойствами:
NumCircles — Количество кругов раньше заключало автомобиль
CenterPlacements — Размещения центров круга вдоль продольной оси автомобиля
VehicleDimensions — Размерности автомобиля

Для получения дополнительной информации о том, как эта проверяющая столкновение настройка задает раздутые области в costmap, смотрите раздел Algorithms vehicleCostmap.
[1] Циглер, J. и К. Стиллер. "Быстрая проверка столкновения интеллектуальное планирование движения автомобиля". IEEE интеллектуальный симпозиум автомобиля. 21-24 июня 2010.