Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

se2

Transformation homogène SE(2)

Depuis R2022b

    Description

    L'objet se2 représente une transformation SE(2) sous la forme d'une matrice de transformation homogène 2D composée d'une translation et d'une rotation.

    Pour plus d'informations, consultez la section Matrice de transformation homogène 2D .

    Cet objet agit comme une matrice numérique, vous permettant de composer des poses par multiplication et division.

    Création

    Description

    Matrices de rotation, vecteurs de traduction et matrices de transformation

    transformation = se2 crée une transformation SE(2) représentant une rotation d'identité sans traduction.

    transformation=[100010001]

    transformation = se2(rotation) crée une transformation SE(2) représentant une rotation pure définie par la rotation orthonormée rotation sans translation. La matrice de rotation est représentée par les éléments en haut à gauche de la matrice transformation .

    rotation=[r11r12r21r22]

    transformation=[r11r120r21r220001]

    transformation = se2(rotation,translation) crée une transformation SE(2) représentant une rotation définie par la rotation orthonormée rotation et la translation translation. La fonction applique d'abord la matrice de rotation, puis le vecteur de translation, pour créer la transformation.

    rotation=[r11r12r21r22], translation=[t1t2]

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

    transformation = se2(transformation) crée une transformation SE(2) représentant une translation et une rotation telles que définies par la transformation homogène transformation.

    Autres rotations 2D et représentations de transformation

    transformation = se2(angle,"theta") crée des transformations SE(2) transformation à partir de rotations autour de l'axe z, en radians. La transformation ne contient aucune traduction.

    exemple

    transformation = se2(angle,"theta",translation) crée des transformations SE(2) à partir de rotations autour de l'axe z, en radians, avec des traductions translation.

    transformation = se2(translation,"trvec") crée une transformation SE(2) à partir du vecteur de traduction translation.

    transformation = se2(pose,"xytheta") crée une transformation SE(2) à partir de la pose compacte 2D pose.

    Arguments en entrée

    développer tout

    Rotation orthonormale, spécifiée comme une matrice 2 par 2, un tableau N 2 par 2, un objet so2 scalaire ou un N- tableau d'éléments d'objets so2 . N est le nombre total de rotations.

    Si rotation contient plus d'une rotation et que vous spécifiez également translation lors de la construction, le nombre de traductions dans translation doit être égal ou égal à un. au nombre de rotations dans rotation. Le nombre d'objets de transformation résultant est égal à la valeur de l'argument translation ou rotation , selon la valeur la plus élevée.

    Si rotation contient une rotation et que vous spécifiez également translation comme matrice N-by-2, alors les transformations résultantes contiennent la même rotation spécifiée par rotation et le vecteur de translation correspondant dans translation. Le nombre d'objets de transformation résultant est égal au nombre de traductions dans translation.

    Exemple : eye(2)

    Types de données : single | double

    Traduction, spécifiée sous la forme d'une matrice N-by-2. N est le nombre total de traductions et chaque traduction est de la forme [x y].

    Si translation contient plus d'une translation, le nombre de rotations dans rotation doit être égal ou égal au nombre de translation dans translation. Le nombre résultant d'objets de transformation créés est égal à la valeur de l'argument translation ou rotation , selon la valeur la plus élevée.

    Si vous spécifiez plusieurs translation mais une seule rotation, les transformations résultantes contiennent la même rotation spécifiée dans rotation et la translation correspondante dans translation. Le nombre résultant d'objets se2 créés est égal à la valeur du translation.

    Exemple : [1 4]

    Types de données : single | double

    Transformation homogène, spécifiée comme une matrice 3 par 3, un tableau N 3 par 3, un objet se3 scalaire ou un N- tableau d'éléments d'objets se2 . N est le nombre total de transformations spécifié.

    Si transformation est un tableau, le nombre résultant d'objets se2 créés est égal à N.

    Exemple : eye(3)

    Types de données : single | double

    z-angle de rotation de l'axe, spécifié comme une N-par- M . Chaque élément de la matrice est un angle, en radians, par rapport à l'axe z. L'objet se2 crée un objet se2 pour chaque angle.

    Si angle est une matrice N-by- M , le nombre résultant d'objets se2 créés est égal à N.

    L'angle de rotation est positif dans le sens inverse des aiguilles d'une montre lorsque vous regardez le long de l'axe vers l'origine.

    Types de données : single | double

    Pose compacte 3D, spécifiée sous la forme d'une matrice N-par-3, où N est le nombre total de poses compactes. Chaque ligne est une pose, composée d'une position xy et d'une rotation autour de l'axe z, sous la forme [x y theta]. x, y sont les positions xy et theta est la rotation autour de l'axe z.

    Si pose est une matrice N-par-3, le nombre résultant d'objets se2 est égal à N.

    Types de données : single | double

    Fonctions d'objet

    développer tout

    mtimes, *Transformation ou multiplication par rotation
    mrdivide, /Division du droit de transformation ou de rotation
    rdivide, ./Transformation par élément ou division à droite par rotation
    times, .*Transformation par élément ou multiplication par rotation
    interpInterpoler entre les transformations
    distCalculer la distance entre les transformations
    normalizeNormaliser la matrice de transformation ou de rotation
    transformAppliquer une transformation de corps rigide aux points
    rotmExtraire la matrice de rotation
    trvecExtraire le vecteur de traduction
    tformExtraire la transformation homogène
    thetaConvertir la transformation ou la rotation en angle de rotation 2D
    xythetaConvertir la transformation ou la rotation en représentation de pose 2D compacte
    so2SO(2) rotation

    Exemples

    réduire tout

    Définissez une rotation d'angle de pi/4 et une translation xyz de [6 4].

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

    Créez une transformation SE(2) en utilisant l'angle et la translation.

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

    Algorithmes

    développer tout

    Capacités étendues

    Génération de code C/C++
    Générez du code C et C++ avec MATLAB® Coder™.

    Historique des versions

    Introduit dans R2022b

    développer tout