Source: https://la.mathworks.com/help/robotics/ref/robotics.occupancygrid-class.html
Timestamp: 2019-10-14 08:56:06+00:00

Document:
Cree una rejilla de ocupación con valores probabilísticos - MATLAB - MathWorks América Latina
robotics.OccupancyGrid clase
Inserte exploraciones láser en la rejilla de ocupación
Convertir imagen PGM a mapa
Cree una rejilla de ocupación con valores probabilísticos
crea un mapa de cuadrícula de ocupación 2-D.OccupancyGrid Cada celda de la cuadrícula de ocupación tiene un valor que representa la probabilidad de la ocupación de esa celda. Los valores cercanos a 1 representan una alta certeza de que la celda contiene un obstáculo. Los valores cercanos a 0 representan la certeza de que la célula no está ocupada y libre de obstáculos.
Las rejillas de ocupación se utilizan en algoritmos robóticos como la planificación de rutas (véase).robotics.PRM También se utilizan en aplicaciones de mapeo para encontrar rutas libres de colisiones, realizar la evasión de colisiones y calcular la localización (ver).robotics.MonteCarloLocalization Puede modificar la cuadrícula de ocupación para que se adapte a su aplicación específica.
Los objetos admiten coordenadas de mundo y rejilla.OccupancyGrid El origen de las coordenadas del mundo se define mediante la propiedad del objeto, que define la esquina inferior izquierda de la rejilla.GridLocationInWorld La propiedad define el número y el tamaño de las ubicaciones de la cuadrícula.Resolution La primera ubicación de cuadrícula con índice comienza en la esquina superior izquierda de la cuadrícula.(1,1)
Utilice la clase para crear mapas 2-D de un entorno con valores de probabilidad que representen diferentes obstáculos en su mundo.OccupancyGrid Puede especificar valores de probabilidad exactos de celdas o incluir observaciones de sensores como escáneres láser.
Los valores de probabilidad se almacenan utilizando un filtro Bayes binario para estimar la ocupación de cada celda de rejilla. Se utiliza una representación de cuotas de registro, con valores almacenados para reducir el tamaño de almacenamiento del mapa y permitir aplicaciones en tiempo real.int16
Si el tamaño de la memoria es una limitación, considere usar en su lugar.robotics.BinaryOccupancyGrid La cuadrícula de ocupación binaria utiliza menos memoria con valores binarios, pero todavía funciona con algoritmos y otras aplicaciones.Robotics System Toolbox™
map = robotics.OccupancyGrid(width,height) crea un objeto de rejilla de ocupación 2-D que representa un espacio mundial de y en metros.widthheight La resolución de rejilla por defecto es de 1 célula por metro.
map = robotics.OccupancyGrid(width,height,resolution) crea una rejilla de ocupación con una resolución de rejilla especificada en celdas por metro.
map = robotics.OccupancyGrid(rows,cols,resolution,"grid") crea una rejilla de ocupación con el número especificado de filas y columnas y con la resolución en celdas por metro.
map = robotics.OccupancyGrid(p) crea una cuadrícula de ocupación a partir de los valores de Matrix.p El tamaño de la cuadrícula coincide con el tamaño de la matriz, con cada valor de probabilidad de celda interpretado desde la ubicación de la matriz.
map = robotics.OccupancyGrid(p,resolution) crea una rejilla de ocupación a partir de la matriz y resolución especificadas en celdas por metro.
escalar en metros
Ancho del mapa, especificado como un escalar en metros.
Altura del mapa, especificada como un escalar en metros.
resolution — La resolución de cuadrícula
Resolución de rejilla, especificada como un escalar en celdas por metro.
p — La rejilla de ocupación de entrada
matriz de valores de probabilidad de a01
Cuadrícula de ocupación de entrada, especificada como una matriz de valores de probabilidad de.01 El tamaño de la cuadrícula coincide con el tamaño de la matriz. Cada elemento de matriz corresponde a la probabilidad de que se ocupe la ubicación de celda de la cuadrícula. Los valores cercanos a 0 representan una alta certeza de que la celda contiene un obstáculo. Los valores cercanos a 1 representan la certeza de que la célula no está ocupada y libre de obstáculos.
FreeThreshold — Umbral para considerar las células como sin obstáculos
Umbral para considerar las celdas como libres de obstáculos, especificadas como un escalar. Los valores de probabilidad por debajo de este umbral se consideran libres de obstáculos. Esta propiedad también define las ubicaciones libres para la planificación de rutas de acceso cuando se usa.robotics.PRM
OccupiedThreshold — Umbral para considerar las celdas como ocupadas
Umbral para considerar las celdas como ocupadas, especificadas como un escalar. Los valores de probabilidad por encima de este umbral se consideran ocupados.
ProbabilitySaturation — Límites de saturación de probabilidad
[0.001 0.999] (predeterminado) | Vector[min max]
Límites de saturación para la probabilidad, especificados como vector.[min max] Los valores por encima o por debajo de estos valores de saturación se establecen en los valores y.minmax Esta propiedad reduce el exceso de saturación de las células al incorporar múltiples observaciones.
Vector[rows cols]
Número de filas y columnas de la cuadrícula, almacenada como un vector.[rows cols]
Resolución de rejilla, almacenada como un escalar en celdas por metro. Este valor es de solo lectura.
XWorldLimits — Los valores mínimos y máximos del rango de coordenadas del mundox
Vector[min max]
Valores de-coordenadas mínimos y máximos del rango mundial, almacenados como vector.x[min max] Este valor es de solo lectura.
YWorldLimits — Los valores mínimos y máximos del rango de coordenadas del mundoy
Valores de-coordenadas mínimos y máximos del rango mundial, almacenados como vector.y[min max] Este valor es de solo lectura.
GridLocationInWorld — coordenadas mundiales de la rejilla[x,y]
[0 0] (predeterminado) | Vector de dos elementos
coordenadas del mundo de la esquina inferior izquierda de la cuadrícula, especificado como un vector de dos elementos.[x,y]
Tome las lecturas de alcance y ángulo de un escaneo láser e inserte estas lecturas en una rejilla de ocupación.
Cree un mapa de cuadrícula de ocupación vacío.
Inserte un escaneo láser en la rejilla de ocupación. Especifique la pose de los rangos y ángulos del robot y el rango máximo del escaneo láser.
pose = [5,5,0]; ranges = 3*ones(100, 1); angles = linspace(-pi/2, pi/2, 100); maxrange = 20;          insertRay(map,pose,ranges,angles,maxrange);
Muestre el mapa para ver los resultados de la inserción del escaneo láser. Compruebe la ocupación del lugar directamente en frente del robot.
Añada una segunda lectura y visualice la actualización a los valores de ocupación. La lectura adicional aumenta la confianza en las lecturas. Los valores libres y ocupados se vuelven más distintos.
insertRay(map,pose,ranges,angles,maxrange); show(map)
Convierta un archivo de Graymap () portátil que contenga un mapa de ROS en un mapa para utilizarlo en MATLAB..pgmOccupancyGrid
Importa la imagen usando.imread Recorte la imagen en el área correspondiente.
Los valores de PGM se expresan de 0 a 255 como.uint8 Normalice estos valores convirtiendo la imagen recortada a y dividiendo cada celda por 255.double Esta imagen muestra los obstáculos como valores cercanos a 0. Reste la imagen normalizada de 1 para obtener los valores de ocupación con 1 representando el espacio ocupado.
imageNorm = double(imageCropped)/255; imageOccupancy = 1 - imageNorm;
Cree el objeto utilizando una imagen de mapa ajustada.OccupancyGrid La resolución de mapa importada es de 20 celdas por metro.
map = robotics.OccupancyGrid(imageOccupancy,20); show(map)
Los valores de ocupación tienen una resolución limitada de ± 0,001. Los valores se almacenan como mediante una representación de cuotas de registro.int16 Este tipo de datos limita la resolución, pero le ahorra memoria al almacenar mapas de gran tamaño.MATLAB® Al llamar y, a continuación, el valor devuelto podría no ser igual al valor que se establece.setget Para obtener más información, consulte la sección representaciones de cuotas de registro en.Rejillas de ocupación
| robotics.BinaryOccupancyGrid | robotics.PRM | robotics.PurePursuit |
Mapeo con poses conocidas
Rejillas de ocupación

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 

Resolución 

Resolución 
 resolución 
 resolución