Hi there,
I have noticed a strange change of the wrist configuration during a moveL movement. It occurs when the z-axis of the Flange is in parallel to the base Y-axis and the robot moves linearly along that axis. When the joint in the base exceeds zero degrees, the wrist will change from a position top of the flange down under it. It occurs in many other positions, but this was the easiest one to describe.
The first point I was wondering about is, that the UrSim simulator doesn’t do the same at this point and i also see no need for that behavior. On the other Hand i see only disadvantages like the need of nearly infinit joint speeds and errors when hitting limits.
Does this behavior have an advantage that I haven’t yet recognized? In other words, is it a bug or a feature?
edit: I am using an UR10e with the actual software (5.11) and also the latest UrSim
Hello Martin,
If I understood you correctly, you are experiencing the Wrist Alignment Singularity.
If you want to read more about singularities check out our article here: Universal Robots - What is a singularity?
Hello and thanks for response,
that s quite close! Let s add -90 Degree on Wrist1 to get Wrist2 vertical and avoid that a linear movement along y-Axis is blocked by the Wrist Alignment Singularity (eg.: [0, -98.96, -126.22, -136.29, 180, -1.78]). Then we see two different behaviors with UR-Sim and the real UR10e:
-
UR Sim:
Moves along y-Axis backward and forward without any problem (Wrist 2 is orientated vertical all the time).
-
the real UR10e
Same situation but it starts to change the orientation of Wrist2 every time the Base Joint passes Zero. While changing the Orientation of Wrist 2 it ends up being blocked in the Wrist Alignment Singularity.
Why the real Robot does not keep the Wrist2 Axis orientated vertical like the simulation? I mean, there is no need to get stuck in the Wrist Alignment Singularity or is there something i did not mention? For sure it s better to avoid the singularities, but sometimes u can t.
`Hello,
My group is experiencing the same problem although in a different base orientation. When wrist 2 passes 0 it is completing the movement you mentioned above. It also will randomly using MoveL create curves in its point to point movement; only during this singularity. Though we are some times able to avoid this movement use MoveL during full runs of the program.
If there is a solution to this; I will be following it.
Is it possible, that the difference between the simulation and the real Robot is caused by the calibration?
And is there a way to copy the calibration data to UrSim?