[ros-users] Fuerte SIG 2.10: Efficient Simulation/Control of Articulated Robots

Mike Stilman mstilman at cc.gatech.edu
Wed Sep 14 06:59:15 UTC 2011

Hi Herman,

> KDL has already some of these, and more are coming. So, instead of starting
> yet another library, why not improve what KDL has already?
> We are now working on a hybrid dynamics solver, which goes a step further
> than the traditional Featherstone-based algorithms, in that partial
> acceleration constraints can be taken into account in linear time.

This would not be starting another library - the library already exists 
and is based on code that has been extensively tested. It's just not 
public yet because we wish to complete the contact modeling before its 
release. In fact, we have the full functionality of kinematic and dynamic 
solvers and the current expansion is simply adding LCP contact resolution 
which is to be completed in a few weeks. So, the real question is which 
library to extend?

I had followed KDL for some time and was intent on using it a while ago, 
however the dynamics solvers did not exist (or were not documented). Have 
they been tested and used in systems? The solvers in our library are based 
on code that has been tested for some time in computer animation and we 
anticipate equally reliable performance in robotics.

On another note, our library also has various extensions like 
compatibility with human motion capture data and algorithms for motion 
trajectory optimization - soon to be connected with motion planning.

Overall, I think this a great discussion topic for the SIG and probably 
that's exactly why these SIGs exist. You're welcome to join the SIG and we 
can work out the answers to these questions together!

> I hope that your vision on "integration" means that you keep the algorithms
> as separate and independent as possible, and try to find consensus on how

Absolutely! Personally, I'm very "tool" minded. In my ideal world there 
exists a common data structure (to get rid of data copying, heap 
allocation and other inefficiencies). The library encodes this data 
structure and provides functionality for basics like forward/inverse 
dynamic/kinematic solvers. The tools built on top of this are totally 
modular since they just link to the library and use it any way they like.

> to compose them. For example, adding collision information to a dynamics
> algorithm in order to do, for example, force or impedance control, should
> not be done by extending the dynamics algorithm with collision data
> structures, but via the external force or Cartesian (velocity,
> acceleration) constraints, in combination with a contact dynamics impedance

Exactly, so I would consider a force/impedance controller to be a tool 
that may benefit from the dynamics of the library or the collision 
checking library or neither or both. I see no reason to force the tools 
(algorithms) built on top of the basic solvers to be constrained in any 
particular way.

Herman - seriously, join the SIG and lets figure out the best way to do 


More information about the ros-users mailing list