I'm interested in learning how the world's most advanced industrial robots handle singular points, but I don't have access to many robots. Would it be possible for you to demonstrate how the robots in your facility navigate through singularities?
how the robots in your facility navigate through singularities?
-
DawnHill -
March 13, 2025 at 3:11 AM -
Thread is Resolved
-
-
for 6-axis robot there are 3 singularities.
alpha1 - when root point of the wrist is directly above/below robot A1 rotation axis. this space is a line and easy to avoid.
alpha2 - when arm is stretched out. this space is a hemisphere. this space near reach limit and easy to avoid
alpha5 - when A5 axis is at zero (wrist singularity). this can happen anywhere inside robot working envelope and it is usually the only one that may give you a problem.
different workarounds exist... change orientation of the tool slightly so that A5 is not at or near zero. use orientation control that is less stringent (WristPTP) so that robot can navigate through singularity on its own. Use PTP motion to get through singularity - there are no singularities if robot is moving in PTP, so if needed replace part of path by PTP motion (on a short enough segment, this will be nearly linear). try one of strategies that your controller software offers. redesign cell - move things around so that they can be reached without hitting singularities (move robot, change tool mount, move fixtures around the robot, choose different robot....).
-
ABB robots have an instruction SingArea with optional arguments as follows: Wrist, allows the wrist to deviate in orientation while passing through or too near singularity. A newer option, LockAxis4, I have only had the occasion to use once or twice. In my opinion, it is amazing. Axis four will be locked at 0 or +/- 180 degrees. The final option is Off. The robot is not allowed to deviate from the programmed orientation, thus, one or more axes may have to turn quite fast which could result in an overall slowing of the TCP.
-
For KUKA bots options are described here:
PostRe: Singularity - how to set $singul_pos[3]
Hi,
$SINGUL_POS[3] is for the third singularity a standard 6 axis robot can have (Index 1: axis one singularity, Index 2: a2-a3 singularity, Index 3 axis 5 singularity). Basically for the axis 5 singularity distance corresponds to a scaled axis 5 angle. Therefore the robot is "inside" the singularity whenever the value of $singul_dist[3] < 1.0 (about +-0.0181° a5 angle) . Did you check the value of $singul_dist[]? Otherwise the robot might still think "no singularity" and does nothing. The…FubiniMay 20, 2013 at 11:51 AM -
For KUKA bots options are described here:
PostRe: Singularity - how to set $singul_pos[3]
Hi,
$SINGUL_POS[3] is for the third singularity a standard 6 axis robot can have (Index 1: axis one singularity, Index 2: a2-a3 singularity, Index 3 axis 5 singularity). Basically for the axis 5 singularity distance corresponds to a scaled axis 5 angle. Therefore the robot is "inside" the singularity whenever the value of $singul_dist[3] < 1.0 (about +-0.0181° a5 angle) . Did you check the value of $singul_dist[]? Otherwise the robot might still think "no singularity" and does nothing. The…FubiniMay 20, 2013 at 11:51 AM Well, I understand. Avoiding singularities is actually a matter of strategy.
-
ABB robots have an instruction SingArea with optional arguments as follows: Wrist, allows the wrist to deviate in orientation while passing through or too near singularity. A newer option, LockAxis4, I have only had the occasion to use once or twice. In my opinion, it is amazing. Axis four will be locked at 0 or +/- 180 degrees. The final option is Off. The robot is not allowed to deviate from the programmed orientation, thus, one or more axes may have to turn quite fast which could result in an overall slowing of the TCP.
Thanks! I can understand that locking the axis four can yield an appropriate inverse solution. But what kind of motion is this? Could you show me the simulation or actual motion effect?
-
for 6-axis robot there are 3 singularities.
alpha1 - when root point of the wrist is directly above/below robot A1 rotation axis. this space is a line and easy to avoid.
alpha2 - when arm is stretched out. this space is a hemisphere. this space near reach limit and easy to avoid
alpha5 - when A5 axis is at zero (wrist singularity). this can happen anywhere inside robot working envelope and it is usually the only one that may give you a problem.
different workarounds exist... change orientation of the tool slightly so that A5 is not at or near zero. use orientation control that is less stringent (WristPTP) so that robot can navigate through singularity on its own. Use PTP motion to get through singularity - there are no singularities if robot is moving in PTP, so if needed replace part of path by PTP motion (on a short enough segment, this will be nearly linear). try one of strategies that your controller software offers. redesign cell - move things around so that they can be reached without hitting singularities (move robot, change tool mount, move fixtures around the robot, choose different robot....).
Thank you very much. I think I know how to deal with the alpha1 and alpha5 conditions now.
-
-
-
-