How do I prevent the robot from creating singularity errors while moving

A customer wants a robot as part of a carnival game. This robot will be jogged by the public and I expect lots of faults from singularity errors and the like.

Is there a way to program the robot to stop before it gets a singularity or other movement error that must be disabled before the contestant can continue with the game?

jogged from the teachpendant Move panel? I dont see much ways to avoid singularities in this case.

If from some input devices like buttons you could be restricting the movements to not exceed some translate/rotate range to stay in a configuration space you know wont hit any singularity, with a script using the servol command with cartesian poses constrained to a known volume for example

If you want to have “real” 6d jogging without space limitations while avoiding singularities you might have a look into ROS and MoveIt Servo alongside a 6d 3dconnexion spacemouse which allows that, with collision avoidance and singularity avoidance, but this is a whole other level of complexity to deploy compared to a simple solution that is entirely running on the UR controller.

1 Like