nodeIDs
Descripción
La función nodeIDs obtiene todos los ID de nodo o un subconjunto de ID de nodo de un gráfico de factores para nodos del mismo tipo de nodo, ID de grupo o se conectan a factores del mismo tipo de factor.
Ejemplos
Este ejemplo muestra cuatro formas de consultar un gráfico de factores para ID de nodo.
Cree un gráfico de factores que contenga cuatro nodos de pose SE(3).
fg = factorGraph;
poseIDs = generateNodeID(fg,3,"factorTwoPoseSE3")poseIDs = 3×2
0 1
1 2
2 3
poseFactors = factorTwoPoseSE3(poseIDs);
Cree ID de grupo que colocarán los ID de nodo 0 y 1 en el grupo 1, y los ID de nodo 2 y 3 en el grupo 2.
group = [1 1;
1 2;
2 2];
addFactor(fg,poseFactors,group);Cree y agregue un factor de referencia que conecte el nodo 3 con un nuevo nodo 4. Agregue ambos nodos al grupo 3. Tenga en cuenta que los nodos pueden existir en más de un grupo al mismo tiempo.
lmFactor = factorPoseSE3AndPointXYZ([3 4]); addFactor(fg,lmFactor,3);
Obtener todas las identificaciones en el gráfico de factores
Utilice nodeIDs para obtener todos los ID en el gráfico de factores sin especificar argumentos adicionales aparte del gráfico de factores.
idAll = nodeIDs(fg)
idAll = 1×5
0 1 2 3 4
Obtener ID de nodo por tipo de nodo
Utilice nodeIDs y especifique el argumento de nombre-valor NodeType como "POSE_SE3" para obtener todos los nodos de pose SE(3).
idByNode = nodeIDs(fg,NodeType="POSE_SE3")idByNode = 1×4
0 1 2 3
Obtener ID de nodo por tipo de factor
Utilice nodeIDs y especifique el argumento de nombre-valor FactorType como "factorPoseSE3AndPointXYZ" para obtener todos los nodos relacionados por un factor factorPoseSE3AndPointXYZ.
idByFactor = nodeIDs(fg,FactorType="factorPoseSE3AndPointXYZ")idByFactor = 1×2
3 4
Obtener ID de nodo por ID de grupo
Utilice nodeIDs y especifique el argumento de nombre-valor FactorType como "factorTwoPoseSE3" para obtener todos los nodos relacionados por un factor factorTwoPoseSE3.
idGroup1 = nodeIDs(fg,GroupID=1)
idGroup1 = 1×2
0 1
idGroup2 = nodeIDs(fg,GroupID=2)
idGroup2 = 1×2
2 3
idGroup3 = nodeIDs(fg,GroupID=3)
idGroup3 = 1×2
3 4
Argumentos de entrada
Gráfico factorial, especificado como un objeto factorGraph.
Argumentos de par nombre-valor
Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de los otros argumentos, pero el orden de los pares no importa.
Ejemplo: nodeIDs(fg,GroupID=1) recupera todos los ID de nodos del gráfico factorial fg que están asociados con el grupo 1.
Tipo de nodo de los nodos deseados en el gráfico de factores, especificado como una de estas opciones:
"POSE_SE2"— Pose en el espacio de estados SE(2)"POSE_SE3"— Pose en el espacio de estados SE(3)"POSE_SE3_SCALE"— Escala de pose en el espacio de estados SE(3)"TRANSFORM_SE3"— Transformación del sensor en el espacio de estados SE(3)"VEL3"— Velocidad 3D"POINT_XY"— Punto 2-D"POINT_XYZ"— Punto 3D"IMU_BIAS"— Sesgo del giroscopio y del acelerómetro de la IMU
Ejemplo: nodeIDs(fg,NodeType="POSE_SE2") recupera todos los ID de nodo de los nodos que son del tipo de nodo POSE_SE2.
Tipos de datos: char | string
Tipo de factor con el que se relacionan los nodos en el gráfico de factores, especificado como una de estas opciones:
"factorIMU"—factorIMU"factorGPS"—factorGPS"factorCameraSE3AndPointXYZ"—factorCameraSE3AndPointXYZ"factorPoseSE2AndPointXY"—factorPoseSE2AndPointXY"factorPoseSE3AndPointXYZ"—factorPoseSE3AndPointXYZ"factorTwoPoseSE2"—factorTwoPoseSE2"factorTwoPoseSE3"—factorTwoPoseSE3"factorTwoPoseSIM3"—factorTwoPoseSIM3"factorIMUBiasPrior"—factorIMUBiasPrior"factorPoseSE3Prior"—factorPoseSE3Prior"factorVelocity3Prior"—factorVelocity3Prior
Ejemplo: nodeIDs(fg,FactorType="factorTwoPoseSE2") recupera todos los ID de nodo de los nodos que se relacionan con factores de tipo factorTwoPoseSE2.
Tipos de datos: char | string
ID de grupo de los nodos deseados, especificado como un entero no negativo o un vector fila de elementos N de enteros no negativos. N es el número de grupos.
Si GroupID es un vector fila de elementos N de números enteros no negativos, no debe haber identificadores de grupo duplicados en el vector.
Para agregar nodos a un grupo, especifique el grupo utilizando el argumento groupID de la función addFactor.
Ejemplo: nodeIDs(fg,GroupID=4) recupera todos los ID de los nodos que están en el grupo 4.
Argumentos de salida
ID de nodo de todos los nodos que se ajustan a los criterios especificados dentro del objeto factorGraph especificado, devueltos como un vector fila de elementos N. N es el número de nodos devueltos. Tenga en cuenta que los ID de los nodos pueden no ser continuos dentro del vector.
Capacidades ampliadas
Al generar código C portable con un compilador C++, debe especificar el empaquetado jerárquico con encabezados no mínimos. Para obtener más información sobre las opciones de embalaje, consulte la función packNGo (MATLAB Coder).
Historial de versiones
Introducido en R2022aAhora puede obtener los ID de nodos relacionados mediante el factor de transformación de similitud SIM(3) utilizando el objeto factorTwoPoseSIM3. Ahora puede obtener los ID de nodos de escala de pose usando "POSE_SE3_SCALE" y los ID de nodos de transformación de sensores usando "TRANSFORM_SE3".
nodeIDs ahora permite obtener identificaciones de nodos que coincidan con el tipo de nodo, el tipo de factor o la identificación de grupo.
Consulte también
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)