Moving Robot through wirst singularity

We are trying to move a UR10e through the wrist singularity as described here : Universal Robots - What is a singularity?.

We have tried multiple things such as speedj, speedl, movej (joint angle only), servoj, etc but still no luck.
We feel it should be possible to do so as we are able to jog through the singularity without any problems.

Is there a way to ‘jog’ a single joint in a program in other to pass this discontinuity ?

Hi, you can use joint-space movements to pass through singularities. Use movej or speedj or servoj. Jogging with the MoveTab just uses one of these commands.

Thank you for your input Oluf !

We’ve tried joint space movements with speedj movej and servoj and they seems highly unreliable. Most of the time we would trigger the ‘C204A7 approaching singularity’ or ‘C204A2 Inconsistency between target position and speed’ safety errors’. Is there recommendations on speeds, acceleration, timing or else that might help improve stability ?

That is strange. Do you use force control or something? Can you show the program or make it more clear what you are doing?

Made a really simple 2 waypoints program that goes back and forth through the singularity. The amount of time we are able to loop before an error varies between 0 and 5 times. We also hear a distinct clicking sound from the wrist motor when going through the singularity which is not present when jogging or using the ‘Move Here’ function.

More info : a Robotiq 2f-85 is attached to the robot, we are using Polyscope 5.11.8, TCP and payload are correct and adjusted.

Joint position (in degrees) are : Waypoint1(-193,-96,-106,-154,-161,-174), Waypoint2(-193,-96,-106,-154,-206,-174)

Sounds like a bug in the software to me. :slight_smile: It should work with a MoveJ in my opinion.

If it’s not too big a change and it does not limit other movements, you could try rotating the Base joint 180 degrees and work with the shoulder and wrist joints pointing the other direction.

It is a big concern to be able to access the whole assembly without having to redesign an end effector.

Although, Tried with all sort of robot configurations, with the same result.

@osn should we list this as a bug, do you this this could be fixed or is some sort of limitation ? Please advise

Can you upload the program, I don’t see any strange behavior.

Singluarities are affected by the TCP, so you may try if it is related to the TCP offset you have defined. But in a movej to joint angles there should never be singularities.

Alternatively, you can try without the URCap if that is possible.

Which error popup do you get?

Thank you for the hint ! We found the problem. We had a URCap who would write path_offset_enable() as a default option. Writting the script line : path_offset_disable(1.2) before executing the movej solved the case !

Regards,

Great.

When cartesian path offsetting is used, the robot cannot go through singularities