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.

removeLoopClosures

Eliminar cierres de bucle del gráfico de pose

Desde R2019b

Descripción

removeLoopClosures(slamObj) elimina todos los cierres de bucle del gráfico de pose subyacente en slamObj.

ejemplo

removeLoopClosures(slamObj,lcEdgeIDs) elimina los bordes de cierre del bucle con los ID especificados del gráfico de pose subyacente en slamObj.

Ejemplos

contraer todo

Cargue datos de escaneo láser desde un archivo.

load("offlineSlamData.mat");

Para configurar el algoritmo SLAM:

  1. Especifique el rango lidar, la resolución del mapa, el umbral de cierre del bucle y el radio de búsqueda.

  2. Ajuste estos parámetros para su robot y entorno específicos.

  3. Cree el objeto lidarSLAM con estos parámetros.

maxLidarRange = 8;
mapResolution = 20;
slamObj = lidarSLAM(mapResolution,maxLidarRange);
slamObj.LoopClosureThreshold = 210;  
slamObj.LoopClosureSearchRadius = 8;

Agregue escaneos de forma iterativa al objeto SLAM.

for i = 1:numel(scans)
    addScan(slamObj,scans{i});
end

Crea una copia del objeto SLAM. Muestra el gráfico de pose subyacente del objeto SLAM.

slamObj2 = copy(slamObj);
slamObj2.PoseGraph
ans = 
  poseGraph with properties:

               NumNodes: 71
               NumEdges: 83
    NumLoopClosureEdges: 13
     LoopClosureEdgeIDs: [31 36 63 65 67 69 71 73 75 77 79 81 83]
        LandmarkNodeIDs: [1x0 double]

Elimine los dos primeros cierres de bucle especificando sus ID de borde.

lcEdgeIDs = slamObj2.PoseGraph.LoopClosureEdgeIDs(1:2);
removeLoopClosures(slamObj2,lcEdgeIDs)

Trace los gráficos de pose del objeto SLAM antes y después de eliminar los cierres de bucle.

subplot(2,1,1)
show(slamObj.PoseGraph);
subplot(2,1,2)
show(slamObj2.PoseGraph);

Figure contains 2 axes objects. Axes object 1 with xlabel X, ylabel Y contains 42 objects of type line, text. One or more of the lines displays its values using only markers Axes object 2 with xlabel X, ylabel Y contains 36 objects of type line, text. One or more of the lines displays its values using only markers

Argumentos de entrada

contraer todo

Objeto Lidar SLAM, especificado como un objeto lidarSLAM . El objeto contiene los parámetros del algoritmo SLAM, los datos del sensor y el gráfico de pose subyacente utilizado para construir el mapa.

ID de borde de cierre de bucle, especificados como un vector de números enteros positivos. Para encontrar ID de borde específicos, use findEdgeID en el objeto poseGraph subyacente definido en slamObj.

Capacidades ampliadas

Historial de versiones

Introducido en R2019b