AvoidSingularity Statement
Sets the singularity avoiding function.
Syntax
AvoidSingularity { mode }
Parameters
- mode
- Integer expression representing a singularity avoiding mode to use
Constant Value Mode SING_NONE 0 Disables the singularity avoiding function. SING_THRU 1 Enables the singularity avoiding function. SING_THRUROT 2 Enables the singularity avoiding function in CP motions with an ROT modifier. SING_VSD 3 Enables variable speed CP motion function. SING_AUTO 4 Selects the singularity avoiding function or variable speed CP motion function automatically. SING_AVOID 5 Enables the elbow singularity avoiding function.
Description
SING_THRU, SING_THRUROT, SING_AVOID for AvoidSingularity are available with the following commands:
Move, Tmove, Bmove, Arc, Arc3, Jump3, Jump3CP, JumpTLZ
SING_VSD and SING_AUTO for AvoidSingularity are available with the following commands:
Move, Tmove, Bmove, Arc, Arc3, Jump3, Jump3CP, JumpTLZ, Cvmove
A singularity avoiding function is to prevent acceleration errors when the vertical 6-axis (including N series) or RS series robot approaches to the singularity in CP motion by passing a different trajectory and returning to the original trajectory after passing the singularity. Since the singularity avoiding function is usually set to “1: Enabled” at the controller startup, it is not necessary to change the setting. If you do not want a singularity avoidance to ensure compatibility with software which does not support the singularity avoiding function, or to avoid a trajectory gap, disable the function.
A variable speed CP motion function automatically controls speed while keeping the trajectory when the vertical 6-axis (including N series) or RS series robot approaches to the singularity in order to avoid the acceleration error and overspeed error, and returns to the normal speed command after leaving the singularity. To pass the singularity while keeping the trajectory, Joint #1, #2, #4, and #6 may move largely.
If the AvoidSingularity parameter is changed, this function remains enabled until the next controller startup.
If an acceleration or overspeed errors occurs even when the singularity avoiding function is set, reduce AccelS and SpeedS.
At the controller startup, AvoidSingularity has the setting specified in the controller setting (factory default: 1). Also, parameters for SingularityAngle, SingularitySpeed, and SingularityDist are reset to the default values when AvoidSingularity setting is changed.
SING_AUTO mode is the combination of SING_THRU and SING_VSD modes. SING_THRU or SING_VSD is selected depending on the motion or speed.
If the acceleration and overspeed errors occur even when AvoidSingularity is used, set AccelS, DecelS, and SpeedS smaller.
Notes
Condition setting of singularity neighborhood for vertical 6-axis robot and N series robot
To determine whether the manipulator approaches to the wrist singularity neighborhood, angle of Joint #5 and angular velocity of Joint #4 are used. By default, Joint #5 angle is set to ±10 degree, and Joint #4 angle is set to ±10 % with respect to the maximum joint velocity. To change these settings, use SingularityAngle and SingularitySpeed commands. Also, to determine whether the manipulator approaches to the hand singularity neighborhood, the coordinates of the point P is used. By default, distance between the point P and Joint #1 rotation axis is set to 30 mm. To change this setting, use SingularityDist command.
Condition setting of singularity neighborhood for RS series robot
To determine whether the manipulator approaches to the hand singularity neighborhood, the coordinates of the origin point in the default tool 0 coordinate system is used. By default, distance between the origin point and Joint #1 rotation axis is set to 30 mm. To change this setting, use SingularityDist command.
Cautions for N series robot
For N2 series, unlike other models, the default setting of singularity avoidance function is “3: Enables variable speed CP motion function.”
For N6 series, like other models, the default setting of singularity avoidance function is “1: Enables the singularity avoiding function.”
N series robots have the elbow singularity other than the wrist and hand singularities. The elbow singularity area is where the Joint #3 is at 0 degree (the Joint #3 and Joint #2 overlap each other).
For details of avoiding motion near the elbow singularity area, refer to the following manual:
"Epson RC+ User’s Guide"Difference between SING_THRU and SING_AVOID
SING_THRU avoids the wrist and shoulder singularities, but not the elbow singularity. To avoid the elbow singularity, use SING_AVOID. Note, however, that the elbow singularity avoiding motion changes the trajectory largely than the other singularity avoiding motions. When SING_AVOID is selected for the manipulator models other than N series, an error 4002 occurs.
See Also
AvoidSingularity Function, SingualrityAngle, SingularitySpeed, SingularityDist
AvoidSingularity Statement Example
AvoidSingularity SING_NONE ’Disables the singularity avoidance and operate the manipulator
Move P1
Move P2
AvoidSingularity SING_THRU