MoveIt! study notes (three): scene planning

Planning Scene

The scene planning class mainly provides interfaces for collision detection and constraint detection. Using URDF and SRDF, you can easily set and configure the attributes of the scene planning class.

Impact checking

Self-collision detection

Self-collision detection is to detect whether the current model configuration of the robotic arm will cause certain parts to collide.

Get contact information

Artificially set the posture of the robotic arm to cause collisions in certain parts, so as to obtain contact information of possible collisions under a given configuration of the robotic arm.

Allowed collision matrix (ACM)

ACM (Allowed Collision Matrix) provides a mechanism to tell the collision detector to ignore the collision of an object, that is, even if the object collides, the collision detector does not need to report.

Constraint detection

There are two types of constraints:

  1. Kinematic constraints: joint constraints, position constraints, orientation constraints and visibility constraints;
  2. User-defined constraints: implemented through the callback mechanism.

Kinematic constraints

First, set a simple position and direction constraint for the end of the robotic arm. Then, a member function isStateConstrained of the PlanningScene class is used to detect whether the posture of a robotic arm under the constraint condition is feasible.

User-defined constraints

After defining a function, you can use a member function setStateFeasibilityPredicate of the PlanningScene class to specify the function as a callback function. Then, when the isStateFeasible function is used to detect a certain posture of the robotic arm, the function will be automatically called through the callback mechanism.

Guess you like

Origin blog.csdn.net/qq_42386127/article/details/97244824