Arc, Arc3 Statements

Arc moves the arm to the specified point using circular interpolation in the XY plane.

Arc3 moves the arm to the specified point using circular interpolation in 3 dimensions.

These two commands are available for SCARA robots (including RS series) and 6-axis robots (including N series).

Syntax
(1) Arc midPoint, endPoint [ROT] [CP] [ searchExpr ] [!...!] [SYNC]
(2) Arc3 midPoint, endPoint [ROT] [ECP] [CP] [ searchExpr ] [!...!] [SYNC]

Parameters

midPoint
Specify point data or XY function. The middle point which the arm travels through on its way from the current point to endPoint.
endPoint
Specify point data or XY function. The end point which the arm travels to during the arc type motion. This is the final position at the end of the circular move.
ROT
Optional. :Decides the speed/acceleration/deceleration in favor of tool rotation.
ECP
Optional. External control point motion. (This parameter is valid when the ECP option is enabled.)
CP
Optional. Specifies continuous path motion.
Till | Find
Optional. A Till or Find expression.

Till | Find
Till Sw(expr) = {On | Off}
Find Sw(expr) = {On | Off}
! Parallel Processing !
Parallel processing statements may be used with the Arc statement. These are optional. (Please see the Parallel Processing description for more information.)
SYNC
Reserves a motion command. The robot will not move until SyncRobots is executed. Optional.

Description
Arc and Arc3 are used to move the arm in a circular type motion from the current position to endPoint by way of midPoint. The system automatically calculates a curve based on the 3 points (current position, endPoint, and midPoint) and then moves along that curve until the point defined by endPoint is reached.

Also, for SCARA robots, U coordinate moves to move from current point to end point. However, for 6-Axis robot, U, V and W coordinates moves with the shortest posture for rotation to move from current point to end point. The posture (U, V, W) specified by the via coordinates is not passed through.

If using this, check the actual movement in advance.

Arc and Arc3 use the SpeedS speed value and AccelS acceleration and deceleration values. Refer to Using Arc3 with CP below on the relation between the speed/acceleration and the acceleration/deceleration. If, however, the ROT modifier parameter is used, Arc and Arc3 use the SpeedR speed value and AccelR acceleration and deceleration values. In this case SpeedS speed value and AccelS acceleration and deceleration value have no effect.

Usually, when the move distance is 0 and only the tool orientation is changed, an error will occur. However, by using the ROT parameter and giving priority to the acceleration and the deceleration of the tool rotation, it is possible to move without an error. When there is not an orientational change with the ROT modifier parameter and movement distance is not 0, an error will occur.

Also, when the tool rotation is large as compared to move distance, and when the rotation speed exceeds the specified speed of the manipulator, an error will occur. In this case, please reduce the speed or append the ROT modifier parameter to give priority to the rotational speed/acceleration/deceleration.

When ECP is used (Arc3 only), the trajectory of the external control point coresponding to the ECP number specified by ECP instruction moves circular with respect to the tool coordinate system. In this case, the trajectory of tool center point does not follow a circular line.

Setting Speed and Acceleration for Arc Motion

SpeedS and AccelS are used to set speed and acceleration for the Arc and Arc3 instructions. SpeedS and AccelS allow the user to specify a velocity in mm/sec and acceleration in mm/sec2.

Notes


  • Arc Instruction works in Horizontal Plane Only

    The Arc path is a true arc in the Horizontal plane. The Z coordinate and attitude (U, V, W) specified by the via coordinate are not passed through, but the current point and target coordinate values are interpolated.
    Arc3 allows for specifying a circular arc trajectory in 3D space. The Z coordinate specified by the via coordinate is passed through, but the attitude (U, V, W) is not, and the current point and target coordinate values are interpolated.

  • Range Verification for Arc Instruction

    The Arc and Arc3 statements cannot compute a range verification of the trajectory prior to the arc motion. Therefore, even for target positions that are within an allowable range, en route the robot may attempt to traverse a path which has an invalid range, stopping with a severe shock which may damage the arm. To prevent this from occurring, be sure to perform range verifications by running the program at low speeds prior to running at faster speeds.

  • Suggested Motion to Setup for the Arc Move

    Because the arc motion begins from the current position, it may be necessary to use the Go, Jump or other related motion command to bring the robot to the desired position prior to executing Arc or Arc3.

  • Using Arc, Arc3 with CP

    The CP parameter causes the arm to move to the end point without decelerating or stopping at the point defined by endPoint. This is done to allow the user to string a series of motion instructions together to cause the arm to move along a continuous path while maintaining a specified speed throughout all the motion. The Arc and Arc3 instructions without CP always cause the arm to decelerate to a stop prior to reaching the end point.


Potential Errors

  • Changing Hand (arm) Attributes

    Pay close attention to the HAND attributes of the points used with the Arc instruction. If the hand orientation changes (from Right Handed to Left Handed or vice-versa) during the circular interpolation move, an error will occur. This means the arm attribute (/L Lefty, or /R Righty) values must be the same for the current position, midPoint and endPoint points.

  • Attempt to Move Arm Outside Work Envelope

    If the specified circular motion attempts to move the arm outside the work envelope of the arm, an error will occur.

See Also
!Parallel Processing!, AccelS, Move, SpeedS

Arc, Arc3 Statements Example
The diagram below shows arc motion which originated at the point P100 and then moves through P101 and ends up at P102. The following function would generate such an arc:

Function ArcTest
   Go P100
   Arc P101, P102
Fend

Tip
When first trying to use the Arc instruction, it is suggested to try a simple arc with points directly in front of the robot in about the middle of the work envelope. Try to visualize the arc that would be generated and make sure that you are not teaching points in such a way that the robot arm would try to move outside the normal work envelope.