Main Content

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

removeEgo

Supprimer les corps de l'ego de la liste des capsules

Depuis R2020b

Description

exemple

removeEgo(capsuleListObj,egoIDs) supprime les corps d'ego avec les identifiants spécifiés de la liste des capsules dynamiques.

status = removeEgo(capsuleListObj,egoIDs) renvoie en outre un indicateur indiquant si un corps d'ego est supprimé, introuvable ou s'il s'agit d'un doublon.

Exemples

réduire tout

Ajoutez des corps d'ego à un environnement à l'aide de l'objet dynamicCapsuleList . Modifier les propriétés des corps du moi. Retirez un corps de l’ego de l’environnement. Visualisez les états de tous les objets de l'environnement à différents horodatages.

Créez l'objet dynamicCapsuleList . Extrayez le nombre maximum d'étapes à utiliser comme nombre d'horodatages pour les chemins d'objet.

capsuleList = dynamicCapsuleList;
numSteps = capsuleList.MaxNumSteps;

Ajouter des corps d’ego

Spécifiez les états des deux corps du moi sous la forme d'un chemin linéaire allant de x = 0 m à x = 100 m. Les deux corps du moi sont séparés de 5 m dans des directions opposées sur l'axe y .

egoState = linspace(0,1,numSteps)'.*[100 0 0];
egoState1 = egoState+[0 5 0];
egoState2 = egoState+[0 -5 0];

Générez des poses et des structures géométriques par défaut pour les deux corps de l'ego à l'aide des identifiants de l'ego.

[egoIDs,egoPoseStruct] = egoPose(capsuleList,[1 2]);
[egoIDs,egoGeomStruct] = egoGeometry(capsuleList,egoIDs);

Mettre à jour les corps de l’ego

Attribuez les états aux corps de l’ego.

egoPoseStruct(1).States = egoState1;
egoPoseStruct(2).States = egoState2;

Augmentez le rayon du premier corps de l’ego à 2 m.

egoGeomStruct(1).Geometry.Radius = 2;

mettre à jour les corps de l'ego en utilisant les fonctions d'objet updateEgoPose et updateEgoGeometry .

updateEgoPose(capsuleList,egoIDs,egoPoseStruct);
updateEgoGeometry(capsuleList,egoIDs,egoGeomStruct);

Visualisez les corps de l’ego.

show(capsuleList,'TimeStep',1:numSteps);
axis equal

Figure contains an axes object. The axes object contains 2 objects of type patch.

Supprimer le corps de l'ego

Supprimez le premier corps de l'ego de la liste des capsules en spécifiant son ID.

removeEgo(capsuleList,1);

Visualisez à nouveau les corps de l’ego.

show(capsuleList,'TimeStep',1:numSteps);
axis equal

Figure contains an axes object. The axes object contains an object of type patch.

Arguments d'entrée

réduire tout

Liste de capsules dynamique, spécifiée comme objet dynamicCapsuleList ou dynamicCapsuleList3D .

ID des corps du moi à supprimer, spécifiés comme vecteur d'entiers positifs.

Arguments de sortie

réduire tout

Résultat de la suppression des corps de l'ego, spécifiés comme N- élément vecteur colonne de uns, de zéros et de uns négatifs. N est le nombre de corps du moi spécifié dans l'argument egoIDs . Chaque valeur indique si le corps est supprimé (1), introuvable (0) ou un doublon (-1). Si vous spécifiez le même identifiant d'ego plusieurs fois dans l'argument d'entrée egoIDs , alors toutes les entrées sauf la dernière sont marquées comme doublons.

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