Динамический список препятствий на основе капсул
dynamicCapsuleList3D объект управляет двумя списками объектов столкновения на основе капсулы в 3-D пространстве. Объекты столкновения разделяются на два списка, эго-тела и препятствия. Для эго тела и препятствия в 2-D, см. dynamicCapsuleList объект.
Каждый объект столкновения в двух списках имеет три ключевых элемента:
ID -- целое число, определяющее каждый объект, сохраненный в EgoIDs свойство для эго-тел и ObstacleIDs свойство для препятствий.
Состояния - расположение и ориентация объекта в виде матрицы M-by-6, где каждая строка имеет форму [x y z qW qX qY qZ], и M - количество состояний вдоль пути объекта в мировой рамке. Список состояний предполагает, что каждое состояние разделено фиксированным временным интервалом. xyz-положения находятся в метрах, а ориентация является четырехэлементным кватернионным вектором. Локальное начало координат по умолчанию расположено в центре левого полушария капсулы.
Геометрия - размер объекта на основе капсулы в зависимости от заданной длины и радиуса. Радиус применяется к сферическим концам, а длина - к длине цилиндра. При сдвиге геометрии капсулы и локального начала относительно исходной точки по умолчанию задайте преобразование 4 на 4 относительно локального кадра капсулы. Чтобы сохранить преобразование по умолчанию, укажите eye(4).

Используйте функции объекта для динамического добавления, удаления и обновления геометрии и состояний различных объектов в среде. Чтобы добавить эго-тело, см. addEgo объектная функция. Чтобы добавить препятствие, см. раздел addObstacle объектная функция.
После указания всех путей объектов проверьте пути эго-тела и проверьте наличие столкновений с препятствиями на каждом шаге с помощью checkCollision объектная функция. Функция проверяет только то, сталкивается ли эго-тело с препятствием, игнорируя столкновения только между препятствиями или только эго-телами.
obstacleList = dynamicCapsuleList3D создает динамический капсульный список препятствий без эго-тел или препятствий. Чтобы начать построение списка препятствий, используйте addEgo или addObstacle функции объекта.
addEgo | Добавление эго-тел 3D список капсул |
addObstacle | Добавить препятствия 3-D список капсул |
checkCollision | Проверка на наличие столкновений между эго-телами и препятствиями |
egoGeometry | Геометрические свойства эго-тел |
egoPose | Позы эго-тел |
obstacleGeometry | Геометрические свойства препятствий |
obstaclePose | Позы препятствий |
removeEgo | Удалить эго-тела из списка капсул |
removeObstacle | Устранить препятствия из капсульного списка |
show | Отображение эго-тел и препятствий в окружающей среде |
updateEgoGeometry | Обновление геометрических свойств эго-тел |
updateEgoPose | Обновление состояния эго-тел |
updateObstacleGeometry | Обновление геометрических свойств препятствий |
updateObstaclePose | Обновление состояния препятствий |