Choosing the Motion Center Point (MCP)

All cartesian motions are defined with regard to one special point of the robot arm, the so called Motion Center Point (MCP). This configurable Frame can be considered as the Frame that actually executes the defined motion. The Motion Center Point is guided along the specified cartesian trajectory and is finally aligned with the given motion goal frame.

The Motion Center Point is configured by a certain type of DeviceParameters, the MotionCenterParameter. This MotionCenterParameter specifies a certain Frame that is to be used as MCP. Robot arms usually specify their flange Frame as default MotionCenterParameter. However, in most applications, the choice of some point located on the robot’s tool as MCP is appropriate. This can be achieved by setting new default MotionCenterParameter for the robot Device or some DeviceInterface used (cf. 1.4.5).

Here is an example on how to change a Motion Center Point:

@Override 
  public void configure() { 
 
    // initialize frequently used Actuators 
    lwrRight = RoboticsRegistry.get("LwrRight", LWR.class); 
    lwrLeft = RoboticsRegistry.get("LwrLeft", LWR.class); 
    wsgRight = RoboticsRegistry.get("WsgRight", WSG50.class); 
    wsgLeft = RoboticsRegistry.get("WsgLeft", WSG50.class); 
 
    // configure robots to use gripper effectors as default center for 
    // motions 
    try { 
      lwrLeft.addDefaultParameters(new MotionCenterParameter(wsgLeft 
          .getFingerCenter())); 
      lwrRight.addDefaultParameters(new MotionCenterParameter(wsgRight 
          .getFingerCenter())); 
    } catch (InvalidParametersException e1) { 
      e1.printStackTrace(); 
 
    }