Puma 260/560 closed forward/inverse kinematic.

Hi all,
Here in Verona we "translated" the forward and inverse kinematic for our
Puma 260 and 560 from the Peter Corke "Robotic toolbox" (matlab etc.)
to C++.

Now I'm preparing a Orocos component but I don't know what's the best
way so tell me you opinion.

Some questions:
1.What's the best way to load the DH parameters?
2.Is better to implement it into KDL? How?

Thanks,
Fabrizio

Puma 260/560 closed forward/inverse kinematic.

On Tue, 5 Jul 2011, Fabrizio wrote:

> Here in Verona we "translated" the forward and inverse kinematic for our
> Puma 260 and 560 from the Peter Corke "Robotic toolbox" (matlab etc.)
> to C++.
>
> Now I'm preparing a Orocos component but I don't know what's the best
> way so tell me you opinion.
>
> Some questions:
> 1.What's the best way to load the DH parameters?
> 2.Is better to implement it into KDL? How?

Take a look at this documentation:
<http://people.mech.kuleuven.be/~orocos/pub/documentation/kdl/v0.4.x/api/html/group__kinfam.html>
It contains other examples of "kinematic families" with closed form
solutions. The Puma kinematic chains are a special case of the "ZXXZXZ"
family, with offsets on shoulder and wrist; both models (260 and 560) can
be solved with the same code, just with different geometric parameters. The
code itself can be made as an extension to the above-mentioned ZXXZXZ code.

I have a very efficient C implementation, of years ago, based on the paper
by Low and Dubey:

Article{ lowdubey86,
author = {Low, K. H. and Dubey, R. N.},
title = {A Comparative Study of Generalized Coordinates for Solving
the Inverse-Kinematics Problem of a {6R} Robot
Manipulator},
journal = {The International Journal of Robotics Research},
year = {1986},
volume = {5},
number = {4},
pages = {69--88}
}

Maybe Corke's code is based on that. Anyway, my code is only for position
and velocity, not dynamics.

So, in summary, I think a contribution for the puma's would be fine, but
please try to decouple the generic "kinematic family" from the specific
robot type. Use this list for further discussions.

> Thanks,
> Fabrizio

Herman

Puma 260/560 closed forward/inverse kinematic.

On Jul 5, 2011, at 06:19 , Fabrizio wrote:

> Hi all,
> Here in Verona we "translated" the forward and inverse kinematic for our
> Puma 260 and 560 from the Peter Corke "Robotic toolbox" (matlab etc.)
> to C++.
>
> Now I'm preparing a Orocos component but I don't know what's the best
> way so tell me you opinion.
>
> Some questions:
> 1.What's the best way to load the DH parameters?

See below. Some use DH, some use translation matrices direct.

> 2.Is better to implement it into KDL? How?

Translate from what? KDL would be the preferred method in the Orocos world, for computing FK and IK.
S

Puma 260/560 closed forward/inverse kinematic.

On Tue, 2011-07-05 at 06:22 -0400, S Roderick wrote:
> On Jul 5, 2011, at 06:19 , Fabrizio wrote:
>
> > Hi all,
> > Here in Verona we "translated" the forward and inverse kinematic for our
> > Puma 260 and 560 from the Peter Corke "Robotic toolbox" (matlab etc.)
> > to C++.
> >
> > Now I'm preparing a Orocos component but I don't know what's the best
> > way so tell me you opinion.
> >
> > Some questions:
> > 1.What's the best way to load the DH parameters?
>
> See below. Some use DH, some use translation matrices direct.
>
> > 2.Is better to implement it into KDL? How?
>
> Translate from what? KDL would be the preferred method in the Orocos world, for computing FK and IK.
> S

Ok, we want also the specific algorithm for Puma, not only the generic
one and I think someone else like it.
Otherwise it's not a problem ;)

F.

Puma 260/560 closed forward/inverse kinematic.

On Jul 5, 2011, at 06:43 , Fabrizio wrote:

