Im trying to build up an environment to experiment with virtual
mechanics. Physical objects, laws, various types of interaction
between physical objects, gravity, friction, push/pull etc.
Q: does anyone here know of lisp-based libraries or packages
doing modelling of physical things already available for download
somewhere?
I need geometrical objects - size, position, state, velocity,
acceleration etc, and ways of interacting with them, connecting
them together etc.
Thanks for any hints.
-anders
Gazebo (URL: http://playerstage.sourceforge.net/index.php?src=gazebo) is a
robot simulator for realistic real-world environments. It is a part of
Player/Stage/Gazebo wich in turn is based on ODE (URL: http://www.ode.org).
The Player part of this three layer package deals with robot control (actually
it is two fold, since Gazebo is a 3D version of Stage). It is possible to
control the robot and read the sensors using a Common Lisp interface to Player.
The robot, wich may consist of many physical objects, can influence this world
in realistic ways.
The interface is supposed to work with Allergro, MCL, OpenMCL and SBCL[1].
I do not know if this will do what you ask for, but it could be a place to get
started. I suspect that ODE may be sufficient for you, and in that case you
would have to write Common Lisp bindings for ODE (perhaps from ode.h using
SWIG or similar) yourself.
--
Ųyvin
[1] I have hacked the bindings to make them work for SBCL, but they are not
heavily tested yet and only works on threaded SBCL (= Linux 2.6). Please e-mail
me if you would like to test them.
O> I do not know if this will do what you ask for, but it could
O> be a place to get started. I suspect that ODE may be
O> sufficient for you, and in that case you would have to write
O> Common Lisp bindings for ODE (perhaps from ode.h using SWIG or
O> similar) yourself.
Thanks.
Problem is i have no clue how to write wrappers like this myself,
so i wont get anywhere if theres no lisp-interface already (my
work is as a composer, using lisp-based tools extensively, but
unfortunately im no real programmer, or physicist...).
My aim with this is to generate topologies to control musical
structures linked to real-world "physical" prosesses.
I know theres a book by Sussman: "Structure and Interpretation of
Classical Mechanics", where scheme is used. Maybe theres
something there which is not too heavy.
Sounds like ODE ( www.ode.org ) will do the trick. I have made complete
Lispworks bindings to ODE, and I'm busy converting these to CFFI for the
lispbuider project.
ODE works well. As a test I created ~800 cubes and dropped these onto
the 'ground' under the effects of gravity. They bounce and smash into
each other quite realistically.
-Luke
Take a look at fluxus (http://www.pawfal.org/Software/fluxus/ ), (
http://www.pawfal.org/Software/fluxus/docs/index.html ). It has support
for all kinds of 3D rendering of audio weirdness.
-Luke
http://mitpress.mit.edu/SICM/book.html
Not quite what you're looking for, but interesting nonetheless.
Sashank
Tom
L> Take a look at fluxus (http://www.pawfal.org/Software/fluxus/ ), (
L> http://www.pawfal.org/Software/fluxus/docs/index.html ). It has support
L> for all kinds of 3D rendering of audio weirdness.
Thanks alot. ODE and Fluxus seem close. Ill build it and see
where i get.
I see it uses ODE to do the physics part, and others in the
thread mentioned further wrappers around that library. I guess
ill just have to dive in.
-anders
T> I have an ode wrapper that's almost complete.(It works fine,
T> I'm just working on the installation). Hopefully I'll release
T> it this weekend.
If you let us know when its there, id at least be happy to take a
look.
-anders
http://www-swiss.ai.mit.edu/~gjs/6946/linux-install.htm
You can also look for a link at
The text and software are used for a graduate class in classical
mechanics. If you don't know (or don't care about) what a Lagrangian
is, it may be overkill for what you're trying to do.
>>> "w" == wgempel <wge...@yahoo.com> writes:
w>
w> Checking out SICM is a good idea. There is a scheme library designed
w> to be used with the book, which may be just what you need. I haven't
w> used it yet (don't have a linux box right now), but I have browsed the
w> user manual and it looks quite good for some similar things that I am
w> interested in. It was (and may still be) available at
w>
w> http://www-swiss.ai.mit.edu/~gjs/6946/linux-install.htm
w>
w> You can also look for a link at
w>
w> http://mitpress.mit.edu/SICM/
w>
w> The text and software are used for a graduate class in classical
w> mechanics. If you don't know (or don't care about) what a Lagrangian
w> is, it may be overkill for what you're trying to do.
Ideal would be to have some physics software tools to get started
with, and develop more through understanding during the years
coming. If its all lisp going on it would be an ideal playground
to experiment and test "what if..." situations.
I dont know the book SICM apart from peeping upon some
introductory chapters on the web. Would it be possible to grab
small code-snippets from the book to construct a topology
consisting of say a cluster of point-masses connected with damped
springs of some quality moving around in a certain space?
I tried downloading and running the SICM-package with the
scmutils but it wouldnt run on my linux here (FC3, kernel
2.6.10). Anybody got it running in such an environment?
-anders
But i see theres already a cl-ode project at
http://common-lisp.net/cl-ode/ , it builds and runs in sbcl here.
Will your bindings differ in any way?
Thanks for help.
-anders
>>> "L" == Luke J Crook <Luke> writes:
L>
L> Anders Vinjar wrote:
>> Hello.
>> Im trying to build up an environment to experiment with virtual
>> mechanics. Physical objects, laws, various types of interaction
>> between physical objects, gravity, friction, push/pull etc.
>>
L>
L> Sounds like ODE ( www.ode.org ) will do the trick. I have made
L> complete Lispworks bindings to ODE, and I'm busy converting these to
L> CFFI for the lispbuider project.
L>
L> ODE works well. As a test I created ~800 cubes and dropped these onto
L> the 'ground' under the effects of gravity. They bounce and smash into
L> each other quite realistically.
L>
L> -Luke
Those are my bindings :)
They probably need more documentation and I know they more testing,
e.g. different lisps.
I haven't put up announcement because I wanted to add some info the the
website. I'm happy to hear that it builds and runs, could you send
some info (e.g.OS/Processor/Did you use asdf-install?). If you want to
follow development sign up to cl-old-devel, otherwise could you send it
to foobarbazqux at gmail dot com
Tom
Since Scheme was mentioned, there's the brand new and complete Simulation
package of DrScheme (code was ported from Common Lisp).
Added benefits of easy install and rich environment (graphics included).
That was fc3 from planetccrma, with a 2.6.10 kernel, SBCL
0.9.9.16. Some recent cffi from cvs. Just booted sbcl and
(use-system :sbcl). Ive only tried the test included, which gave
sensible output.
I tried first with cmucl, but it seemed to hang while loading the
.so library. Im not too sure about this, just aborted and tried
with sbcl.
Where might we find some information about this?
H> Added benefits of easy install and rich environment (graphics included).
Sayings like these gives a very ambivalent response here :)
>>> "a" == andersvi <ande...@extern.uio.no> writes:
a> That was fc3 from planetccrma, with a 2.6.10 kernel, SBCL
a> 0.9.9.16. Some recent cffi from cvs. Just booted sbcl and
a> (use-system :sbcl). Ive only tried the test included, which
a> gave sensible output.
a>
a> I tried first with cmucl, but it seemed to hang while loading
a> the .so library. Im not too sure about this, just aborted and
a> tried with sbcl.
cl-ode loads and runs in cmucl as well, just restart cmucl after
doing the make-building of the .so lib.