PressMove Object
The PressMove object is a Force Guide object that moves the robot along the specified trajectory while pressing in the specified direction with the specified force.
Also, it is possible to follow to another specified direction simultaneously like FollowMove object.
When executing the PressMove object without contacting, the robot moves to a direction of the specified force in addition to the specified path. Use this object for pressing, screw driving, or polishing for Peg In Hole or assembly. Even the workpiece dimension or the grasp positions of the workpiece have a margin of error, the robot can move with maintaining the stably force.
The figure above shows the motion of the PressMove object. When executing in the non-contact state, the robot moves to the pressing direction (white arrow) while moving the trajectory (blue arrow). After the robot contacts with the object, it moves the specified trajectory while maintaining a state with a certain force (red arrow) is applied.
The PressMove object is deemed successful if the end conditions are satisfied while the robot is moving along the specified trajectory. It can use the end conditions related to positions, I/O, and force.
Each end condition sets whether to use in ForceCheckEnabled, PosCheckEnabled, and IOCheckEnabled. If no end condition is set, the object will always be succeeded. When more than one end conditions are set, you can select how to combine the end conditions from AND or OR in EndCheckOperator.
Each condition is as follows:
End condition | Success condition |
---|---|
End conditions related to force | While the robot moves the specified trajectory, keep satisfying the following all items in the time specified by HoldTimeThresh. |
When ForceCheckPolarity is Inside: In Fx, Fy, and Fz, the axis specified by Press- or Press+ in ControlMode is inside the range of PressForce - PressCheckTolF to PressForce + PressCheckTolF. | |
When ForceCheckPolarity is Outside: In Fx, Fy, and Fz, the axis specified by Press- or Press+ in ControlMode is outside the range of PressForce - PressCheckTolF to PressForce + PressCheckTolF. | |
When ForceCheckPolarity is Inside: In Tx, Ty, and Tz, the axis specified by Press- or Press+ in ControlMode is inside the range of PressForce - PressCheckTolF to PressForce + PressCheckTolF. | |
When ForceCheckPolarity is Outside: In Tx, Ty, and Tz, the axis specified by Press- or Press+ in ControlMode is outside the range of PressForce - PressCheckTolF to PressForce + PressCheckTolF. | |
ForceCheckMode is PressFollow and ForceCheckPolarity is inside: If Fx, Fy, and Fz, the axis specified by Follow in ControlMode is within the range of -FollowCheckTolF to +FollowCheckTolF. | |
When ForceCheckMode is PressFollow and ForceCheckPolarity is Outside: In Fx, Fy, and Fz, the axis specified by Follow by ControlMode is outside the range of -FollowCheckTolF to +FollowCheckTolF. | |
ForceCheckMode is PressFollow and ForceCheckPolarity is inside: The axis, which is specified to Follow by , ControlMode in Tx, Ty, or Tz: The axis should be within the range of -FollowCheckTolT to +FollowCheckTolT. | |
When ForceCheckMode is PressFollow and ForceCheckPolarity is Outside: In Tx, Ty, and Tz, the axis, which is specified Follow by ControlModeis outside the range of -FollowCheckTolT to +FollowCheckTolT. | |
End conditions related to position | Satisfy either one of the following while the robot moves the specified trajectory: |
When PosCheckType is RobotPlane: Satisfy the state set by PlaneEndCondition for Plane set by PlaneNumber. | |
When PosCheckType is RelativePlane: Satisfy the state set by PlaneEndCondition for the relative plane set by PlaneRelativeX, PlaneRelativeY, PlaneRelativeZ, PlaneRelativeOrg, PlaneRelativeOrient, PlaneAxes, PlaneRelativeRobotLocal. | |
End conditions related to I/O | Input bit specified by IOCheckInputBit should be the state specified by IOCheckInputStatus while the robot moves the specified trajectory. |