factorTwoPoseSIM3
Descripción
El objeto factorTwoPoseSIM3
contiene factores que describen la relación entre un par de poses de transformación de similitud en el espacio de estados SIM(3). Una pose de transformación de similitud en el espacio de estados SIM(3) se representa utilizando una combinación de una pose SE(3) y una escala de pose escalar. Puede utilizar este objeto para agregar uno o más factores a un objeto factorGraph
.
Creación
Descripción
establece propiedades utilizando uno o más argumentos de nombre-valor. Por ejemplo, F
= factorTwoPoseSIM3(nodeID
,Name=Value
)Measurement=[1 2 3 4 5 6 7 8]
establece la propiedad Measurement
del objeto factorTwoPoseSIM3
en [1 2 3 4 5 6 7 8]
.
Argumentos de entrada
Números de identificación de nodo, especificados como una matriz N por 4 de números enteros no negativos, donde N es el número de factores. Cada fila representa un factor que se conecta a dos poses de transformación de similitud en el espacio de estados SIM(3). Una pose de transformación de similitud en el espacio de estados SIM(3) se representa utilizando una combinación de un nodo de pose SE(3) (POSE_SE3
) y un nodo de escala de pose SE(3) (POSE_SE3_SCALE
).
Cada fila tiene la forma [PoseID1 PoseScaleID1 PoseID2 PoseScaleID2], donde PoseID1 y PoseScaleID1 son el nodo de pose SE(3) y el nodo de escala de pose, respectivamente, de la primera pose SIM(3) y PoseID2 y PoseScaleID2 son el nodo de pose SE(3) y el nodo de escala de pose, respectivamente, de la segunda pose SIM(3).
Si un factor en el argumento nodeID
especifica un ID de nodo que no existe en el gráfico de factores, entonces al agregar el factor al gráfico de factores se agrega un nodo del tipo correspondiente con ese ID al gráfico de factores.
Para obtener más información sobre los tipos de nodos esperados de todos los factores admitidos, consulte Tipos de nodos esperados de objetos de factores.
Este argumento establece NodeID
.
Argumentos de par nombre-valor
Poses relativas SE(3) o SIM(3) medidas, especificadas como una matriz N por 7 o una matriz N por 8. N es el número de factores especificados.
Matriz
N
por 7: cada fila especifica una pose relativa SE(3) con la forma [dx dy dz dqw dqx dqy dqz].Matriz
N
por 8: cada fila especifica una pose relativa SIM(3) con la forma [dx dy dz dqw dqx dqy dqz ds].
dx, dy y dz son los cambios de posición en los ejes x, y y z respectivamente. dqw, dqx, dqy y dqz son los cambios en la rotación del cuaternión para los componentes w, x, y y z, respectivamente. ds es el cambio de escala.
Cuando optimiza el gráfico de factores al que pertenece este factor, la función optimize
normaliza la medición del cuaternión del factor antes de la optimización.
Este argumento establece Measurement
.
Matriz
N
por 7: la matrizMeasurement
se extiende agregando una octava columna que representa la escala relativa, y cada fila contiene un valor escalar predeterminado de 1. Esta matriz actualizada estableceMeasurement
.Matriz
N
por 8: la matrizMeasurement
estableceMeasurement
.
Tipos de datos: single
| double
Matriz de información asociada a la incertidumbre de la medición, especificada como una matriz de 7 por 7 o una matriz de 7 por 7 por N. N es el número de factores. Cuando se especifica como una matriz de 7 por 7, la misma matriz de información se aplica a todos los factores.
Este argumento establece Information
.
Tipos de datos: single
| double
Argumentos de salida
Factores que relacionan las poses de transformación de similitud en el espacio de estados SIM(3), devueltos como un objeto factorTwoPoseSIM3
.
Propiedades
Esta propiedad es de sólo lectura después de la creación del objeto. Para establecer esta propiedad, utilice el argumento nodeID
al llamar a la función factorTwoPoseSIM3
.
Números de identificación de nodo, especificados como una matriz N por 4 de números enteros no negativos, donde N es el número de factores. Cada fila representa un factor que se conecta a dos poses de transformación de similitud en el espacio de estados SIM(3). Una pose de transformación de similitud en el espacio de estados SIM(3) se representa utilizando una combinación de un nodo de pose SE(3) (POSE_SE3
) y un nodo de escala de pose SE(3) (POSE_SE3_SCALE
).
Cada fila tiene la forma [PoseID1 PoseScaleID1 PoseID2 PoseScaleID2], donde PoseID1 y PoseScaleID1 son el nodo de pose SE(3) y el nodo de escala de pose, respectivamente, de la primera pose SIM(3) y PoseID2 y PoseScaleID2 son el nodo de pose SE(3) y el nodo de escala de pose, respectivamente, de la segunda pose SIM(3).
Si un factor en la propiedad NodeID
tiene un ID de nodo que no existe en el gráfico de factores, entonces al agregar el factor al gráfico de factores se agrega un nodo del tipo correspondiente con ese ID al gráfico de factores.
Para obtener más información sobre los tipos de nodos esperados de todos los factores admitidos, consulte Tipos de nodos esperados de objetos de factores.
Poses relativas SE(3) o SIM(3) medidas, especificadas como una matriz N por 7 o una matriz N por 8. N es el número de factores especificados.
Matriz
N
por 7: cada fila especifica una pose relativa SE(3) con la forma [dx dy dz dqw dqx dqy dqz].Matriz
N
por 8: cada fila especifica una pose relativa SIM(3) con la forma [dx dy dz dqw dqx dqy dqz ds].
dx, dy y dz son los cambios de posición en los ejes x, y y z respectivamente. dqw, dqx, dqy y dqz son los cambios en la rotación del cuaternión para los componentes w, x, y y z, respectivamente. ds es el cambio de escala.
Cuando optimiza el gráfico de factores al que pertenece este factor, la función optimize
normaliza la medición del cuaternión del factor antes de la optimización.
Tipos de datos: single
| double
Matriz de información asociada a la incertidumbre de la medición, especificada como una matriz de 7 por 7 o una matriz de 7 por 7 por N. N es el número de factores. Cuando se especifica como una matriz de 7 por 7, la misma matriz de información se aplica a todos los factores.
Tipos de datos: single
| double
Funciones del objeto
nodeType | Obtener el tipo de nodo en el gráfico de factores |
Ejemplos
Este ejemplo muestra cómo crear un factor de transformación de similitud utilizando el objeto factorTwoPoseSIM3
y agregarlo a un gráfico de factores.
Especifique 4 ID que representen nodos de pose y nodos de escala de pose de dos poses SIM(3) consecutivas.
% SE(3)pose node ID of first SIM(3) pose poseID1 = 0; % pose scale node ID of first SIM(3) pose scaleID1 = 1; % SE(3)pose node ID of second SIM(3) pose poseID2 = 2; % pose scale node ID of second SIM(3) pose scaleID2 = 3;
Para crear un factor de transformación de similitud que conecte las dos poses SIM(3), cree un objeto factorTwoPoseSIM3
especificando los 4 ID de nodo.
factor1 = factorTwoPoseSIM3([poseID1,scaleID1,poseID2,scaleID2],Measurement=[0,0.1,0,1,0,0,0,0.2], Information=2*eye(7));
Crea un gráfico de factores predeterminado y agrégale el objeto factorTwoPoseSIM3
. Esto agregará el factor de transformación de similitud al gráfico.
G = factorGraph; addFactor(G,factor1);
Observa los tipos de nodos.
nodeType(G,poseID1)
ans = "POSE_SE3"
nodeType(G,scaleID1)
ans = "POSE_SE3_SCALE"
La función generateNodeId
se puede utilizar para generar identificaciones de nodos automáticamente.
nodeIDs = generateNodeID(G,1,"factorTwoPoseSIM3")
nodeIDs = 1×4
4 5 6 7
Cree un objeto factorTwoPoseSIM3
utilizando los ID de nodo generados.
factor2 = factorTwoPoseSIM3(nodeIDs);
Añade el factor al gráfico de factores.
addFactor(G,factor2);
factorTwoPoseSIM3
también admite la medición SE(3) del tipo [dx dy dz dqw dqx dqy dqz]
.
Si la medida especificada es una medida SE(3), a la última columna, que representa la escala relativa, se le asigna un valor predeterminado de 1 para todos los factores en el objeto factorTwoPoseSIM3
.
nodeIDs = generateNodeID(G,1,"factorTwoPoseSIM3"); factor3 = factorTwoPoseSIM3(nodeIDs, "Measurement",[0,0.1,0,1,0,0,0])
factor3 = factorTwoPoseSIM3 with properties: NodeID: [8 9 10 11] Measurement: [0 0.1000 0 1 0 0 0 1] Information: [7×7 double]
addFactor(G,factor3);
Más acerca de
La propiedad NodeID
de cada objeto de factor especifica y se conecta a estos tipos de nodos:
Objeto de factor | Tipos de nodos esperados de ID de nodos especificados |
---|---|
factorGPS | ["POSE_SE3"] |
factorIMU | ["POSE_SE3","VEL3","IMU_BIAS","POSE_SE3","VEL3","IMU_BIAS"] |
factorCameraSE3AndPointXYZ | ["POSE_SE3","POINT_XYZ"] o ["POSE_SE3","POINT_XYZ","TRANSFORM_SE3"] |
factorPoseSE2AndPointXY | ["POSE_SE2","POINT_XY"] |
factorPoseSE3AndPointXYZ | ["POSE_SE3","POINT_XYZ"] |
factorTwoPoseSE2 | ["POSE_SE2","POSE_SE2"] |
factorTwoPoseSE3 | ["POSE_SE3","POSE_SE3"] |
factorTwoPoseSIM3 | ["POSE_SE3","POSE_SE3_SCALE","POSE_SE3","POSE_SE3_SCALE"] |
factorIMUBiasPrior | ["IMU_BIAS"] |
factorPoseSE3Prior | ["POSE_SE3"] |
factorVelocity3Prior | ["VEL_3"] |
Por ejemplo, factorPoseSE2AndPointXY([1 2])
crea un factor de referencia 2-D que se conecta a los identificadores de nodo 1 y 2. Si intenta agregar ese factor a un gráfico de factores que ya contiene nodos con los ID 1 y 2, el factor espera que los nodos 1 y 2 sean de los tipos "POSE_SE2"
y "POINT_XY"
, respectivamente.
Historial de versiones
Introducido en R2025a
Consulte también
Objetos
Funciones
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)