Main Content

mobileRobotPRM

Cree un planificador de rutas de hojas de ruta probabilísticas

Descripción

El objeto mobileRobotPRM es un objeto de planificador de rutas de hojas de ruta para el mapa de entorno especificado en la propiedad Map. El objeto utiliza el mapa para generar una hoja de ruta, que es una gráfica de red de posibles rutas en el mapa basada en los espacios libres y ocupados. Puede personalizar el número de nodos, NumNodes, y la distancia de conexión, ConnectionDistance, para adaptarlos a la complejidad del mapa y encontrar una ruta libre de obstáculos desde una ubicación inicial hasta una final.

Una vez definido el mapa, el planificador de rutas mobileRobotPRM genera el número especificado de nodos en los espacios libres del mapa. Se establece una conexión entre nodos cuando una línea entre dos nodos no contiene obstáculos y está dentro de la distancia de conexión especificada.

Después de definir una posición inicial y una final, utilice el método findpath para encontrar una ruta libre de obstáculos utilizando esta red de conexiones. Si findpath no encuentra una ruta conectada, devuelve un arreglo vacío. Se puede mejorar la probabilidad de encontrar una ruta conectada aumentando el número de nodos o la distancia de conexión, pero es necesario ajustar estas propiedades. Para ver la hoja de ruta y la ruta generada, utilice las opciones de visualización de show. Si cambia alguna de las propiedades de mobileRobotPRM, llame a update, show o a findpath para volver a crear la hoja de ruta.

Creación

Descripción

planner = mobileRobotPRM crea una hoja de ruta vacía con las propiedades predeterminadas. Para poder utilizar la hoja de ruta, debe especificar un objeto binaryOccupancyMap en la propiedad Map.

planner = mobileRobotPRM(map) crea una hoja de ruta con map definido como la propiedad Map, donde map es un objeto binaryOccupancyMap.

planner = mobileRobotPRM(map,numnodes) define el número máximo de nodos, numnodes, en la propiedad NumNodes.

Argumentos de entrada

expandir todo

Representación de mapa, especificada como un objeto binaryOccupancyMap. Este objeto representa el entorno del robot. El objeto es una cuadrícula de matriz con valores binarios que indican los obstáculos como true (1) y las ubicaciones libres como false (0).

Número máximo de nodos de una hoja de ruta, especificado como un escalar. Si aumenta este valor, aumenta la complejidad y el tiempo de cálculo del planificador de rutas.

Propiedades

expandir todo

Distancia máxima entre dos nodos conectados, especificada como un par separado por comas compuesto por "ConnectionDistance" y un escalar en metros. Esta propiedad controla si los nodos se conectan en función de la separación entre ellos. Los nodos solo se conectan si no hay obstáculos directos en la ruta. Al disminuir este valor, disminuye el número de conexiones, pero también disminuye la complejidad y el tiempo de cálculo.

Representación de mapa, especificada como un par separado por comas compuesto por "Map" y un objeto binaryOccupancyMap u occupancyMap (Navigation Toolbox). Este objeto representa el entorno del robot. El objeto es una cuadrícula de matriz con valores que indican la ocupación de las ubicaciones del mapa.

Número de nodos del mapa, especificado como un par separado por comas compuesto por "NumNodes" y un escalar. Al incrementar este valor, se incrementa la complejidad y el tiempo de cálculo del planificador de rutas.

Funciones del objeto

findpathEncontrar rutas entre el punto inicial y el punto objetivo en la hoja de ruta
showMostrar el mapa, la hoja de ruta y la ruta
updateCrear o actualizar una hoja de ruta

Capacidades ampliadas

Historial de versiones

Introducido en R2019b

expandir todo