Re: [ros-users] reverse kinematics using robot_state_publish…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Ruben Smits
Date:  
To: ros-users
Subject: Re: [ros-users] reverse kinematics using robot_state_publisher ?
On Wednesday 07 April 2010 12:48:23 Sachin Chitta wrote:
> Hi Ugo,
>
> You can use KDL to do inverse kinematics using one of the inverse
> kinematics solvers in the package. These are numerical solvers that
> operate on a KDL chain. First use the kdl_parser package to create a KDL
> chain and then initialize an inverse kinematics solver for the chain. The
> solution tends to be dependent on the initial state you pass into the
> solver and can sometimes get stuck in local minima. Also, I am not sure
> about how well the solvers handle joint limits. I believe more advanced
> solvers are in the works but I will let the orocos folks comment on that.



If you need inverse velocity kinematics, which is commonly the case in
a control application, KDL contains various implementations including
the use of (task and/or robot space weighted)pseudo-inverses of the
jacobian and (damped) least squares solutions of the inverse velocity
problem. More advanced (constraint-based) solvers are currently being
developed, but these are still at the velocity level.


If you need inverse position kinematics, KDL does currently not have a
perfect solution, at the moment we only have an implementation of a
Newton-Raphson integration on top of one of the inverse velocity
kinematic solvers.

Ruben

> Have a look at the api page here
> http://orocos.org/kdl/UserManual/kinematic_solvers for more examples.


This page (sadly) does not cover all the existing solvers :(

> The other option is to write your own solver (we have one for the PR2 that
> takes in a hint for one of the joint angles and then computes the other 6
> analytically -
> www.ros.org/wiki/pr2_arm_kinematics<http://www.ros.org/wiki/pr2_arm_kinema
> tics>)
>
> Sachin
>
> On Wed, Apr 7, 2010 at 3:28 AM, Ugo Cupcic
> <<mailto:ugo@shadowrobot.com>> wrote: Hi all,
>
> Is it possible to use robot_state_publisher or some other ROS stack to
> do reverse kinematic on my urdf model?
> Or do I need to implement my own using the "Coding a realtime Cartesian
> controller with KDL" tutorial ?
>
> Cheers,
>
> Ugo
>
>
> --
> Ugo Cupcic         |  Shadow Robot Company |
> <mailto:ugo@shadowrobot.com> Software Engineer      251
> Liverpool Road
> need a Hand?           London  N1 1LX       | +44 20 7700 2487
> http://www.shadowrobot.com/hand/              @shadowrobot

>
> _______________________________________________
> ros-users mailing list
> <mailto:ros-users@code.ros.org>
> https://code.ros.org/mailman/listinfo/ros-users
>
>
>
> --
> Sachin Chitta
> Research Scientist
> Willow Garage