Orocos-Users Digest, Vol 50, Issue 5

> From: Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>
> Subject: Re: [Orocos-users] Puma 260/560 closed forward/inverse
> kinematic.
> To: Fabrizio <fabrizio [dot] boriero [..] ...>
> Cc: "orocos-users [..] ..."
> <orocos-users [..] ...>
> Message-ID: <alpine.DEB.2.02.1107060716040.14207@roble>
> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
>
> 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/...
> >
> 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
>
> Thanks Herman,
Is still present in the current version of KDL?
If not I can work on it...

Orocos-Users Digest, Vol 50, Issue 5

On Wed, 6 Jul 2011, Fabrizio Boriero wrote:

>
> From: Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>
> Subject: Re: [Orocos-users] Puma 260/560 closed  forward/inverse
>        kinematic.
> To: Fabrizio <fabrizio [dot] boriero [..] ...>
> Cc: "orocos-users [..] ..."
>        <orocos-users [..] ...>
> Message-ID: <alpine.DEB.2.02.1107060716040.14207@roble>
> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
>
> 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/h
> tml/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
>
> Thanks Herman,
> Is still present in the current version of KDL?
No, it isn't. (It never was, as far as I know.)

> If not I can work on it...

I will send it to you in a private email.

Herman

Ruben Smits's picture

Orocos-Users Digest, Vol 50, Issue 5

On Thursday 07 July 2011 07:21:18 Herman Bruyninckx wrote:
> On Wed, 6 Jul 2011, Fabrizio Boriero wrote:
> > From: Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>
> > Subject: Re: [Orocos-users] Puma 260/560 closed forward/inverse
> > kinematic.
> > To: Fabrizio <fabrizio [dot] boriero [..] ...>
> > Cc: "orocos-users [..] ..."
> > <orocos-users [..] ...>
> > Message-ID: <alpine.DEB.2.02.1107060716040.14207@roble>
> > Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
> >
> > 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
> > /h
> >
> > tml/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
> >
> > Thanks Herman,
> > Is still present in the current version of KDL?
>
> No, it isn't. (It never was, as far as I know.)

I think it was in the 0.x version of Orocos RTT, checkout the following:

svn co
http://svn.mech.kuleuven.be/repos/orocos/tags/rtt/orocos-0.24.0/packages...

It does not comply directly with the current version of KDL but you can easily
create a specific Kinematic Solver starting from our abstract interfaces.

> > If not I can work on it...
>
> I will send it to you in a private email.
>
> Herman

-- Ruben

Orocos-Users Digest, Vol 50, Issue 5

On Thu, 7 Jul 2011, Herman Bruyninckx wrote:

> On Wed, 6 Jul 2011, Fabrizio Boriero wrote:
>
>>
>> From: Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>
>> Subject: Re: [Orocos-users] Puma 260/560 closed  forward/inverse
>>        kinematic.
>> To: Fabrizio <fabrizio [dot] boriero [..] ...>
>> Cc: "orocos-users [..] ..."
>>        <orocos-users [..] ...>
>> Message-ID: <alpine.DEB.2.02.1107060716040.14207@roble>
>> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
>>
>> 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/h
>> tml/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
>>
>> Thanks Herman,
>> Is still present in the current version of KDL?
> No, it isn't. (It never was, as far as I know.)
>
>> If not I can work on it...
>
> I will send it to you in a private email.

I changed my mind: you can take a look at our C code writing of the 90's
here:
<http://people.mech.kuleuven.be/~bruyninc/kinematics/>
:-)

The files contain our effort to reuse as much code as possible for most
6DOF industrial robot designs. Only closed-form kinematics is covered, no
dynamics or iterative numerical algorithms.

Please, use this mailing list for further discussions if you plan to do
something with the code.

Herman