Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

isConnected

Compruebe si el gráfico de factores está conectado

Desde R2022a

Descripción

La función isConnected devuelve un indicador lógico que indica si el gráfico factorial, o un gráfico factorial parcial creado a partir de nodos de pose específicos, contiene una ruta entre cada par de nodos.

connected = isConnected(fg) devuelve un indicador lógico que indica si el gráfico de factores especificado contiene una ruta entre cada par de nodos asociados con él.

ejemplo

connected = isConnected(fg,poseNodeIDs) devuelve un indicador lógico que indica si un gráfico de factores parciales compuesto por los identificadores de nodos de pose especificados poseNodeIDs, y factores relacionados y nodos que no son de pose, contiene una ruta entre cada par de nodos. Para obtener más información, consulte Conectividad del gráfico de factores.

Ejemplos

contraer todo

Crea una gráfica de factores.

fg = factorGraph;
poseIDs1 = generateNodeID(fg,2,"factorTwoPoseSE3")
poseIDs1 = 2×2

     0     1
     1     2

poseFactors1 = factorTwoPoseSE3(poseIDs1);
addFactor(fg,poseFactors1);

Verifique la conectividad.

isConnected(fg)
ans = logical
   1

El gráfico está conectado porque hay una ruta entre cada par de nodos del gráfico. Por ejemplo, puede llegar al nodo 2 desde el nodo 0 pasando por el nodo 1.

Luego intente agregar un nodo desconectado. Genere una ID de nodo para un factor GPS.

gpsID = generateNodeID(fg,1,"factorGPS")
gpsID = 
3

Cree el factor GPS y agréguelo al gráfico de factores.

gpsFactor = factorGPS(gpsID);
addFactor(fg,gpsFactor);

Verifique la conectividad. Tenga en cuenta que debido a que el nuevo nodo especificado por el factor GPS no está conectado a ninguno de los nodos anteriores, se produce una desconexión.

isConnected(fg)
ans = logical
   0

Agregue otro factor entre el nodo 2 y el nodo 3 para resolver esta desconexión.

poseFactors2 = factorTwoPoseSE3([2 3]);
addFactor(fg,poseFactors2);

Verifique la conectividad para verificar que el gráfico esté conectado nuevamente.

isConnected(fg)
ans = logical
   1

Argumentos de entrada

contraer todo

Gráfico factorial, especificado como un objeto factorGraph.

Identificadores de nodos de pose para verificar la conexión dentro del gráfico factorial, especificados como un vector fila de elementos N de números enteros no negativos. N es el número total de nodos para verificar.

Los nodos de pose especificados por poseNodeIDs deben ser todos del tipo "POSE_SE2", o deben ser todos del tipo "POSE_SE3". Los nodos de pose especificados también deben ser únicos. Por ejemplo, poseNodeIDs no puede ser [1 2 1] porque el ID de nodo 1 no es único en este vector.

Los nodos de pose especificados en el gráfico de factores deben formar un gráfico de factores conectado. Para obtener más información, consulte Conectividad del gráfico de factores.

Argumentos de salida

contraer todo

El gráfico está conectado en el gráfico factorial o en el gráfico factorial parcial, devuelto como 1 (true) si el gráfico factorial contiene una ruta entre cada par de nodos especificados y 0 (false) si no contiene una ruta entre cada par de nodos especificados.

Más acerca de

contraer todo

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2022a

expandir todo

Consulte también

Objetos