Re: [eigen] Eigen and rigid body simulation

[ Thread Index | Date Index | More Archives ]

I had 1 more thing to draw your attention on:

See Thomas ("orzel") 's suggestion in the IRC conversation: we could
split unsupported between "staging area for new stuff" and "external
modules". Ok, the names are very poor but hopefully you get it :)

Mathieu's code would be perfect in "external" then.


2009/11/26 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> 2009/11/25 Christian Mayer <mail@xxxxxxxxxxxxxxxxx>:
>> Hash: SHA256
>> Mathieu Gautier schrieb:
>>> Hi,
>>> I plan to use eigen in one of our library to simulate rigid body in 3D.
>>> I have several basic elements (Wrench, Twist, Displacement, etc.) based
>>> on Eigen matrix and quaternion which are used to manipulate the rigid
>>> bodies velocities, forces, positions, etc. I think that this elements
>>> could be added to Eigen as a new module, although, they are quite tied
>>> to the geometry module. So, if you are interested I can submit a patch.
>> Hi Mathieu,
>> this sounds like a sensible way coming from the Eigen background (i.e.
>> geometry).
>> But when you are talking about linear or angular "mechanics" you should
>> also think about its analog applications: thermodynamics and electricity:
>> force = torque = current = heat transport
>> velocity = angular velocity = potential = temperature
>> mass = inertia = capacity
>> The formulas to handle those quantities are exactly the same.
>> I.e. although most quantites are only 1D (and not 3D like linear and
>> angular motion) this is really asking for a generic mechanism to handle
>> it. And - so far Eigen could only spend it's expression templates - it
>> might be a good usecase for the solving methods of Eigen.
>> But in either case (only mechanics or generalized) I think it's out of
>> the scope of Eigen. It's a good usecase though.
> As usual, it's really hard to say whether a proposed new module is in
> the scope of Eigen, if it should be accepted in "unsupported", etc...
> Yesterday a little conversation happened on IRC, let me paste it below...
> About your concerns, if I understand well, you're saying that if we
> start having mechanics stuff we may just as well have thermodynamics
> stuff because the underlying concepts are the same, and then that's
> clearly out of the scope of Eigen.
> But I would reply to that 2 things:
> 1) Mechanics is special among physics topics in that it is very close
> to geometry; the frontier between geometry and Mechanics is fuzzy
> enough.
> 2) This mechanics stuff is something that is quite likely to be useful
> to many Eigen users, seeing how many of Eigen users are using it in
> robotics/engineering. We already have several known users who do
> mechanics with Eigen; I don't know anybody doing thermodynamics with
> Eigen.
> Finally, as was mentioned in the IRC conversation pasted below, there
> always was an ambiguity in unsupported/ because it is 2 things:
> - a staging area for new stuff until it is ready to be supported
> (mature enough and enough potential users)
> - a place for extra stuff useful to Eigen users but that we don't want
> to have to support. Here we're squarely using the fact that thanks to
> being a template library, we can have that at a very small cost ---
> just some disk space on the developer's side.
> I'll start a wiki page on that....
> Anyway I'm not opposed to having that in unsupported.
> The alternative might be for Mathieu to start his own mechanics
> (template) library that requires Eigen as a dependency.
> Cheers,
> Benoit
> IRC log:
> <gael> I think this is what unsupported/ is ment for
> <gael> a place to share code related to Eigen
> <orzel> gael: mm, depends, at least some of the modules in unsupported
> are meant to migrate in core
> <gael> yes, if they become useful, mature enough, and with a reliable maintener
> <gael> but I don't think this should be a necessary goal for all
> unsupported modules
> <orzel> gael: but a module such as the rigid body stuff would never go
> to core, that's not the place where it belongs
> <gael> sure
> <orzel> i see what you mean
> <orzel> maybe we should have a place for "stuff to mature before going
> to core" , and another one for "application specific stuff"
> <gael> but might still be interesting to make it easily available to
> everybody (I'm speaking in general)
> <moritz_> ext/ and incubator/ :-)
> <orzel> the problem is that most of the time, people put stuff in
> there, and kind of dissapear
> <bjacob> orzel: if it's unsupported and they disappear, in the worst
> case we can simply remove the code
> <bjacob> that's the nice thing with it being unsupported
> <orzel> yes, but it also bloats the repository
> <orzel> not a big concern, sure
>> CU,
>> Chris
>> Version: GnuPG v1.4.9 (GNU/Linux)
>> iEYEAREIAAYFAksNpvIACgkQoWM1JLkHou0TTwCgkR/q4Nq5ciF0Jn57sF4r5PB7
>> tugAn3Rr42Z000gJJYWPSDYijSd66Fzn
>> =zO+Q
>> -----END PGP SIGNATURE-----

Mail converted by MHonArc 2.6.19+