lookupPose
Obtenir des informations de pose pendant un certain temps
Depuis R2019b
Description
[
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 position
,orientation
,velocity
,acceleration
,angularVelocity
] = lookupPose(traj
,sampleTimes
)NaN
.
Exemples
Créer une trajectoire à l'aide de points de cheminement et de vitesse au sol
Créez un objet waypointTrajectory
qui connecte deux waypoints. La vitesse de la trajectoire aux deux waypoints est 0et 10, respectivement. Limiter la limite d'à-coup à 0,5pour 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")
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)")
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)")
Arguments d'entrée
traj
— Trajectoire du waypoint
Objet waypointTrajectory
Trajectoire du waypoint, spécifiée comme objet waypointTrajectory
.
sampleTimes
— Temps d'échantillonnage
M-élément vecteur de scalaire non négatif
Temps d'échantillonnage en secondes, spécifiés comme vecteur d'éléments M de scalaires non négatifs.
Arguments de sortie
position
— Position dans le système de coordonnées de navigation local (m)
M-matrice par 3
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
— Orientation dans le système de coordonnées de navigation local
M-élément vecteur colonne de quaternion | 3-by-3-by- M tableau réel
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
velocity
— Vitesse dans le système de coordonnées de navigation local (m/s)
M-matrice par 3
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
acceleration
— Accélération dans le système de coordonnées de navigation local (m/s2)
M-matrice par 3
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
angularVelocity
— Vitesse angulaire dans le système de coordonnées de navigation local (rad/s)
M-matrice par 3
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
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes 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)