# Open Dynamics Engine

Website:
http://ode.org/

Developer:
Russell Smith

Launched:
Not specified

Status:
Active

Supported Platforms:
Windows, Linux, Mac OS X

Languages Written In:
C/C++

Languages Supported:
C/C++

Graphics APIs:
Not specified

Rating:
(4 reviews)

Editor:
None (be one!)

ODE is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures. It is currently used in many computer games, 3D authoring tools and simulation tools.

### Supported Features

#### General

• Object-Oriented Design
• ODE is good for simulating articulated rigid body structures. An articulated structure is created when rigid bodies of various shapes are connected together with joints of various kinds. Examples are ground vehicles (where the wheels are connected to the chassis), legged creatures (where the legs are connected to the body), or stacks of objects.
• ODE is designed to be used in interactive or real-time simulation. It is particularly good for simulating moving objects in changeable virtual reality environments. This is because it is fast, robust and stable, and the user has complete freedom to change the structure of the system even while the simulation is running.
• ODE uses a highly stable integrator, so that the simulation errors should not grow out of control. The physical meaning of this is that the simulated system should not "explode" for no reason (believe me, this happens a lot with other simulators if you are not careful). ODE emphasizes speed and stability over physical accuracy.
• ODE has hard contacts. This means that a special non-penetration constraint is used whenever two bodies collide. The alternative, used in many other simulators, is to use virtual springs to represent contacts. This is difficult to do right and extremely error-prone.
• ODE has a built-in collision detection system. However you can ignore it and do your own collision detection if you want to. The current collision primitives are sphere, box, capped cylinder, plane, ray, and triangular mesh - more collision objects will come later. ODE’s collision system provides fast identification of potentially intersecting objects, through the concept of spaces’’.
• Platform specific optimizations

#### Physics

• Basic Physics
• Collision Detection
• Rigid Body
• Vehicle Physics
• Rigid bodies with arbitrary mass distribution.
• Joint types: ball-and-socket, hinge, slider (prismatic), hinge-2, fixed, angular motor, universal.
• Collision primitives: sphere, box, capped cylinder, plane, ray, and triangular mesh.
• Collision spaces: Quad tree, hash space, and simple.
• Simulation method: The equations of motion are derived from a Lagrange multiplier velocity based model due to Trinkle/Stewart and Anitescu/Potra.
• A first order integrator is being used. It’s fast, but not accurate enough for quantitative engineering yet. Higher order integrators will come later.
• Choice of time stepping methods: either the standard big matrix’’ method or the newer iterative QuickStep method can be used.
• Contact and friction model: This is based on the Dantzig LCP solver described by Baraff, although ODE implements a faster approximation to the Coloumb friction model.

### Licensing

License Name Price in \$US Source Code Included?
GPL Free Yes
BSD Free Yes

Showing 1-4 of 4

0 of 0 people found the following review helpful

#### ODE for rollercoaster simulation

by ironman007 Sep 21, 2009 at 12:49

hi, im an undergraduate college student. I just wna know if it is possible to simulate a rollercoaster ride using ODE. along with this, hydraulics will be placed on a seat which will be activated according to the program...so it acts as a virtual rollercoaster ride that you would see in arcades or amusement parks...this is due next year by the end of sept, but i need the program up and running by end of nov...is this possible for a beginner? thanks in advance

0 of 0 people found the following review helpful

#### i think

by ginomcclay Mar 11, 2009 at 23:55

I need a code to test your engine.
dark_terror_wizard@hotmail.com

0 of 0 people found the following review helpful

#### My Choice

by Grandmaster_B Jun 24, 2006 at 15:36

After reviewing a few others, ODE is my choice as a physics engine.

It gives you almost full control of the scenes you like to create and lets you tweak a lot of variables. It can run very fast and unprecise/unstable or fast and precise/stable. The documentation and community support is very good and its still in continously development. The API is straightforward and very easy to use once you get into it.

The drawbacks are that ODE has no build-in higher level features and the collision of TriMesh->TriMesh results in confusing contact points so that you may stick to Primitive->TriMesh or Primitive->Primitive collisions. Optionally you may use ODE with your own collision detection!

Again, ODE ist a scaleable low-level physics engine, and as such its excellent!

0 of 0 people found the following review helpful

#### Well it's a Physics library not a Game Engine

by Daniel_MD Aug 28, 2004 at 11:35

ODE is a open source physics lybrary, it is a good alternative to commercial solutions like havok, with much less features.

It is a good place for beginners, does not make things more complicated that they shouldbe.