Questions on KDL Tree extensions and hybrid dynamicsalg,

Dear Ruben,

after long testing, corrections and discussions with Herman Vereshchagin's hybrid dynamics algorithm 
is ready to be used with serial chains.
My first question is how I could contribute it back? I could just send the current version I have to you. 
Some parts (many not necessary comments, printfs) of it still need to be cleaned up.
I could write a short README explaining what changed to keep you updated.

The other question is related to this algorithm's extension to trees. Herman already confirmed theory behind it, so 
I am working my way through KDL tree primitives to see how it could be done. Regarding this I had one 
point, so far.

- What is the semantics of q_nr member in TreeElement. Does it describe the joint's number which is part of this element?
Since it gets assigned joint index number in Tree::addSegment, I was wondering about it.

- Another point of clarification, Tree primitive assumes that the joints at the root of branches are co-located. 
Example: If tree branches of at segment L1 then the joints of branches at L1 tip are co-located.
Is it so?

Also, some docu is missing, but I would be glad to contribute. I could send you my notes.

Sincerely
Azamat

Ruben Smits's picture

Questions on KDL Tree extensions and hybriddynamics alg,

On Wednesday 21 December 2011 12:34:04 Azamat Shakhimardanov wrote:
> Dear Ruben,
>
> after long testing, corrections and discussions with Herman Vereshchagin's
> hybrid dynamics algorithm is ready to be used with serial chains.
> My first question is how I could contribute it back? I could just send the
> current version I have to you. Some parts (many not necessary comments,
> printfs) of it still need to be cleaned up. I could write a short README
> explaining what changed to keep you updated.

The easiest way is to contribute is to provide a patch against the latest git
HEAD which is available on
http://git.mech.kuleuven.be/robotics/orocos_kinematics_dynamics.git

> The other question is related to this algorithm's extension to trees. Herman
> already confirmed theory behind it, so I am working my way through KDL
> tree primitives to see how it could be done. Regarding this I had one
> point, so far.
>
> - What is the semantics of q_nr member in TreeElement. Does it describe the
> joint's number which is part of this element? Since it gets assigned joint
> index number in Tree::addSegment, I was wondering about it.

Since we use a plain JntArray for the joints in a tree each Tree element gets
an index number that will use to find its jointvalue in this array

> - Another point of clarification, Tree primitive assumes that the joints at
> the root of branches are co-located. Example: If tree branches of at
> segment L1 then the joints of branches at L1 tip are co-located. Is it so?

Yes, but you could make the first joint of type None, which means you can put
the next branched joints at any place you would like.

> Also, some docu is missing, but I would be glad to contribute. I could send
> you my notes.

Patches (against the latest git) for documentations are very welcome.

> Sincerely
> Azamat

Ruben