Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

inflate

Agrandar cada ubicación ocupada

Desde R2019b

Descripción

ejemplo

inflate(map3D,radius) infla cada posición ocupada del objeto especificado en la entrada occupancyMap3D por el radius especificado en metros. radius se redondea a la celda equivalente más cercana según la resolución del mapa. Esta inflación aumenta el tamaño de las ubicaciones ocupadas en el mapa.

Ejemplos

contraer todo

Importe un mapa de ocupación en 3D.

map3D = importOccupancyMap3D("citymap.ot")
map3D = 
  occupancyMap3D with properties:

    ProbabilitySaturation: [1.0000e-03 0.9990]
               Resolution: 1
        OccupiedThreshold: 0.6500
            FreeThreshold: 0.2000

Inflar las zonas ocupadas en un radio de 1 m. Muestre el mapa.

inflate(map3D,1)
show(map3D)

Encuentre los puntos de intersección de los rayos y las celdas ocupadas del mapa.

numRays = 10;
angles = linspace(-pi/2,pi/2,numRays);
directions = [cos(angles); sin(angles); zeros(1,numRays)]';
sensorPose = [55 40 1 1 0 0 0];
maxrange = 15;
[intersectionPts,isOccupied] = rayIntersection(map3D,sensorPose,directions,maxrange)
intersectionPts = 10×3

   55.0000   32.0000    1.0000
   57.9118   32.0000    1.0000
   61.7128   32.0000    1.0000
   67.9904   32.5000    1.0000
   69.0000   37.5314    1.0000
   69.0000   42.4686    1.0000
   67.9904   47.5000    1.0000
   64.6418   51.4907    1.0000
   58.2757   49.0000    1.0000
   55.0000   49.0000    1.0000

isOccupied = 10×1

     1
     1
     1
    -1
     1
     1
    -1
    -1
     1
     1

Traza los puntos de intersección y traza los rayos desde la pose hasta los puntos de intersección.

hold on
plotTransforms(sensorPose(1:3),sensorPose(4:end),...
               'FrameSize',5,'MeshFilePath','groundvehicle.stl') % Vehicle sensor pose
for i = 1:numRays
    plot3([sensorPose(1),intersectionPts(i,1)],...
          [sensorPose(2),intersectionPts(i,2)],...
          [sensorPose(3),intersectionPts(i,3)],'-b') % Plot rays
    if isOccupied(i) == 1
        plot3(intersectionPts(i,1),intersectionPts(i,2),intersectionPts(i,3),'*r') % Intersection points
    end
end

Figure contains an axes object. The axes object with title Occupancy Map, xlabel X [meters], ylabel Y [meters] contains 22 objects of type patch, line. One or more of the lines displays its values using only markers

Argumentos de entrada

contraer todo

Mapa de ocupación tridimensional, especificado como un objeto occupancyMap3D .

Cantidad para inflar las ubicaciones ocupadas, especificada como un escalar. radius se redondea al valor de celda más cercano.

Capacidades ampliadas

Historial de versiones

Introducido en R2019b