[KDL] Decoupling IK Problem
Submitted by congmat017 on Sun, 2010-04-04 05:42 |
First of all, thank you for developing KDL. It has been a great help.
I'm currently using ChainIKPosSolver_NR for a robotic manipulation project. However, I would only like to solve the IK position problem with any end-effector orientation (the final orientation can be anything). Is there a built-in way to do this? If there isn't, could I get some guidance on how to extend the capabilities of the current solver?
Thanks.
[KDL] Decoupling IK Problem
On Sun, 4 Apr 2010, matt [dot] cong [..] ... wrote:
> First of all, thank you for developing KDL. It has been a great help.
>
> I'm currently using ChainIKPosSolver_NR for a robotic manipulation
> project. However, I would only like to solve the IK position problem with
> any end-effector orientation (the final orientation can be anything). Is
> there a built-in way to do this? If there isn't, could I get some
> guidance on how to extend the capabilities of the current solver?
This feature is under development :-) ETA: a couple of months. I expect this
"underconstrained" motion specification (not just at the position level,
but also for velocities and accelerations) is going to be a "killer
application" feature of KDL...
The theory is described in the following paper of ours:
@Article{ DeSchutter-ijrr2007,
author = {De~Schutter, Joris and De~Laet, Tinne and
Rutgeerts, Johan and Decr\'e, Wilm and Smits, Ruben and
Aertbeli\"en, Erwin and Claes, Kasper and
Bruyninckx, Herman},
title = {Constraint-Based Task Specification and Estimation
for Sensor-Based Robot Systems in the Presence of
Geometric Uncertainty},
journal = {The International Journal of Robotics Research},
volume = {26},
number = {5},
pages = {433--455},
year = {2007}
}
Herman
[KDL] Decoupling IK Problem
You can try using ChainIKVelSolver_wdls and set the task space weight
matrix as 1 1 1 0 0 0 in the diagonal and rest as 0s. Then integrate (i.e.
add) the qdots (qnew = qold + qdots until desired cart. pos. reached).
Check the code in the PosSolver for more information. Just remember to only
check the vel part of the twist in the loop for its stop condition. I am
not on my usual pc so I can't provide u with code right now. Let me know if
you need it.
Note that this might not be an ideal way.
Cheers,
Baris
On Mon, 5 Apr 2010 19:51:23 +0200 (CEST), Herman Bruyninckx
<Herman [dot] Bruyninckx [..] ...> wrote:
> On Sun, 4 Apr 2010, matt [dot] cong [..] ... wrote:
>
>> First of all, thank you for developing KDL. It has been a great help.
>>
>> I'm currently using ChainIKPosSolver_NR for a robotic manipulation
>> project. However, I would only like to solve the IK position problem
with
>> any end-effector orientation (the final orientation can be anything).
Is
>> there a built-in way to do this? If there isn't, could I get some
>> guidance on how to extend the capabilities of the current solver?
>
> This feature is under development :-) ETA: a couple of months. I expect
> this
> "underconstrained" motion specification (not just at the position level,
> but also for velocities and accelerations) is going to be a "killer
> application" feature of KDL...
>
> The theory is described in the following paper of ours:
>
> @Article{ DeSchutter-ijrr2007,
> author = {De~Schutter, Joris and De~Laet, Tinne and
> Rutgeerts, Johan and Decr\'e, Wilm and Smits,
Ruben
> and
> Aertbeli\"en, Erwin and Claes, Kasper and
> Bruyninckx, Herman},
> title = {Constraint-Based Task Specification and Estimation
> for Sensor-Based Robot Systems in the Presence of
> Geometric Uncertainty},
> journal = {The International Journal of Robotics Research},
> volume = {26},
> number = {5},
> pages = {433--455},
> year = {2007}
> }
>
> Herman
[KDL] Decoupling IK Problem
First of all, thank you for developing KDL. It has been a great help.
I'm currently using ChainIKPosSolver_NR for a robotic manipulation project. However, I would only like to solve the IK position problem with any end-effector orientation (the final orientation can be anything). Is there a built-in way to do this? If there isn't, could I get some guidance on how to extend the capabilities of the current solver?
Thanks.