Main Content


Remove collision capsule from rigid body

Since R2022b



    removeCapsule(capapprox,bodyname) removes the collision capsule at the last index of the rigid body bodyname.

    removeCapsule(___,idx) removes the collision capsule at the specified index idx of the rigid body, in addition to the input arguments from the previous syntax.


    collapse all

    Load a robot into the workspace and visualize it.

    robotIRB = loadrobot("abbIrb120");

    Create a capsule approximation of the robot, and visualize the capsule-approximated robot model.

    capsIRB = capsuleApproximation(robotIRB);

    Use the getCapsules function to see if the end effector, "tool0", has any collision capsules. Because tool0 is just a frame, it has no collision mesh to approximate as a collision capsule.

    capsulesTool = getCapsules(capsIRB,"tool0")
    capsulesTool =
      1x0 empty cell array

    Add a capsule to tool0, at a position 0.15 meters along the x-axis, with a radius of 0.15 and a length of 0.

    addCapsule(capsIRB,"tool0",[0.15 0],trvec2tform([0.15 0 0]))

    Again check tool0 for a collision capsule, and verify the properties of the detected capsule.

    capsulesTool = getCapsules(capsIRB,"tool0")
    capsulesTool = 1x1 cell array
        {1x1 collisionCapsule}
    ans = 
      collisionCapsule with properties:
        Radius: 0.1500
        Length: 0
          Pose: [4x4 double]

    Remove the capsule from the base link. Then, reduce the collision capsule size of tool0, and move it -0.05 meters from the previous position along the x-axis.

    updatePose(capsIRB,"tool0",trvec2tform([-0.05 0 0]),1)
    updateGeometry(capsIRB,"tool0",[.1 0.01],1)

    Input Arguments

    collapse all

    Capsule approximation of a rigid body tree, specified as a capsuleApproximation object.

    Name of the rigid body to remove the capsule from, specified as a string scalar or character vector. The rigid body must exist in the rigidBodyTree object of the RigidBodyTree property of capsapprox.

    Example: "EndEffectorTool"

    Data Types: char | string

    Index of the collision capsule to remove, specified as a positive integer.

    Example: 2

    Extended Capabilities

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

    Version History

    Introduced in R2022b