lookupPose
Descripción
[
devuelve la información de pose de la trayectoria del waypoint en los tiempos de muestra especificados. Si algún tiempo de muestra supera la duración de la trayectoria, la información de pose correspondiente se devuelve como position
,orientation
,velocity
,acceleration
,angularVelocity
] = lookupPose(traj
,sampleTimes
)NaN
.
Ejemplos
Crear trayectoria utilizando waypoints y velocidad terrestre
Cree un objeto waypointTrajectory
que conecte dos waypoints. La velocidad de la trayectoria en los dos puntos de referencia es 0.y 10, respectivamente. Restringir el límite de sacudidas a 0,5para habilitar el perfil de aceleración trapezoidal.
waypoints = [0 0 0; 10 50 10]; speeds = [0 10]; jerkLimit = 0.5; trajectory = waypointTrajectory(waypoints,GroundSpeed=speeds,JerkLimit=jerkLimit);
Obtenga el tiempo inicial y el tiempo final de la trayectoria consultando la propiedad TimeOfArrival
. Cree marcas de tiempo para muestrear la trayectoria.
t0 = trajectory.TimeOfArrival(1); tf = trajectory.TimeOfArrival(end); sampleTimes = linspace(t0,tf,100);
Obtenga la información de posición, velocidad y aceleración en estas marcas de tiempo muestreadas utilizando la función de objeto lookupPose
.
[position,~,velocity,acceleration,~] = lookupPose(trajectory,sampleTimes);
Trazar la trayectoria.
figure() plot3(position(:,1),position(:,2),position(:,3)) xlabel("x (m)") ylabel("y (m)") zlabel("z (m)") title("Trajectory")
Trazar el perfil de velocidad.
figure() subplot(3,1,1) plot(sampleTimes,velocity(:,1)); ylabel("v_x (m/s)") title("Velocity Profile") subplot(3,1,2) plot(sampleTimes,velocity(:,2)); ylabel("v_y (m/s)") subplot(3,1,3) plot(sampleTimes,velocity(:,3)); ylabel("v_z (m/s)") xlabel("Time (sec)")
Trazar el perfil de aceleración. De los resultados se desprende que el perfil de aceleración del movimiento plano es trapezoidal.
figure() subplot(3,1,1) plot(sampleTimes,acceleration(:,1)); axis padded ylabel("a_x (m/s^2)") title("Acceleration Profile") subplot(3,1,2) plot(sampleTimes,acceleration(:,2)); ylabel("a_y (m/s^2)") axis padded subplot(3,1,3) plot(sampleTimes,acceleration(:,3)); ylabel("a_z (m/s^2)") xlabel("Time (sec)")
Argumentos de entrada
traj
— Trayectoria del punto de referencia
waypointTrajectory
objeto
Trayectoria del waypoint, especificada como un objeto waypointTrajectory
.
sampleTimes
— tiempos de muestra
M-vector de elemento de escalar no negativo
Tiempos de muestreo en segundos, especificados como un vector de elemento M de escalares no negativos.
Argumentos de salida
position
— Posición en el sistema de coordenadas de navegación local (m)
M-por-3 matriz
Posición en el sistema de coordenadas de navegación local en metros, devuelta como una matriz M-por-3.
M se especifica mediante la entrada sampleTimes
.
Tipos de datos: double
orientation
— Orientación en el sistema de coordenadas de navegación local.
M-elemento vector columna de cuaternión | 3 por 3 por M arreglo real
Orientación en el sistema de coordenadas de navegación local, devuelta como un vector de columna M-por-1 quaternion
o un vector columna de 3 por 3 por M arreglo real.
Cada cuaternión o matriz de rotación de 3 por 3 es una rotación de cuadro desde el sistema de coordenadas de navegación local hasta el sistema de coordenadas del cuerpo actual.
M se especifica mediante la entrada sampleTimes
.
Tipos de datos: double
velocity
— Velocidad en el sistema de coordenadas de navegación local (m/s)
M-por-3 matriz
Velocidad en el sistema de coordenadas de navegación local en metros por segundo, devuelta como una matriz M-por-3.
M se especifica mediante la entrada sampleTimes
.
Tipos de datos: double
acceleration
— Aceleración en el sistema de coordenadas de navegación local (m/s2)
M-por-3 matriz
Aceleración en el sistema de coordenadas de navegación local en metros por segundo al cuadrado, devuelta como una matriz M-por-3.
M se especifica mediante la entrada sampleTimes
.
Tipos de datos: double
angularVelocity
— Velocidad angular en el sistema de coordenadas de navegación local (rad/s)
M-por-3 matriz
Velocidad angular en el sistema de coordenadas de navegación local en radianes por segundo, devuelta como una matriz M-por-3.
M se especifica mediante la entrada sampleTimes
.
Tipos de datos: double
Historial de versiones
Introducido en R2019b
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)