> On Tue, 2011-07-05 at 06:22 -0400, S Roderick wrote:
>> On Jul 5, 2011, at 06:19 , Fabrizio wrote:
>>
>>> Hi all,
>>> Here in Verona we "translated" the forward and inverse kinematic for our
>>> Puma 260 and 560 from the Peter Corke "Robotic toolbox" (matlab etc.)
>>> to C++.
>>>
>>> Now I'm preparing a Orocos component but I don't know what's the best
>>> way so tell me you opinion.
>>>
>>> Some questions:
>>> 1.What's the best way to load the DH parameters?
>>
>> See below. Some use DH, some use translation matrices direct.
>>
>>> 2.Is better to implement it into KDL? How?
>>
>> Translate from what? KDL would be the preferred method in the Orocos world, for computing FK and IK.
>> S
>
> Ok, we want also the specific algorithm for Puma, not only the generic
> one and I think someone else like it.
> Otherwise it's not a problem ;)

So the existing models/puma560.cpp in KDL isn't what you are after?
S

Puma 260/560 closed forward/inverse kinematic.

On Tue, 2011-07-05 at 06:45 -0400, Stephen Roderick wrote:
> On Jul 5, 2011, at 06:43 , Fabrizio wrote:
>
> > On Tue, 2011-07-05 at 06:22 -0400, S Roderick wrote:
> >> On Jul 5, 2011, at 06:19 , Fabrizio wrote:
> >>
> >>> Hi all,
> >>> Here in Verona we "translated" the forward and inverse kinematic for our
> >>> Puma 260 and 560 from the Peter Corke "Robotic toolbox" (matlab etc.)
> >>> to C++.
> >>>
> >>> Now I'm preparing a Orocos component but I don't know what's the best
> >>> way so tell me you opinion.
> >>>
> >>> Some questions:
> >>> 1.What's the best way to load the DH parameters?
> >>
> >> See below. Some use DH, some use translation matrices direct.
> >>
> >>> 2.Is better to implement it into KDL? How?
> >>
> >> Translate from what? KDL would be the preferred method in the Orocos world, for computing FK and IK.
> >> S
> >
> > Ok, we want also the specific algorithm for Puma, not only the generic
> > one and I think someone else like it.
> > Otherwise it's not a problem ;)
>
> So the existing models/puma560.cpp in KDL isn't what you are after?
> S
The point is: Why I must use KDL if there's no Puma closed kinematics
(and no Puma260 model)?

F.

Puma 260/560 closed forward/inverse kinematic.

On Jul 5, 2011, at 06:56 , Fabrizio wrote:

> On Tue, 2011-07-05 at 06:45 -0400, Stephen Roderick wrote:
>> On Jul 5, 2011, at 06:43 , Fabrizio wrote:
>>
>>> On Tue, 2011-07-05 at 06:22 -0400, S Roderick wrote:
>>>> On Jul 5, 2011, at 06:19 , Fabrizio wrote:
>>>>
>>>>> Hi all,
>>>>> Here in Verona we "translated" the forward and inverse kinematic for our
>>>>> Puma 260 and 560 from the Peter Corke "Robotic toolbox" (matlab etc.)
>>>>> to C++.
>>>>>
>>>>> Now I'm preparing a Orocos component but I don't know what's the best
>>>>> way so tell me you opinion.
>>>>>
>>>>> Some questions:
>>>>> 1.What's the best way to load the DH parameters?
>>>>
>>>> See below. Some use DH, some use translation matrices direct.
>>>>
>>>>> 2.Is better to implement it into KDL? How?
>>>>
>>>> Translate from what? KDL would be the preferred method in the Orocos world, for computing FK and IK.
>>>> S
>>>
>>> Ok, we want also the specific algorithm for Puma, not only the generic
>>> one and I think someone else like it.
>>> Otherwise it's not a problem ;)
>>
>> So the existing models/puma560.cpp in KDL isn't what you are after?
>> S
> The point is: Why I must use KDL if there's no Puma closed kinematics
> (and no Puma260 model)?
>
> F.
>

Use whatever makes sense for you.
S