Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Coordinar transformaciones en robótica

En aplicaciones de robótica, se pueden utilizar muchos sistemas de coordenadas diferentes para definir dónde se encuentran los robots, sensores y otros objetos. En general, la ubicación de un objeto en el espacio 3D se puede especificar por los valores de posición y orientación. Hay varias representaciones posibles para estos valores, algunas de las cuales son específicas de ciertas aplicaciones. La traducción y la rotación son términos alternativos para la posición y la orientación. admite representaciones que se usan habitualmente en robótica y permite convertir entre ellas.Robotics System Toolbox™ Puede transformar entre sistemas de coordenadas cuando aplique estas representaciones a puntos 3D. Estas representaciones admitidas se detallan a continuación con breves explicaciones sobre su uso y su equivalente numérico.MATLAB® Cada representación tiene una abreviatura para su nombre. Esto se utiliza en la nomenclatura de argumentos y funciones de conversión que se admiten en esta caja de herramientas.

Al final de esta sección, puede averiguar acerca de las funciones de conversión que ofrecemos para convertir entre estas representaciones.

Robotics System Toolbox asume que las posiciones y orientaciones se definen en un sistema de coordenadas cartesiano diestro.

AXIS-Angle

Abreviatura:axang

Una rotación en el espacio 3D descrita por una rotación escalar alrededor de un eje fijo definido por un vector.

Vector de 1 por 3 unidades y un ángulo escalar combinados como un vector de 1 por 4Numeric Representation:

Por ejemplo, una rotación de radianes alrededor del eje sería:pi/2 y

axang = [0 1 0 pi/2]

Los ángulos de Euler

Abreviatura:eul

Los ángulos de Euler son tres ángulos que describen la orientación de un sólido rígido. Cada ángulo es una rotación escalar alrededor de un eje de marco de coordenadas determinado. Los soportes dos órdenes de rotación.Robotics System Toolbox El orden del eje se utiliza comúnmente para aplicaciones de robótica.'ZYZ' También apoyamos el orden del eje que también se denota como "rollo de tono de balanceo (RPY)."'ZYX' Saber qué orden de eje se utiliza es importante para aplicar la rotación a puntos y en la conversión a otras representaciones.

Vector 1 por 3 de ángulos escalaresNumeric Representation:

Por ejemplo, una rotación alrededor del eje de PI se expresaría como:y

eul = [0 pi 0]

El orden de los ejes no se almacena en la transformación, por lo que debe tener en cuenta qué orden de rotación se va a aplicar.Note:

Matriz de transformación homogénea

Abreviatura:tform

Una matriz de transformación homogénea combina una traducción y rotación en una matriz.

la matriz de 4 por 4Numeric Representation:

Por ejemplo, una rotación del ángulo α alrededor del eje y una traducción de 4 unidades a lo largo del eje se expresarían como:yy

tform =  cos α  0      sin α  0   0      1      0      4 -sin α  0      cos α  0  0      0      0      1

Usted debe su matriz de transformación con sus coordenadas homogéneas, que se representan como una matriz de vectores de fila (-por-4 matriz de puntos).pre-multiplyn Utilice la transposición () para rotar los puntos para la multiplicación de matrices.' Por ejemplo:

points = rand(100,4); tformPoints = (tform*points')';

Cuaternión

Abreviatura:quat

Un cuaternión es un vector de cuatro elementos con una rotación escalar y un vector de 3 elementos. Los cuaterniones son ventajosos porque evitan los problemas de singularidad que son inherentes a otras representaciones. El primer elemento,, es un escalar para normalizar el vector con los otros tres valores, definiendo el eje de rotación.w[x y z]

Vector 1-por-4Numeric Representation:

Por ejemplo, una rotación de alrededor del eje se expresaría como:pi/2 y

quat = [0.7071 0 0.7071 0] 

Matriz de rotación

Abreviatura:rotm

Una matriz de rotación describe una rotación en 3-D espacio. Es una matriz cuadrada, ortoonormal con un determinante de 1.

la matriz de 3 por 3Numeric Representation:

Por ejemplo, una rotación de grados alrededor del eje sería:αx

rotm =       1     0         0      0     cos α     -sin α      0     sin α     cos α

Usted debe su matriz de rotación con sus coordenadas, que se representan como una matriz de vectores de fila (-por-3 matriz de puntos).pre-multiplyn Utilice la transposición () para rotar los puntos para la multiplicación de matrices.' Por ejemplo:

points = rand(100,3); rotPoints = (rotm*points')';

Vector de traducción

Abreviatura:trvec

Un vector de traducción se representa en el espacio 3-D euclidiano como coordenadas cartesianas. Sólo implica la traducción de coordenadas aplicada por igual a todos los puntos. No hay rotación involucrada.

Vector 1-por-3Numeric Representation:

Por ejemplo, una traducción de 3 unidades a lo largo del eje y 2,5 unidades a lo largo del eje se expresaría como:xz

trvec = [3 0 2.5]

Transformaciones y funciones de conversión

proporciona funciones de conversión para las representaciones de transformación mencionadas anteriormente.Robotics System Toolbox No todas las conversiones son compatibles con una función dedicada. A continuación se muestra una tabla en la que se muestran las conversiones admitidas (en azul). También se muestran las abreviaturas de las representaciones de rotación y traducción.

Los nombres de todas las funciones de conversión siguen un formato estándar. Siguen el formulario donde está la abreviatura de lo que está convirtiendo y es lo que está convirtiendo a como una abreviatura.alpha2betaalphabeta Por ejemplo, la conversión de ángulos de Euler a cuaternión sería.eul2quat

Todas las funciones esperan entradas válidas. Si especifica entradas no válidas, las salidas serán indefinidas.

Existen otras funciones de conversión para convertir entre radianes y grados, coordenadas cartesianas y homogéneas, y para calcular las diferencias de ángulo envuelto. Para obtener una lista completa de conversiones, consulte.Transformaciones del sistema de coordenadas

Temas relacionados