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.

se2

Transformación homogénea SE(2)

Desde R2022b

    Descripción

    El objeto se2 representa una transformación SE(2) como una matriz de transformación homogénea 2-D que consta de una traslación y una rotación.

    Para obtener más información, consulte la sección Matriz de transformación homogénea 2D .

    Este objeto actúa como una matriz numérica, permitiéndote componer poses usando multiplicación y división.

    Creación

    Descripción

    Matrices de rotación, vectores de traducción y matrices de transformación

    transformation = se2 crea una transformación SE(2) que representa una rotación de identidad sin traducción.

    transformation=[100010001]

    transformation = se2(rotation) crea una transformación SE(2) que representa una rotación pura definida por la rotación ortonormal rotation sin traducción. La matriz de rotación está representada por los elementos en la parte superior izquierda de la matriz transformation .

    rotation=[r11r12r21r22]

    transformation=[r11r120r21r220001]

    transformation = se2(rotation,translation) crea una transformación SE(2) que representa una rotación definida por la rotación ortonormal rotation y la traslación translation. La función aplica primero la matriz de rotación y luego el vector de traslación para crear la transformación.

    rotation=[r11r12r21r22], translation=[t1t2]

    transformation=[r11r12t1r21r22t2001]=[10t101t2001]·[r11r120r21r220001]

    transformation = se2(transformation) crea una transformación SE(2) que representa una traslación y rotación definida por la transformación homogénea transformation.

    Otras rotaciones 2-D y representaciones de transformación

    transformation = se2(angle,"theta") crea transformaciones SE(2) transformation a partir de rotaciones alrededor del eje z, en radianes. La transformación contiene traducción cero.

    ejemplo

    transformation = se2(angle,"theta",translation) crea transformaciones SE(2) a partir de rotaciones alrededor del eje z, en radianes, con traslaciones translation.

    transformation = se2(translation,"trvec") crea una transformación SE(2) a partir del vector de traducción translation.

    transformation = se2(pose,"xytheta") crea una transformación SE(2) a partir de la pose compacta 2-D pose.

    Argumentos de entrada

    expandir todo

    Rotación ortonormal, especificada como una matriz de 2 por 2, un arreglo de 2 por 2 por N , un objeto escalar so2 o un N arreglo de elementos de so2 objetos. N es el número total de rotaciones.

    Si rotation contiene más de una rotación y también especifica translation en la construcción, el número de traslaciones en translation debe ser uno o igual al número de rotaciones en rotation. El número resultante de objetos de transformación es igual al valor del argumento translation o rotation , el que sea mayor.

    Si rotation contiene una rotación y también especifica translation como una matriz N-por-2, entonces las transformaciones resultantes contienen la misma rotación especificada por rotation y el vector de traducción correspondiente en translation. El número resultante de objetos de transformación es igual al número de traducciones en translation.

    Ejemplo: eye(2)

    Tipos de datos: single | double

    Traducción, especificada como una matriz N por 2. N es el número total de traducciones y cada traducción tiene la forma [x y].

    Si translation contiene más de una traducción, el número de rotaciones en rotation debe ser uno o igual al número de traducciones en translation. El número resultante de objetos de transformación creados es igual al valor del argumento translation o rotation , el que sea mayor.

    Si especifica más de una traslación pero solo una rotación, las transformaciones resultantes contienen la misma rotación especificada en rotation y la traducción correspondiente en translation. El número resultante de objetos se2 creados es igual al valor del translation.

    Ejemplo: [1 4]

    Tipos de datos: single | double

    Transformación homogénea, especificada como una matriz de 3 por 3, un arreglo de 3 por 3 N , un objeto escalar se3 o un N arreglo de elementos de se2 objetos. N es el número total de transformaciones especificadas.

    Si transformation es un arreglo, el número resultante de objetos se2 creados es igual a N.

    Ejemplo: eye(3)

    Tipos de datos: single | double

    z-ángulo de rotación del eje, especificado como una matriz N-por- M . Cada elemento de la matriz es un ángulo, en radianes, alrededor del eje z. El objeto se2 crea un objeto se2 para cada ángulo.

    Si angle es una matriz N-por- M , el número resultante de objetos se2 creados es igual a N.

    El ángulo de rotación es positivo en el sentido contrario a las agujas del reloj cuando miras a lo largo del eje hacia el origen.

    Tipos de datos: single | double

    Pose compacta 3-D, especificada como una matriz N-por 3, donde N es el número total de poses compactas. Cada fila es una pose, compuesta por una posición xy y una rotación alrededor del eje z, en la forma [x y theta]. x, y son las posiciones xy y theta es la rotación alrededor del eje z.

    Si pose es una matriz N-por-3, el número resultante de objetos se2 creados es igual a N.

    Tipos de datos: single | double

    Funciones del objeto

    expandir todo

    mtimes, *Multiplicación de transformación o rotación.
    mrdivide, /División derecha de transformación o rotación.
    rdivide, ./Transformación por elementos o división por rotación hacia la derecha
    times, .*Transformación por elementos o multiplicación de rotación
    interpInterpolar entre transformaciones
    distCalcular la distancia entre transformaciones.
    normalizeNormalizar matriz de transformación o rotación
    transformAplicar transformación de cuerpo rígido a puntos.
    rotmExtraer matriz de rotación
    trvecExtraer vector de traducción
    tformExtraer transformación homogénea.
    thetaConvertir transformación o rotación a ángulo de rotación 2-D
    xythetaConvierta la transformación o rotación en una representación de pose compacta en 2D
    so2SO(2) rotación

    Ejemplos

    contraer todo

    Defina un ángulo de rotación de pi/4 y una traslación xyz de [6 4].

    angle = pi/6;
    trvec = [2 1];

    Cree una transformación SE(2) usando el ángulo y la traslación.

    TF = se2(angle,"theta",trvec)
    TF = se2
        0.8660   -0.5000    2.0000
        0.5000    0.8660    1.0000
             0         0    1.0000
    
    

    Algoritmos

    expandir todo

    Capacidades ampliadas

    Generación de código C/C++
    Genere código C y C++ mediante MATLAB® Coder™.

    Historial de versiones

    Introducido en R2022b

    expandir todo

    Consulte también

    Funciones

    Objetos