egoPose

Положения тел эго

Описание

[egoIDs,poseStruct] = egoPose(capsuleListObj) возвращает ID эго и состояния для каждого тела эго в заданном списке капсул.

пример

[egoIDs,poseStruct] = egoPose(capsuleListObj,selectEgoIDs) задает, для каких тел эго возвратить ID и утверждает.

[egoIDs,poseStruct,status] = egoPose(capsuleListObj,selectEgoIDs) возвращает индикатор ли каждый ID в selectEgoIDs \exists.

Примеры

свернуть все

Добавьте тела эго в среду с помощью dynamicCapsuleList объект. Измените свойства тел эго. Удалите тело эго из среды. Визуализируйте состояния всех объектов в среде в различных метках времени.

Создайте dynamicCapsuleList объект. Извлеките максимальное количество шагов, чтобы использовать в качестве количества меток времени для контуров объектов.

capsuleList = dynamicCapsuleList;
numSteps = capsuleList.MaxNumSteps;

Добавьте тела эго

Задайте состояния для двух тел эго как линейный контур от x = 0 м к x = 100 м. Два тела эго разделяются на 5 м в противоположных направлениях на оси Y.

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

Сгенерируйте положения по умолчанию и геометрические структуры для двух тел эго с помощью идентификаторов эго.

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

Обновите тела эго

Присвойте состояния телам эго.

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

Увеличьте радиус первого тела эго к 2 м.

egoGeomStruct(1).Geometry.Radius = 2;

обновите тела эго с помощью updateEgoPose и updateEgoGeometry функции объекта.

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

Визуализируйте тела эго.

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

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

Удалите тело эго

Удалите первое тело эго из списка капсул путем определения его ID.

removeEgo(capsuleList,1);

Визуализируйте тела эго снова.

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

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

Входные параметры

свернуть все

Динамический список капсул в виде dynamicCapsuleList или dynamicCapsuleList3D объект.

Идентификаторы тела эго в виде вектора из положительных целых чисел. Функция возвращает идентификаторы эго и состояния только для тел эго, заданных в этом векторе.

Выходные аргументы

свернуть все

Идентификаторы тел эго, возвращенных как вектор из положительных целых чисел.

Состояния для тел эго, возвращенных как структура или массив структур. Каждая структура содержит матрицу состояний для каждого тела эго. Матричный размер состояния зависит от того, используете ли вы dynamicCapsuleList или dynamicCapsuleList3D объект.

Типы данных: struct

Индикация относительно существования тела эго, возвращенного как N - вектор-столбец элемента из единиц, нулей и отрицательных единиц. Каждое значение указывает, существует ли связанное тело (1), обновленный (0), или копия (-1). Если вы задаете тот же ID тела эго несколько раз в selectEgoIDs аргумент, затем функция отмечает все экземпляры того ID после первого как копии и игнорирует их.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2020b