[ODE] Basic Questions.

Nate W coding at natew.com
Fri May 16 11:55:02 2003


On Thu, 15 May 2003, Danesh Tarapore wrote:

> I need to create a wheeled mobile robot. Can anyone suggest what kind
> of joint should be used for the steering and rear wheels.

You can accomplish this using only hinge joints.  I've built a variety of
wheeled vehicles this way, sometimes using multiple hinges and 
intermediate bodies to get steering and suspenstion movement.  

That said, using multiple hinges and bodies requires a lot of extra CPU
time, and minor errors can add up quickly.  The hinge-2 joint is a more
efficient way to do things, so it's probably a better approach for most
applications.  

> ODE supports the creation of basic shaped bodies such as
> box,cylinder,sphere. How can I create more complex bodies, such as a
> box with holes in its bottom for the wheels to pass through.

What I do (as with most of us, I think), is simply disable collision
detection between the car body and the wheels.  

> I also didnot quite understand what is the functionality of the
> getdata() and putdata() functions in ODE.

This gives you a way to associate data structures in your application with
ODE's objects.  It's most useful in things like collision detection.  For
example, you have your car object call "dGeomSetData (this);"  At runtime,
ODE will tell you which dGeom objects have collided, but you probably want
to know which cars collided... By using dGeomGetData you can find out
which car objects "own" those dGeom objects.

-- 

Nate Waddoups
Redmond WA USA
http://www.natew.com