Insert ray from laser scan observation
inserts one or more lidar scan sensor observations in the occupancy grid,
map, using the input
scan, to get ray endpoints. End point locations are updated
with an occupied value. If the ranges are above
the ray endpoints are considered free space. All other points along the ray are
treated as obstacle-free.
Insert Laser Scans into Binary Occupancy Map
Create an empty binary occupancy grid map.
map = binaryOccupancyMap(10,10,20);
Input pose of the vehicle, ranges, angles, and the maximum range of the laser scan.
pose = [5,5,0]; ranges = 3*ones(100,1); angles = linspace(-pi/2,pi/2,100); maxrange = 20;
lidarScan object with the specified ranges and angles.
scan = lidarScan(ranges,angles);
Insert the laser scan data into the occupancy map.
Show the map to see the results of inserting the laser scan.
Check the occupancy of the spot directly in front of the vehicle.
ans = logical 1
map — Map representation
Map representation, specified as a
binaryOccupancyMap object. This object represents the
environment of the robot. The object contains a matrix grid with binary
values indicating obstacles as
1) and free locations as
pose — Position and orientation of vehicle
Position and orientation of vehicle, specified as an
theta] vector. The vehicle pose is an
x and y position with angular
orientation theta (in radians) measured from the
ranges — Range values from scan data
Range values from scan data, specified as a vector of elements measured in
meters. These range values are distances from a sensor at given
angles. The vector must be the same length as the
angles — Angle values from scan data
Angle values from scan data, specified as a vector of elements measured in
radians. These angle values correspond to the given
ranges. The vector must be the same length as the
maxrange — Maximum range of sensor
Maximum range of laser range sensor, specified as a scalar in meters.
Range values greater than or equal to
considered free along the whole length of the ray, up to
startpt — Start point for rays
Start point for rays, specified as a two-element vector,
y], in the world coordinate frame. All rays
are line segments that originate at this point.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced in R2019b