[ec2m] Physics engines
alastair at channon.net
alastair at channon.net
Sat Sep 22 22:28:40 PDT 2001
About a month ago I glanced around to see what could be a suitable Physics base for long-term (very many evaluations) evolutionary experiments, and produced the following table of guesswork (which should be viewed using a fixed-width font):
Real- Dyn- Jointed Body-Body Simul'n
Time@ amics -Body Collision Method
*10^2 y n y oxforddynamics.co.uk (seems v. fast - ?)
*10^2 y n y Kano's Rigidbody (source not available) (seems v.fast)
*10^1.5 y y y Lagrange Open Dynamics Engine from Russell Smith at q12.org (freeware, open
source) (seems fastish)
*10^1.5 y y y Lagrange Vortex from Critical Mass Labs (not free) (seems fast)
*10^0 y y ? F'stone DynaMechs (seems a little slow & unstable, although Russell Smith says
v.fast - just rendering slow??)
*10^0 y y n F'stone Multibody (seems fastish but examples are v. limited and may not show
v.realistic motion)
*10^0 y y ? ? Darwin2K (seems slowish)
- y ? n ? ChrisHecker/gdphys3d
? y ? y Penalty Aero (Russell Smith says "Low accuracy and stability", but I've not compiled it yet.)
@RealTime column = my v. approx. ***guess*** at how fast a single simple creature's dynamics could be simulated on
a 1GHz PC with rendering off, to "nearest 10^0.5".
I'm new to the area of Physics simulation, so please take this table with a pinch of salt. However, perhaps it can be used as a starting point for discussion. Also, I'm not that familiar with Havok but had decided, based on demos and Tim & Colm's previous results, that I preferred Vortex for speed (my main criteria) and other reasons. However, I know that Havok is changing so I'm interested in being told that I'm wrong. I'm also interested in being told if any of my "real-time" guesses are way off, especially wrt. DynaMechs: I'm confused as to why Russell Smith says it's very fast but when I run it it seems slow.
So, unless any of the above real-time guesses change significantly, that leaves us with the top four as possible candidates. Kano's work gets ruled out because source code is not available. ODE and oxforddynamics (with Featherstone added) are the obvious choices for open-source development work, and Vortex is suitable for immediate use but not having Featherstone is a drawback for us.
Agreements/disagreements?
Best wishes,
Alastair.
--
Alastair Channon
Senior Lecturer in Computer and Software Engineering
Department of Electrical and Electronic Engineering
Anglesea Road, University of Portsmouth, PO1 3DJ. UK
http://www.channon.net/alastair
"Taylor, Tim" wrote:
Hi,
Okay Colm, point taken! We certainly haven't ruled out
the possibility of developing an existing open source
product. The main criteria are that it should be
efficient and stable (hence the suggestion of using
Featherstone over more general approaches), but also
be able to simulate multiple articulated bodies
(preferably LOTS of them!) concurrently (with collision
detection) - which many existing engines (e.g.
DynaMechs) cannot cope with.
The idea is also to develop a product which ALife
researchers would find very easy to use and practical.
By "with evolutionary algorithms in mind" I meant that
we would also develop an API/communication protocols
to allow simulations to be initialised and controlled
over a network, so that it would be very easy to write
a distributed GA which would farm out simulations to
multiple computers and collect the results. This would
likely be built on top of an exisiting parallel
computing protocol such as MPI or PVM.
Would this be a complete waste of time?
Tim
More information about the EMBody
mailing list