dynamicCapsuleList
Liste d'obstacles dynamique basée sur des capsules
Depuis R2020b
Description
L'objet dynamicCapsuleList
gère deux listes d'objets de collision basés sur des capsules dans un espace 2D. Les objets de collision sont séparés en deux listes, les corps du moi et les obstacles. Pour les corps de l'ego et les obstacles en 3D, voir l'objet dynamicCapsuleList3D
.
Chaque objet de collision dans les deux listes comporte trois éléments clés :
ID –– Entier qui identifie chaque objet, stocké dans la propriété
EgoIDs
pour les corps de l'ego et dans la propriétéObstacleIDs
pour les obstacles.États –– Localisation et orientation de l'objet sous forme d'une matrice M-par 3, où chaque ligne est de la forme
[x y theta]
et M est le nombre d'états le long du chemin de l'objet dans le cadre du monde. La liste des états suppose que chaque état est séparé par un intervalle de temps fixe. xy-les positions sont en mètres, ettheta
est en radians. L'origine locale par défaut est située au centre du demi-cercle gauche de la capsule.Géométrie –– Taille de l'objet basé sur la capsule en fonction d'une longueur et d'un rayon spécifiés. Le rayon s'applique aux embouts du demi-cercle et la longueur s'applique à la longueur du rectangle central. Pour décaler la géométrie de la capsule et l'origine locale par rapport au point d'origine par défaut, spécifiez une transformation fixe par rapport au cadre local de la capsule.
Utilisez les fonctions d'objet pour ajouter, supprimer et mettre à jour dynamiquement les géométries et les états des différents objets de votre environnement. Pour ajouter un corps d'ego, consultez la fonction objet addEgo
. Pour ajouter un obstacle, voir la fonction objet addObstacle
.
Après avoir spécifié tous les états des objets, validez les chemins du corps de l'ego et vérifiez les collisions avec des obstacles à chaque étape à l'aide de la fonction objet checkCollision
. La fonction vérifie uniquement si un corps du moi entre en collision avec un obstacle, ignorant les collisions entre uniquement des obstacles ou uniquement des corps du moi.
Création
Description
obstacleList = dynamicCapsuleList
crée une liste d'obstacles dynamique basée sur des capsules sans corps ni obstacles d'ego. Pour commencer à créer une liste d'obstacles, utilisez les fonctions d'objet addEgo
ou addObstacle
.
Propriétés
Fonctions d'objet
addEgo | Ajouter les corps de l'ego à la liste des capsules |
addObstacle | Add obstacles to 2-D capsule list |
checkCollision | Vérifier les collisions entre les corps de l'ego et les obstacles |
egoGeometry | Propriétés géométriques des corps du moi |
egoPose | Poses of ego bodies |
obstacleGeometry | Propriétés géométriques des obstacles |
obstaclePose | Poses d'obstacles |
removeEgo | Supprimer les corps de l'ego de la liste des capsules |
removeObstacle | Supprimer les obstacles de la liste des capsules |
show | Afficher les corps de l'ego et les obstacles dans l'environnement |
updateEgoGeometry | Mettre à jour les propriétés géométriques des corps du moi |
updateEgoPose | Mettre à jour les états des corps du moi |
updateObstacleGeometry | Mettre à jour les propriétés géométriques des obstacles |
updateObstaclePose | Mettre à jour les états des obstacles |
Exemples
Capacités étendues
Historique des versions
Introduit dans R2020b