Hi *,
Problem working with KDL,
I have used the ChainIKSolver but it doesent give me the exact results, what I am doing, is i take the Frame result from the ForwardKinematics for some movement (in my example for 3 joints), and then use it as point in the InverseKinematicsSolver, but sometimes it skips for more than 1.0 point,
to be exact
Desired Frame: [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
but FK loses 0.9 on Y-axis, but the result is doable(gained as result of a previous FK)
FK: [[-0.995841,0.091113,0.000000;-0.091113,-0.995841,0.000000;0.000000,0.000000,1.000000],[-0.104846,2.908887,0.800000]]
is it only me or is it the Newthon-Raphson method, i have changed the nrIterations and eps also, but no change in the solution.
Please help, also pls tell me if there will be another IK algorithm in KDL.
I know that IKSolving cannot be done by one algorithm, but I realy started to hate NR...
tonc,
Jovanoski Davor
Problem working with KDL,
I have used the ChainIKSolver but it doesent give me the exact results, what I am doing, is i take the Frame result from the ForwardKinematics for some movement (in my example for 3 joints), and then use it as point in the InverseKinematicsSolver, but sometimes it skips for more than 1.0 point,
to be exact
Desired Frame: [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
but FK loses 0.9 on Y-axis, but the result is doable(gained as result of a previous FK)
FK: [[-0.995841,0.091113,0.000000;-0.091113,-0.995841,0.000000;0.000000,0.000000,1.000000],[-0.104846,2.908887,0.800000]]
is it only me or is it the Newthon-Raphson method, i have changed the nrIterations and eps also, but no change in the solution.
Please help, also pls tell me if there will be another IK algorithm in KDL.
I know that IKSolving cannot be done by one algorithm, but I realy started to hate NR...
tonc,
Jovanoski Davor
IKsolver
On Mon, 1 Sep 2008, Davor Jovanoski wrote:
> Problem working with KDL,
> I have used the ChainIKSolver but it doesent give me the exact results, what
> I am doing, is i take the Frame result from the ForwardKinematics for some
> movement (in my example for 3 joints), and then use it as point in the
> InverseKinematicsSolver, but sometimes it skips for more than 1.0 point,
> to be exact
>
> Desired Frame:
> [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
>
> but FK loses 0.9 on Y-axis, but the result is doable(gained as result of a
> previous FK)
>
> FK:
> [[-0.995841,0.091113,0.000000;-0.091113,-0.995841,0.000000;0.000000,0.000000,1.000000],[-0.104846,2.908887,0.800000]]
>
> is it only me or is it the Newthon-Raphson method, i have changed the
> nrIterations and eps also, but no change in the solution.
> Please help, also pls tell me if there will be another IK algorithm in KDL.
> I know that IKSolving cannot be done by one algorithm, but I
> realy started to hate NR...
>
You are using (only) 3DOFs, so do you know whether your kinematic chain can
reach the desired frame?
Herman
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
IKsolver
3DOFs ???
But Yes i am sure that the chain can reach the frame, as stated earlier I use the result frame from previous FK, so basicly i am making this, IK(FK(a,b,c)) and the result should be (a,b,c)... but it is not always.
PS. My Joints are TransX TransZ RotZ
Davor
IKsolver
On Monday 01 September 2008 15:59:48 Davor Jovanoski wrote:
> Hi Herman,
> 3DOFs ???
>
> But Yes i am sure that the chain can reach the frame, as stated earlier I
> use the result frame from previous FK, so basicly i am making this,
> IK(FK(a,b,c)) and the result should be (a,b,c)... but it is not always.
> PS. My Joints are TransX TransZ RotZ
Can you give some more information:
How does your chain look like: Segments, Joints
What are the joint values you gave to the FK?
Are you sure you're not in a kinematic singularity?
Ruben
>
> Davor
IKsolver
On Mon, 1 Sep 2008, Davor Jovanoski wrote:
(Please, keep the context of the message to which you reply!)
> 3DOFs ???
"Three degrees of freedom".
> But Yes i am sure that the chain can reach the frame, as stated earlier I
> use the result frame from previous FK, so basicly i am making this,
> IK(FK(a,b,c)) and the result should be (a,b,c)... but it is not always.
> PS. My Joints are TransX TransZ RotZ
Could you post a sequence of IKs that use more iterations, or a smaller
epsilon? This could show us whether you are confronted with insufficient
iteration convergence.
Herman
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
IKsolver
I hope this helps,
Iter=10 eps=0.01
Desired: [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
FK: [[-0.995525,0.094499,0.000000;-0.094499,-0.995525,0.000000;0.000000,0.000000,1.000000],[-0.103245,2.905501,0.800000]]
iter=2 eps=0.01
Desired: [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
FK: [[0.695105,0.718908,0.000000;-0.718908,0.695105,0.000000;0.000000,0.000000,1.000000],[-0.117976,2.281092,0.800000]]
iter=5 eps=0.0001
Desired: [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
FK: [[0.342578,0.939489,0.000000;-0.939489,0.342578,0.000000;0.000000,0.000000,1.000000],[-0.110192,2.060511,0.800000]]
iter=100 eps=1e-6
Desired: [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
FK: [[-0.995841,0.091113,0.000000;-0.091113,-0.995841,0.000000;0.000000,0.000000,1.000000],[-0.104846,2.908887,0.800000]]
iter=10000 eps=0.1e-6
Desired: [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
FK: [[-0.995841,0.091113,0.000000;-0.091113,-0.995841,0.000000;0.000000,0.000000,1.000000],[-0.104846,2.908887,0.800000]]
iter=10000 eps=0.1e-16
Desired: [[-0.504846,0.863209,0.000000;-0.863209,-0.504846,0.000000;0.000000,0.000000,1.000000],[-0.104846,3.863209,0.800000]]
FK: [[-0.995841,0.091113,0.000000;-0.091113,-0.995841,0.000000;0.000000,0.000000,1.000000],[-0.104846,2.908887,0.800000]]
.....
and I am using PyKDl, I hope this doesent change the matter?
Davor
--
Jovanoski Davor