Main Content

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

show

Afficher le chemin de référence dans la figure

Depuis R2020b

Description

exemple

show(refPath) affiche le chemin de référence et ses états latéraux dans la figure actuelle.

show(refPath,'Parent',parentAx) affiche le chemin de référence sur les axes spécifiés. parentAx est spécifié comme un handle Axes .

ax = show(___) affiche le chemin de référence en utilisant l'une des combinaisons d'entrée précédentes et renvoie la poignée des axes sur lesquels le chemin de référence est tracé.

Exemples

réduire tout

Générez des trajectoires alternatives pour un chemin de référence à l'aide des coordonnées Frenet. Spécifiez différents états initiaux et terminaux pour vos trajectoires. Ajustez vos états en fonction des trajectoires générées.

Générez un chemin de référence à partir d'un ensemble de waypoints. Créez un objet trajectoryGeneratorFrenet à partir du chemin de référence.

waypoints = [0 0; ...
	50 20; ...
	100 0; ...
	150 10];
refPath = referencePathFrenet(waypoints);
connector = trajectoryGeneratorFrenet(refPath);

Générez une trajectoire de cinq secondes entre l'origine du chemin et un point situé à 30 m en aval du chemin, comme l'indique Frenet.

initState = [0 0 0 0 0 0];  % [S ds ddS L dL ddL]
termState = [30 0 0 0 0 0]; % [S ds ddS L dL ddL]
[~,trajGlobal] = connect(connector,initState,termState,5);

Afficher la trajectoire en coordonnées globales.

show(refPath);
hold on
axis equal
plot(trajGlobal.Trajectory(:,1),trajGlobal.Trajectory(:,2),'b')
legend(["Waypoints","Reference Path","Trajectory to 30m"])

Figure contains an axes object. The axes object contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent Waypoints, Reference Path, Trajectory to 30m.

Créez une matrice d'états terminaux avec des écarts latéraux compris entre –3 m et 3 m. Générez des trajectoires qui couvrent la même longueur d'arc en 10 secondes, mais s'écartent latéralement de la trajectoire de référence. Affichez les nouveaux chemins alternatifs.

termStateDeviated = termState + ([-3:3]' * [0 0 0 1 0 0]);
[~,trajGlobal] = connect(connector,initState,termStateDeviated,10);

clf
show(refPath);
hold on
axis equal
for i = 1:length(trajGlobal)
    plot(trajGlobal(i).Trajectory(:,1),trajGlobal(i).Trajectory(:,2),'g')
end
legend(["Waypoints","Reference Path","Alternative Trajectories"])
hold off

Figure contains an axes object. The axes object contains 9 objects of type line. One or more of the lines displays its values using only markers These objects represent Waypoints, Reference Path, Alternative Trajectories.

Spécifiez un nouvel état terminal pour générer une nouvelle trajectoire. Cette trajectoire n'est pas souhaitable car elle nécessite un mouvement inverse pour atteindre une vitesse longitudinale de 10 m/s.

newTermState = [5 10 0 5 0 0];
[~,newTrajGlobal] = connect(connector,initState,newTermState,3);

clf
show(refPath);
hold on
axis equal
plot(newTrajGlobal.Trajectory(:,1),newTrajGlobal.Trajectory(:,2),'b');
legend(["Waypoint","Reference Path","New Trajectory"])
hold off

Figure contains an axes object. The axes object contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent Waypoint, Reference Path, New Trajectory.

Assouplissez la restriction sur l'état longitudinal en spécifiant une longueur d'arc de NaN. Générez et affichez à nouveau la trajectoire. La nouvelle position montre une bonne trajectoire alternative qui s'écarte de la trajectoire de référence.

relaxedTermState = [NaN 10 0 5 0 0];
[~,trajGlobalRelaxed] = connect(connector,initState,relaxedTermState,3);

clf
show(refPath);
hold on
axis equal
plot(trajGlobalRelaxed.Trajectory(:,1),trajGlobalRelaxed.Trajectory(:,2),'g');
hold off

Figure contains an axes object. The axes object contains 3 objects of type line. One or more of the lines displays its values using only markers

Arguments d'entrée

réduire tout

Chemin de référence, spécifié en tant qu'objet referencePathFrenet .

Arguments de sortie

réduire tout

Axes sur lesquels le chemin de référence est tracé, renvoyés sous la forme d'un handle Axes .

Capacités étendues

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2020b