Main Content

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

lookupPose

Obtenir des informations de pose pendant un certain temps

Depuis R2019b

Description

exemple

[position,orientation,velocity,acceleration,angularVelocity] = lookupPose(traj,sampleTimes) renvoie les informations de pose de la trajectoire du waypoint aux heures d'échantillonnage spécifiées. Si une durée d'échantillonnage dépasse la durée de la trajectoire, les informations de pose correspondantes sont renvoyées sous la forme NaN.

Exemples

réduire tout

Créez un objet waypointTrajectory qui connecte deux waypoints. La vitesse de la trajectoire aux deux waypoints est 0m/set 10m/s, respectivement. Limiter la limite d'à-coup à 0,5m/s3pour activer le profil d'accélération trapézoïdale.

waypoints = [0  0  0;
            10 50 10];
speeds = [0 10];
jerkLimit = 0.5;
trajectory = waypointTrajectory(waypoints,GroundSpeed=speeds,JerkLimit=jerkLimit);

Obtenez l'heure initiale et l'heure finale de la trajectoire en interrogeant la propriété TimeOfArrival . Créez des horodatages pour échantillonner la trajectoire.

t0 = trajectory.TimeOfArrival(1);
tf = trajectory.TimeOfArrival(end);
sampleTimes = linspace(t0,tf,100);

Obtenez les informations de position, de vitesse et d'accélération à ces horodatages échantillonnés à l'aide de la fonction objet lookupPose .

[position,~,velocity,acceleration,~] = lookupPose(trajectory,sampleTimes);

Tracez la trajectoire.

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.

Tracez le profil de vitesse.

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.

Tracez le profil d'accélération. D’après les résultats, le profil d’accélération du mouvement plan est trapézoïdal.

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.

Arguments d'entrée

réduire tout

Trajectoire du waypoint, spécifiée comme objet waypointTrajectory .

Temps d'échantillonnage en secondes, spécifiés comme vecteur d'éléments M de scalaires non négatifs.

Arguments de sortie

réduire tout

Position dans le système de coordonnées de navigation local en mètres, renvoyée sous forme de matrice M-by-3.

M est spécifié par l'entrée sampleTimes .

Types de données : double

Orientation dans le système de coordonnées de navigation local, renvoyée sous la forme d'un vecteur colonne M-by-1 quaternion ou d'un vecteur colonne 3-by-3-by- M tableau réel.

Chaque quaternion ou matrice de rotation 3 x 3 est une rotation de trame du système de coordonnées de navigation local vers le système de coordonnées du corps actuel.

M est spécifié par l'entrée sampleTimes .

Types de données : double

Vitesse dans le système de coordonnées de navigation local en mètres par seconde, renvoyée sous la forme d'une matrice M-by-3.

M est spécifié par l'entrée sampleTimes .

Types de données : double

Accélération dans le système de coordonnées de navigation local en mètres par seconde carrée, renvoyée sous la forme d'une matrice M-by-3.

M est spécifié par l'entrée sampleTimes .

Types de données : double

Vitesse angulaire dans le système de coordonnées de navigation local en radians par seconde, renvoyée sous la forme d'une matrice M-by-3.

M est spécifié par l'entrée sampleTimes .

Types de données : double

Historique des versions

Introduit dans R2019b