transformtraj
Generar trayectorias entre dos transformaciones
Sintaxis
Descripción
Ejemplos
Interpolar entre transformaciones homogéneas
Cree transformaciones a partir de dos orientaciones y posiciones. Especifique el intervalo de tiempo y el vector de tiempos para interpolar.
t0 = axang2tform([0 1 1 pi/4])*trvec2tform([0 0 0]); tF = axang2tform([1 0 1 6*pi/5])*trvec2tform([1 1 1]); tInterval = [0 1]; tvec = 0:0.01:1;
Interpole entre los puntos. Represente la trayectoria usando plotTransforms
. Convierta las transformaciones en rotaciones de cuaterniones y transiciones lineales. La figura muestra todas las transformaciones intermedias del marco de coordenadas.
[tfInterp, v1, a1] = transformtraj(t0,tF,tInterval,tvec); rotations = tform2quat(tfInterp); translations = tform2trvec(tfInterp); plotTransforms(translations,rotations) xlabel('X') ylabel('Y') zlabel('Z')
Argumentos de entrada
T0
— Transformación inicial
Transformación homogénea de 4 por 4 | objeto se3
Transformación inicial, especificada como una transformación homogénea de 4 por 4 o un objeto se3
escalar. La función genera una trayectoria que va desde la transformación inicial, T0
, hasta la transformación final, TF
.
T0
y TF
deben ser del mismo tipo. Por ejemplo, si T0
es un objeto se3
escalar, TF
debe ser un objeto se3
escalar.
Tipos de datos: single
| double
TF
— Transformación final
Transformación homogénea de 4 por 4 | objeto se3
Transformación final, especificada como una transformación homogénea de 4 por 4 o un objeto se3
escalar. La función genera una trayectoria que va desde la transformación inicial, T0
, hasta la transformación final, TF
.
T0
y TF
deben ser del mismo tipo. Por ejemplo, si T0
es un objeto se3
escalar, TF
debe ser un objeto se3
escalar.
Tipos de datos: single
| double
tInterval
— Tiempos de inicio y fin de la trayectoria
vector de dos elementos
Tiempos de inicio y finalización de la trayectoria, especificados como un vector de dos elementos en segundos.
Ejemplo: [0 10]
Tipos de datos: single
| double
tSamples
— Muestras de tiempo de la trayectoria
Vector de m elementos
Muestras de tiempo de la trayectoria, especificadas como un vector de m elementos en segundos.
Ejemplo: 0:0.01:10
Tipos de datos: single
| double
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.
En versiones anteriores a R2021a, use comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: TimeScaling=[0 1 1; 0 1 0; 0 0 0]
TimeScaling
— Vector de escala de tiempo y primeras dos derivadas
vector de 3 por m
Vector de escala de tiempo y las primeras dos derivadas, especificadas como un vector de 3 por m, donde m es la longitud de tSamples
. De forma predeterminada, la escala de tiempo es una escala de tiempo lineal entre los puntos de tiempo en tInterval
.
Para una escala de tiempo no lineal, especifique los valores de los puntos de tiempo como una posición en una escala de tiempo en la primera fila. La segunda y tercera fila representan la primera y la segunda derivada de la primera fila, 1/s y 1/s2, respectivamente. Por ejemplo, para seguir la ruta con una velocidad lineal hasta el punto medio y luego saltar hasta el final, la escala de tiempo sería:
s(1,:) = [0 0.25 0.5 1 1 1] % Position time scaling, s(t) s(2,:) = [1 1 1 0 0 0] % Velocity time scaling, ds/dt s(3,:) = [0 0 0 0 0 0] % Acceleration time scaling, d^2s/dt^2
Tipos de datos: single
| double
Argumentos de salida
tforms
— Trayectoria de transformación
arreglo de matriz de transformación homogénea de 4 por 4 por m | Arreglo de m elementos de objetos se3
Trayectoria de transformación, devuelta como un arreglo de matriz de transformación homogénea de 4 por 4 por m o un arreglo de m elementos de objetos se3
. m es el número de puntos de tSamples
.
vel
— Velocidades de transformación
matriz de 6 por m
Velocidades de transformación, devueltas como una matriz de 6 por m en m/s, donde m es el número de puntos de tSamples
. Los primeros tres elementos son las velocidades angulares y los segundos tres elementos son las velocidades en el tiempo.
acc
— Aceleraciones de transformación
matriz de 6 por m
Aceleraciones de transformación, devueltas como una matriz de 6 por m en m/s2, donde m es el número de puntos de tSamples
. Los primeros tres elementos son las aceleraciones angulares y los segundos tres elementos son las aceleraciones en el tiempo.
Referencias
[1] Lynch, Kevin M., and Frank C. Park. Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press, 2017.
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Historial de versiones
Introducido en R2019aR2023a: transformtraj
admite entradas de objetos de transformación SE(3)
Los argumentos T0
y TF
de transformtraj
ahora aceptan objetos se3
y el valor de salida resultante para el argumento tforms
es un arreglo de m elementos de objetos se3
. m es el número de puntos de tSamples
.
Consulte también
bsplinepolytraj
| contopptraj
| cubicpolytraj
| quinticpolytraj
| rottraj
| trapveltraj
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)