Проверяющая столкновение настройка для costmap на основе инфляции
Функция inflationCollisionChecker
создает объект InflationCollisionChecker
, который содержит проверяющую столкновение настройку автомобиля costmap. Автомобиль costmap с этой настройкой раздувает размер препятствий в среде автомобиля. Эта инфляция основана на заданных свойствах InflationCollisionChecker
, таких как размерности автомобиля и радиус кругов, требуемых заключать автомобиль. Для получения дополнительной информации см. Алгоритмы. Алгоритмы планирования пути, такие как pathPlannerRRT
, используют эту costmap проверяющую столкновение настройку, чтобы избежать раздутых препятствий и запланировать пути без коллизий через среду.
Используйте объект InflationCollisionChecker
установить свойство CollisionChecker
вашего объекта vehicleCostmap
. Эта проверяющая столкновение настройка влияет на возвращаемые значения checkFree
и функций checkOccupied
, используемых vehicleCostmap
. Эти значения указывают, свободно ли положение автомобиля или занято.
ccConfig = inflationCollisionChecker
ccConfig = 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.