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.

mpnetPrepareData

Prepare datos de entrenamiento para redes de planificación de movimiento

Desde R2023b

    Descripción

    ejemplo

    ds = mpnetPrepareData(dataset,mpnet) preprocesa los datos de entrada para entrenar las redes de planificación de movimiento (MPNet) en un modelo de espacio de estados SE(2).

    La función mpnetPrepareData :

    • Convierte el formato de las variables del espacio de estados al formato [x y cosθ sinθ]

    • Normaliza los valores de las variables del espacio de estados x y y para que se encuentren dentro del rango [0, 1].

    • Codifica el entorno del mapa de entrada en una representación compacta. La función utiliza un enfoque de codificación de conjunto de puntos básicos para codificar el mapa de entrada. El tamaño del entorno codificado se especifica mediante la propiedad EncodingSize del objeto de entrada mpnetSE2 .

    La función devuelve los datos de entrada procesados ​​como un objeto CombinedDatastore .

    Nota

    Para ejecutar esta función, necesitará el Deep Learning Toolbox™.

    Ejemplos

    contraer todo

    Cargue un conjunto de datos de muestra en el espacio de trabajo de MATLAB® .

    load("mazeMapDatasetSmall.mat","dataset")

    El conjunto de datos de muestra contiene mapas de laberintos y estados de ruta para poses de inicio y objetivo seleccionadas al azar.

    dataset
    dataset=4000×2 table
                 Map                  Path     
        ______________________    _____________
    
        1x1 binaryOccupancyMap    {14x3 single}
        1x1 binaryOccupancyMap    {17x3 single}
        1x1 binaryOccupancyMap    { 4x3 single}
        1x1 binaryOccupancyMap    {14x3 single}
        1x1 binaryOccupancyMap    {12x3 single}
        1x1 binaryOccupancyMap    {23x3 single}
        1x1 binaryOccupancyMap    {17x3 single}
        1x1 binaryOccupancyMap    {21x3 single}
        1x1 binaryOccupancyMap    {11x3 single}
        1x1 binaryOccupancyMap    {12x3 single}
        1x1 binaryOccupancyMap    {13x3 single}
        1x1 binaryOccupancyMap    {21x3 single}
        1x1 binaryOccupancyMap    {22x3 single}
        1x1 binaryOccupancyMap    {15x3 single}
        1x1 binaryOccupancyMap    {15x3 single}
        1x1 binaryOccupancyMap    {12x3 single}
          ⋮
    
    

    Inspeccione las muestras de estado correspondientes a una ruta en el conjunto de datos.

    dataset(1,2).Path{1}
    ans = 14x3 single matrix
    
        8.1186    8.7496    1.1838
        7.8296    7.8000    1.5686
        7.8519    6.8003    1.5859
        7.9013    6.0160    1.4482
        7.9458    5.0708    1.8336
        8.2926    4.5001    1.6930
        8.2603    3.8021    0.8278
        8.1499    2.8538    0.5393
        8.1577    2.7802    0.5799
        8.3016    2.4010    0.8270
          ⋮
    
    

    Cree un objeto MPNnet.

    mpnet = mpnetSE2;

    Preprocesar los datos de entrada para entrenar el MPNet. La función mpnetPrepareData preprocesa los datos y los almacena en un almacén de datos.

    ds = mpnetPrepareData(dataset,mpnet);

    Obtenga una vista previa de un subconjunto de los datos almacenados en el objeto del almacén de datos. Inspeccionar los valores.

    La función mpnetPrepareData codifica (reescala) todos los mapas de entrada a un tamaño de 10 por 10 metros y reemplaza la variable de espacio de estado. θcon sus componentes coseno y seno. Por lo tanto, las variables del espacio de estados pasadas como entrada a MPNet están en el formato[x,y,cos θ,sin θ]. La función normaliza las variables del espacio de estados.x yyestar dentro del rango [0, 1]. La primera columna del almacén de datos almacena el estado actual preprocesado, el estado objetivo y los estados en los mapas codificados. La segunda columna almacena el siguiente estado preprocesado.

    ProcessedData = preview(ds);
    ProcessedData(1,2)
    ans = 1x1 cell array
        {[0.5391 0.5390 0.5011 1.0000]}
    
    

    Argumentos de entrada

    contraer todo

    Conjunto de datos para entrenar MPNet, especificado como un arreglo de celdas o una tabla.

    • Si utiliza solo un entorno de mapa para entrenar y probar MPNet, el arreglo o tabla de celdas debe tener un tamaño M por 1. M es el número de muestras de ruta óptimas que se utilizarán para entrenar MPNet.

    • Si utiliza MPNnet para entrenamiento y pruebas en múltiples entornos de mapas, el arreglo o tabla de celdas debe tener un tamaño M por 2. M es el número total de muestras de ruta óptima. Por ejemplo, si considera 2 entornos de mapas diferentes con 10 muestras de ruta óptimas cada uno, entonces el valor de M es 20.

      La primera columna de la tabla debe contener los entornos del mapa de entrada para los cuales se generan las muestras de ruta óptimas. La segunda columna de la tabla debe contener las muestras de ruta óptimas generadas. Por lo tanto, cada fila de la tabla contiene un mapa y una muestra de ruta óptima asociada. Debe almacenar los mapas de entrada como objetos occupancyMap o binaryOccupancyMap .

    Se deben generar muestras de ruta óptimas en el conjunto de datos para valores aleatorios de pose inicial y pose objetivo en cada mapa. Debe especificar cada ruta óptima como un vector fila de la forma [x y θ]. x, y, and θ are the state space variables.

    Tipos de datos: cell | table

    MPNet para entrenar en el conjunto de datos, especificado como un objeto mpnetSE2 .

    Argumentos de salida

    contraer todo

    Datos preprocesados ​​para entrenar MPNet, devueltos como un objeto CombinedDatastore . El almacén de datos contiene dos columnas. La primera columna almacena el estado actual preprocesado, el estado objetivo y los estados en el entorno del mapa de entrada. La segunda columna almacena el siguiente estado preprocesado.

    Referencias

    [1] Prokudin, Sergey, Christoph Lassner, and Javier Romero. “Efficient Learning on Point Clouds with Basis Point Sets.” In 2019 IEEE/CVF International Conference on Computer Vision Workshop (ICCVW), 3072–81. Seoul, Korea (South): IEEE, 2019. https://doi.org/10.1109/ICCVW.2019.00370.

    [2] Qureshi, Ahmed Hussain, Yinglong Miao, Anthony Simeonov, and Michael C. Yip. “Motion Planning Networks: Bridging the Gap Between Learning-Based and Classical Motion Planners.” IEEE Transactions on Robotics 37, no. 1 (February 2021): 48–66. https://doi.org/10.1109/TRO.2020.3006716.

    Historial de versiones

    Introducido en R2023b

    Consulte también

    Objetos