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.
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 ?
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. 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.
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.
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 !