inflationCollisionChecker
Collision-checking configuration for costmap based on inflation
Description
The inflationCollisionChecker
function creates an
InflationCollisionChecker
object, which holds the collision-checking configuration of a
vehicle costmap. A vehicle costmap with this configuration inflates the size of obstacles in
the vehicle environment. This inflation is based on the specified InflationCollisionChecker
properties, such as the dimensions of the vehicle and the radius of circles required to
enclose the vehicle. For more details, see Algorithms. Path planning
algorithms, such as pathPlannerRRT
,
use this costmap collision-checking configuration to avoid inflated obstacles and plan
collision-free paths through an environment.
Use the InflationCollisionChecker
object to set the
CollisionChecker
property of your vehicleCostmap
object. This collision-checking configuration affects the return values of the checkFree
and
checkOccupied
functions used by vehicleCostmap
. These values indicate whether a vehicle
pose is free or occupied.
Creation
Syntax
Description
ccConfig = inflationCollisionChecker
creates an
InflationCollisionChecker
object, ccConfig
, that
holds the collision-checking configuration of a vehicle costmap. This object uses one
circle to enclose the vehicle. The dimensions of the vehicle correspond to the values of a
default vehicleDimensions
object.
ccConfig = inflationCollisionChecker(vehicleDims)
specifies the
dimensions of the vehicle, where vehicleDims
is a
vehicleDimensions
object. The vehicleDims
input
sets the VehicleDimensions
property of ccConfig
.
ccConfig = inflationCollisionChecker(
also specifies the number of circles used to enclose the vehicle. The
vehicleDims
,numCircles
)numCircles
input sets the NumCircles
property of ccConfig
.
ccConfig = inflationCollisionChecker(___,
sets the Name,Value
)CenterPlacements
and InflationRadius
properties using name-value pairs and the inputs from any of
the preceding syntaxes. Enclose each property name in quotes.
Example: inflationCollisionChecker('CenterPlacements',[0.2 0.5
0.8],'InflationRadius',1.2)
Properties
Object Functions
plot | Plot collision configuration |
Examples
Tips
To visually verify that the circles completely enclose the vehicle, use the
plot
function. If the circles do not completely enclose the vehicle, some of the free poses returned bycheckFree
(or unoccupied poses returned bycheckOccupied
) might actually be in collision.
Algorithms
The InflationRadius
property of InflationCollisionChecker
determines the amount,
in world units, by which to inflate obstacles. By default,
InflationRadius
is equal to the radius of the smallest set of
overlapping circles required to completely enclose the vehicle, as determined by the following
properties:
NumCircles
— Number of circles used to enclose the vehicleCenterPlacements
— Placements of the circle centers along the longitudinal axis of the vehicleVehicleDimensions
— Dimensions of the vehicle
For more details about how this collision-checking configuration defines inflated areas in
a costmap, see the Algorithms section of
vehicleCostmap
.
References
[1] Ziegler, J., and C. Stiller. "Fast Collision Checking for Intelligent Vehicle Motion Planning." IEEE Intelligent Vehicle Symposium. June 21–24, 2010.
Extended Capabilities
Version History
Introduced in R2018b