|Re: [eigen] Eigen and rigid body simulation|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Eigen and rigid body simulation
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Thu, 26 Nov 2009 09:02:34 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=uqdDt+LBkqMTfUhoQvxLaMOeqicuZoNRFzT8qXz5pZE=; b=w4cOAniPtzifoydMHhZ/QgwDiz744HT3gjn8I7AlwLLCL7SaCjjzdKIPjuYG7zcz4x WhgNw44D9YHf/i5mlgYeOYFe7CB6WkqosovZObEzx4YGLagTv3b7oHtfRYiaAaSFwfnF fgeAUz0ZMhGzRbGY1lcYt8tFyQdO7Kh4Ciwpk=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=rEyDQvA8n7kCf8XTL3AbPQoxELAOpQQxOPblqSEs3Em67GndInH0Oxvz7K9Hd4rZhP e3aOc2mOK31bCOQg7/O4140yRw9arXPgxwNoRWrIPLQ63Nx3ub+8cQSblzftE8WfRcXH dieS/U5bnfgoNe8vn6Wx90HK8NC49x5dbdke4=
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>:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>> Mathieu Gautier schrieb:
>>> 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.
>> 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
> 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
> 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.
> 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
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.9 (GNU/Linux)
>> -----END PGP SIGNATURE-----