# Inverse Kinematics with KDL

 Submitted by telvin on Fri, 2010-12-24 21:11

Hello,

KDL is relatively new for me and I need to calculate inverse Kinematics for a KUKA-125. I have to calculate always with respect to the angle limits of joints. Can anybody please tell me if there is a method, which I can use for this purpose to limit joint angles, like theta min and theta max?

Best regards,

telvin

### Inverse Kinematics with KDL

Telvin,

According to the documentation, the "chainiksolverpos_nr_jl" solver
computed inverse position kinematics taking into account joint limits:

"""
* Implementation of a general inverse position kinematics
* algorithm based on Newton-Raphson iterations to calculate the
* position transformation from Cartesian to joint space of a
general
* KDL::Chain. Takes joint limits into account.
"""

Hope this helps,

Wim

On Fri, Dec 24, 2010 at 2:11 PM, <emre [dot] ates [..] ...> wrote:
> Hello,
>
> KDL is relatively new for me and I need to calculate inverse Kinematics for a KUKA-125. I have to calculate always with respect to the angle limits of joints. Can anybody please tell me if there is a method, which I can use for this purpose to limit joint angles, like theta min and theta max?
>
> Best regards,
>
> telvin
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

### Inverse Kinematics with KDL

Wim Meeussen wrote:
Telvin,

*According to the documentation, the "chainiksolverpos_nr_jl" solver
*computed inverse position kinematics taking into account joint limits:
*
*"""
* * Implementation of a general inverse position kinematics
* * algorithm based on Newton-Raphson iterations to calculate the
* * position transformation from Cartesian to joint space of a
*general
* * KDL::Chain. Takes joint limits into account.
*"""
*
*Hope this helps,
*
>Wim

Hello,

Thank you very much for all the replies! I´ve read the code of chainiksolverpos_nr_jl.cpp and I think it´d help me indeed. As Example, I try to get 6 theta angles for my robot according to the coordinates of a point with x,y,z,alfa,beta and gamma. The joint 5 is limited with +/- 2.6 rads and I get as inverse kinematics solution for example 2.95 rads for the fifth joint. I think it would be the right way to solve this problem, if I limit the joint angles, but now I have a new problem;

After these helpful feedbacks I´ve startet to install KDL for Visual Studio 2008. Concerning the Dokumentation I´ve downloaded and built boost, ACE and TAO_IDL then tried to build TAO, but it didn´t work. As I understood I need ACE and TAO for CORBA and CORBA for RTT. There are many errors bei build of TAO.What could bring these errors on?(In many of the errors: xxxx.h not found! But I´ve downloaded all the code with svn and generated the projects with CMake) Now it stucks by the installation!

I would be glad, if somebody could help me!

Thanks in advance and I wish you all a happy new year!

