dynamicCapsuleList3D
Liste d'obstacles dynamique basée sur des capsules
Depuis R2020b
Description
L'objet dynamicCapsuleList3D
gère deux listes d'objets de collision basés sur des capsules dans l'espace 3D. 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 2D, voir l'objet dynamicCapsuleList
.
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 la forme d'une matrice M-par 6, où chaque ligne est de la forme
[x y z qW qX qY qZ]
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. xyz-les positions sont en mètres et l'orientation est un vecteur quaternion à quatre éléments. L'origine locale par défaut est située au centre de l'hémisphère gauche de la capsule.Géométrie –– Taille de l'objet basé sur la capsule en fonction de la longueur et du rayon spécifiés. Le rayon s'applique aux extrémités sphériques et la longueur s'applique à la longueur du cylindre. 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 4 x 4 par rapport au cadre local de la capsule. Pour conserver la transformation par défaut, spécifiez
eye(4)
.
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 chemins d'objet, validez les chemins du corps de l'ego et vérifiez les collisions avec des obstacles à chaque étape en utilisant 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 = dynamicCapsuleList3D
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 3D |
addObstacle | Ajouter des obstacles à la liste des capsules 3D |
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