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.

lookupPose

Obtener información de pose durante un tiempo determinado.

Desde R2019b

Descripción

ejemplo

[position,orientation,velocity,acceleration,angularVelocity] = lookupPose(traj,sampleTimes) 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 NaN.

Ejemplos

contraer todo

Cree un objeto waypointTrajectory que conecte dos waypoints. La velocidad de la trayectoria en los dos puntos de referencia es 0.m/sy 10m/s, respectivamente. Restringir el límite de sacudidas a 0,5m/s3para 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")

Figure contains an axes object. The axes object with title Trajectory, xlabel x (m), ylabel y (m) contains an object of type line.

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)")

Figure contains 3 axes objects. Axes object 1 with title Velocity Profile, ylabel v_x (m/s) contains an object of type line. Axes object 2 with ylabel v_y (m/s) contains an object of type line. Axes object 3 with xlabel Time (sec), ylabel v_z (m/s) contains an object of type line.

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)")

Figure contains 3 axes objects. Axes object 1 with title Acceleration Profile, ylabel a_x (m/s^2) contains an object of type line. Axes object 2 with ylabel a_y (m/s^2) contains an object of type line. Axes object 3 with xlabel Time (sec), ylabel a_z (m/s^2) contains an object of type line.

Argumentos de entrada

contraer todo

Trayectoria del waypoint, especificada como un objeto waypointTrajectory .

Tiempos de muestreo en segundos, especificados como un vector de elemento M de escalares no negativos.

Argumentos de salida

contraer todo

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

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

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

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

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

Consulte también

Objetos

Funciones