--
Orocos-Users mailing list
Orocos-Users [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users

### Re: Inverse Kinematics with KDL

Hello!

Does it means that I just have to install boost and CMake for RTT? In the documentation of RTT under http://www.orocos.org/wiki/rtt/rtt-ms-windows/compiling-rtt-1100-windows-native-win32-api there is a part "Setting up CMake". At this step it is mentioned that the TAO and ACE are to install, this means I need TAO, even I do not use CORBA. I´ve built ACE and TAO_IDL respect to the instructions under http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/TAO-INSTALL.html. But I don´t know what could I have done wrong. Could someone please help me to install TAO? I´d appreciate all the helps for this problem.

Thanks in advance!

### Inverse Kinematics with KDL

> Does it means that I just have to install boost and CMake for RTT?

You can use KDL without RTT, TAO, etc. I think you only need Eigen and Boost.

Wim

### Re: Inverse Kinematics with KDL

Wim Meeussen wrote:
Telvin,

• According to the documentation, the "chainiksolverpos_nr_jl" solver
• computed inverse position kinematics taking into account joint limits:
• """
• * Implementation of a general inverse position kinematics
• * algorithm based on Newton-Raphson iterations to calculate the
• * position transformation from Cartesian to joint space of a
• general
• * KDL::Chain. Takes joint limits into account.
• """
• Hope this helps,

>Wim

Hello,

Thank you very much for all the replies! I´ve read the code of chainiksolverpos_nr_jl.cpp and I think it´d help me indeed. As Example, I try to get 6 theta angles for my robot according to the coordinates of a point with x,y,z,alfa,beta and gamma. The joint 5 is limited with +/- 2.6 rads and I get as inverse kinematics solution for example 2.95 rads for the fifth joint. I think it would be the right way to solve this problem, if I limit the joint angles, but now I have a new problem;

After these helpful feedbacks I´ve startet to install KDL for Visual Studio 2008. Concerning the Dokumentation I´ve downloaded and built boost, ACE and TAO_IDL then tried to build TAO, but it didn´t work. As I understood I need ACE and TAO for CORBA and CORBA for RTT. There are many errors bei build of TAO.What could bring these errors on?(In many of the errors: xxxx.h not found! But I´ve downloaded all the code with svn and generated the projects with CMake) Now it stucks by the installation!

I would be glad, if somebody could help me!

Thanks in advance and I wish you all a happy new year!

### Inverse Kinematics with KDL

Hello!

Does it means that I just have to install boost and CMake for RTT? In the documentation of RTT under http://www.orocos.org/wiki/rtt/rtt-ms-windows/compiling-rtt-1100-windows... there is a part "Setting up CMake". At this step it is mentioned that the TAO and ACE are to install, this means I need TAO, even I do not use CORBA. I´ve built ACE and TAO_IDL respect to the instructions under http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/TAO-INSTALL.html. But I don´t know what could I have done wrong. Could someone please help me to install TAO?
I´d appreciate all the helps for this problem.

Thanks in advance!

--
Orocos-Users mailing list
Orocos-Users [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users

### Inverse Kinematics with KDL

On Tue, 28 Dec 2010, emre [dot] ates [..] ... wrote:

>

Wim Meeussen wrote:
Telvin,
>
> *According to the documentation, the "chainiksolverpos_nr_jl" solver
> *computed inverse position kinematics taking into account joint limits:
> *
> *"""
> * * Implementation of a general inverse position kinematics
> * * algorithm based on Newton-Raphson iterations to calculate the
> * * position transformation from Cartesian to joint space of a
> *general
> * * KDL::Chain. Takes joint limits into account.
> *"""
> *
> *Hope this helps,
> *
>> Wim
>
>
>
> Hello,
>
> Thank you very much for all the replies! I´ve read the code of
> chainiksolverpos_nr_jl.cpp and I think it´d help me indeed. As Example, I
> try to get 6 theta angles for my robot according to the coordinates of a
> point with x,y,z,alfa,beta and gamma. The joint 5 is limited with +/- 2.6
> rads and I get as inverse kinematics solution for example 2.95 rads for
> the fifth joint. I think it would be the right way to solve this problem,
> if I limit the joint angles, but now I have a new problem;
>
> After these helpful feedbacks I´ve startet to install KDL for Visual
> Studio 2008. Concerning the Dokumentation I´ve downloaded and built
> boost, ACE and TAO_IDL then tried to build TAO, but it didn´t work. As I
> understood I need ACE and TAO for CORBA and CORBA for RTT.

No you don't! _Only_ if you want to have CORBA support.

> There are many
> errors bei build of TAO.What could bring these errors on?(In many of the
> errors: xxxx.h not found! But I´ve downloaded all the code with svn and
> generated the projects with CMake) Now it stucks by the installation!
>
> I would be glad, if somebody could help me!
>
> Thanks in advance and I wish you all a happy new year!
>
>
>

Herman

### Inverse Kinematics with KDL

On Fri, 24 Dec 2010, emre [dot] ates [..] ... wrote:

> KDL is relatively new for me and I need to calculate inverse Kinematics
> for a KUKA-125. I have to calculate always with respect to the angle
> limits of joints. Can anybody please tell me if there is a method, which
> I can use for this purpose to limit joint angles, like theta min and
> theta max?
>

Keeping a robot away from its joint limits is not an inverse kinematics
responsibility, but the responsibility of the controller. KDL computes IKs,
with various methods, and it is then up to the controller to take
appropriate action if your robot comes too close to its limits.

Herman

### Inverse Kinematics with KDL

2010/12/27 Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>

> On Fri, 24 Dec 2010, emre [dot] ates [..] ... wrote:
>
> > KDL is relatively new for me and I need to calculate inverse Kinematics
> > for a KUKA-125. I have to calculate always with respect to the angle
> > limits of joints. Can anybody please tell me if there is a method, which
> > I can use for this purpose to limit joint angles, like theta min and
> > theta max?
> >
>
> Keeping a robot away from its joint limits is not an inverse kinematics
> responsibility, but the responsibility of the controller. KDL computes IKs,
> with various methods, and it is then up to the controller to take
> appropriate action if your robot comes too close to its limits.
>
>
Maybe what Telvin need is to compute the volume in which the arm may
position its tool (I am sure there is a name for this space but I don't know
it). You would define min/max joint range for the all arm and then find this
volume. Does KDL permit this ?

> Herman
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

### Inverse Kinematics with KDL

On Mon, 27 Dec 2010, Willy Lambert wrote:

>
>
> 2010/12/27 Herman Bruyninckx <Herman [dot] Bruyninckx [..] ...>
> On Fri, 24 Dec 2010, emre [dot] ates [..] ... wrote:
>
> > KDL is relatively new for me and I need to calculate inverse
> Kinematics
> > for a KUKA-125. I have to calculate always with respect to the
> angle
> > limits of joints. Can anybody please tell me if there is a method,
> which
> > I can use for this purpose to limit joint angles, like theta min
> and
> > theta max?
> >
>
> Keeping a robot away from its joint limits is not an inverse kinematics
> responsibility, but the responsibility of the controller. KDL computes
> IKs,
> with various methods, and it is then up to the controller to take
> appropriate action if your robot comes too close to its limits.
>
>
> Maybe what Telvin need is to compute the volume in which the arm may position
> its tool (I am sure there is a name for this space but I don't know it).

The "reachable workspace" is a name that is sometimes used in this context.

> You
> would define min/max joint range for the all arm and then find this volume. Does
> KDL permit this ?
Only in a "brute force" approach, that is, by trying values and see what
the forward kinematics provides.

Herman

### Inverse Kinematics with KDL

Hello,

KDL is relatively new for me and I need to calculate inverse Kinematics for a KUKA-125. I have to calculate always with respect to the angle limits of joints. Can anybody please tell me if there is a method, which I can use for this purpose to limit joint angles, like theta min and theta max?

Best regards,

telvin