Ask Your Question

how to check if robot passes through a singularity

asked 2014-06-14 06:15:06 -0600

jelle gravatar image


I'm using the excellent KDL solver ( ChainIkSolverPos_LMA specifically ) to solve IK. Something that's biting me is that its actually pretty hard to detect whether the robot is passing a singularity moving from frame_A -> frame_B...

For my application its important to be able to detect this condition. Its not that straightfwd though to compute the nullspace however. What's your advice; as a newcomer to ROS its a little tricky to find out 1) whether I can use my current appraoch to detect passing a singularity 2) any pointers to code in ROS ( moveit? ) that detects passing singularities would be a great help too 3) finally, perhaps its worthwhile to use IKFast for testing this condition? It would imply injecting another dependency, than again, a analytical solver is likely to be more useful detecting passing a singularity.

Any suggestions are much appreciated!

edit retag flag offensive close merge delete


Are there any updates on this?

Sidd gravatar image Sidd  ( 2017-09-12 17:05:58 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2019-11-12 14:27:56 -0600

mlautman gravatar image

There aren't any out of the box solutions (that I know of) for detecting singularities using MoveIt. I would look at the moveit_jog_arm package to see how it detects and avoids singularities.

(As you approach a singularity using moveit_jog_arm, it slows down the arm velocity to avoid reaching the singularity. I believe it does this by analyzing the jacobian but I would have to inspect the code to be sure).

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2014-06-14 06:15:06 -0600

Seen: 834 times

Last updated: Nov 12 '19