Main Content


Remove ego bodies from capsule list

Since R2020b



removeEgo(capsuleListObj,egoIDs) removes ego bodies with the specified IDs from the dynamic capsule list.

status = removeEgo(capsuleListObj,egoIDs) additionally returns an indicator of whether an ego body is removed, not found, or a duplicate.


collapse all

Add ego bodies to an environment using the dynamicCapsuleList object. Modify the properties of the ego bodies. Remove an ego body from the environment. Visualize the states of all objects in the environment at different timestamps.

Create the dynamicCapsuleList object. Extract the maximum number of steps to use as the number of time stamps for the object paths.

capsuleList = dynamicCapsuleList;
numSteps = capsuleList.MaxNumSteps;

Add Ego Bodies

Specify the states for the two ego bodies as a linear path from x = 0 m to x = 100 m. The two ego bodies are separated by 5 m in opposite directions on the y-axis.

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

Generate default poses and geometric structures for the two ego bodies using ego IDs.

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

Update Ego Bodies

Assign the states to the ego bodies.

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

Increase the radius of the first ego body to 2 m.

egoGeomStruct(1).Geometry.Radius = 2;

update the ego bodies using the updateEgoPose and updateEgoGeometry object functions.


Visualize the ego bodies.

axis equal

Remove Ego Body

Remove the first ego body from the capsule list by specifying its ID.


Visualize the ego bodies again.

axis equal

Input Arguments

collapse all

Dynamic capsule list, specified as a dynamicCapsuleList or dynamicCapsuleList3D object.

IDs of ego bodies to remove, specified as a vector of positive integers.

Output Arguments

collapse all

Result of removing ego bodies, specified as N-element column vector of ones, zeros, and negative ones. N is the number of ego bodies specified in the egoIDs argument. Each value indicates whether the body is removed (1), not found (0), or a duplicate (-1). If you specify the same ego ID multiple times in the egoIDs input argument, then all entries besides the last are marked as a duplicate.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2020b