Replies: 6 comments
-
Difficult to tell without simple repro case what the problem is. It could be that the joint limits are not active or properly specified. You may need to set the joint limits tighter. You could check yourself if any constraint is violated, and possibly call the IK solver again from a different starting point. You may need to do some debugging, the IK solver innerloop isn't very complicated. |
Beta Was this translation helpful? Give feedback.
-
A easy reproduce is:
The returned
Note that joint 3 has a value of |
Beta Was this translation helpful? Give feedback.
-
i don't find any papers about the DLS with Nullspace, does any body can share the relative papers with me, thanks. import pybullet as p clid = p.connect(p.GUI) kukaId = p.loadURDF("kuka_iiwa/model.urdf", [0, 0, 0]) #lower limits for null space for i in range(numJoints): pos = [-0.1, 0, 0.2] #jointPoses = p.calculateInverseKinematics(kukaId, kukaEndEffectorIndex, pos, orn, ll, ul, jr, rp, maxNumIterations=100) //jonintPoses = (1.22050950923848e-11, -0.9361807246909419, -1.1822010390722412e-11, 2.0873899511548615, -4.9901012629469686e-12, -1.9240952471398638, 0.0) |
Beta Was this translation helpful? Give feedback.
-
@Steven89Liu hi, have u solved this ik problem? |
Beta Was this translation helpful? Give feedback.
-
last time i had a suspicion that the model can't get what it expected with those constraints. if you can be sure your setting can work, Can you provide a similar sample that i can work with you to find the root cause? |
Beta Was this translation helpful? Give feedback.
-
i read the code and doc again and find a new clue, as i understand, the nullspace method is used to adjust the joint angule in the direct of the nullspace of Jacobian to meet the limitation. but current implementation the nullspace velocity is caculated based on the old position, in my view, we should calculate the nullspace velocity based on the newer position, that is first we should caculate the deta theta with DSL and then calcuate the nullspace and finally call the CalcDeltaThetasDLSwithNullspace |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, I wonder if there is a way to compute valid IK solution with calculateInverseKinematics. Now it could return IK solution that exceed joint limit(as in from getJointInfo()), or sometimes in self-collision. I tried specifying upperLimits and lowerLimits when calling it but no help.
Is there a way to calculate only valid IK or return False or something like that?
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions