Contenido principal

mobileRobotPRM

Cree un planificador de trayectorias basado en roadmap probabilístico

Descripción

El objeto mobileRobotPRM es un objeto de planificador de trayectorias basado en roadmap para el mapa de entorno especificado en la propiedad Map. El objeto utiliza el mapa para generar un roadmap, que es un grafo de red de posibles trayectorias 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 trayectoria libre de obstáculos desde una ubicación inicial hasta una final.

Una vez definido el mapa, el planificador de trayectorias 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 trayectoria libre de obstáculos utilizando esta red de conexiones. Si findpath no encuentra una trayectoria conectada, devuelve un arreglo vacío. Se puede mejorar la probabilidad de encontrar una trayectoria conectada aumentando el número de nodos o la distancia de conexión, pero es necesario ajustar estas propiedades. Para visualizar el roadmap y la trayectoria 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 el roadmap.

Creación

Descripción

planner = mobileRobotPRM crea un roadmap vacío con las propiedades predeterminadas. Para poder utilizar el roadmap, debe especificar un objeto binaryOccupancyMap en la propiedad Map.

planner = mobileRobotPRM(map) crea un roadmap 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 un roadmap, especificado como un escalar. Si aumenta este valor, aumenta la complejidad y el tiempo de cálculo del planificador de trayectorias.

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 trayectoria. 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. Si aumenta este valor, aumenta la complejidad y el tiempo de cálculo del planificador de trayectorias.

Funciones del objeto

findpathEncontrar trayectorias entre el punto inicial y el punto objetivo en el roadmap
showMostrar el mapa, el roadmap y la trayectoria
updateCrear o actualizar un roadmap

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2019b

expandir todo