Список препятствий на основе динамических капсул
The dynamicCapsuleList
объект управляет двумя списками объектов столкновения на основе капсул в 2-D пространстве. Объекты столкновения разделяются на два списка, тела эго и препятствия. Для ego тел и препятствий в 3-D, смотрите dynamicCapsuleList3D
объект.
Каждый объект столкновения в двух списках имеет три ключевых элемента:
ID -- Целое число, которое идентифицирует каждый объект, сохраненный в EgoIDs
свойство для ego тел и ObstacleIDs
свойство для препятствий.
Состояния - Расположение и ориентация объекта как матрицы M-на-3, где каждая строка имеет форму [x y theta]
и M количество состояний вдоль пути объекта в мировой системе координат. Список состояний предполагает, что каждое состояние разделено фиксированным временным интервалом. xy -положения указаны в метрах, и theta
находится в радианах. Локальный источник по умолчанию расположен в центре левого полукруга капсулы.
Геометрия - Размер объекта на основе капсулы на основе заданных длины и радиуса. Радиус применяется к концевым прописным буквам полукругов, а длина - к длине центрального прямоугольника. Чтобы переместить геометрию капсулы и локальный источник относительно исходной точки по умолчанию, задайте фиксированное преобразование относительно локальной системы координат капсулы.
Используйте функции объекта для динамического добавления, удаления и обновления геометрий и состояний различных объектов в окружение. Чтобы добавить тело ego, смотрите addEgo
функция объекта. Чтобы добавить препятствие, смотрите addObstacle
функция объекта.
После определения всех состояний объекта проверяйте пути ego-body и проверяйте на столкновения с препятствиями на каждом шаге, используя checkCollision
функция объекта. Функция проверяет только, сталкивается ли тело эго с препятствием, игнорируя столкновения между только препятствиями или только телами эго.
obstacleList = dynamicCapsuleList
создает динамический список препятствий на основе капсул без эго-тел или препятствий. Чтобы начать создание списка препятствий, используйте addEgo
или addObstacle
функции объекта.
addEgo | Добавьте тела ego в список капсул |
addObstacle | Добавьте препятствия к 2-D капсулы списка |
checkCollision | Проверяйте на столкновения между эго-телами и препятствиями |
egoGeometry | Геометрические свойства эго тел |
egoPose | Положения эго-тел |
obstacleGeometry | Геометрические свойства препятствий |
obstaclePose | Положения препятствий |
removeEgo | Удалите тела эго из списка капсул |
removeObstacle | Удаление препятствий из списка капсул |
show | Отображение эго-тел и препятствий в окружении |
updateEgoGeometry | Обновление геометрических свойств эго-тел |
updateEgoPose | Обновление состояний эго-тел |
updateObstacleGeometry | Обновление геометрических свойств препятствий |
updateObstaclePose | Обновление состояний препятствий |