[ODE] Complex Joint Groups

Nate W coding at natew.com
Mon Mar 18 00:33:02 2002


On Sun, 17 Mar 2002, G.M. Downie N0051682 wrote:

> I am trying to set up a Fairly Complex Joint group, with not a lot of
> experience with ODE I'm trying to find out what would be the best way
> to implement such a group.

To implement the backhoe as shown in that .jpg you linked to, you'd need
an intermediate body at each end of the ram, in between the ram (slider
joint) and the bodies that make up the sections of the backhoe.  If you
attach the slider joint directly to the backhoe bodies, they will be
constrained to always remain at the same orientation relative to the
slider.  This is kind of hard to explain, here's a picture:

http://www.natew.com/juice/images/Backhoe.jpg

The red line is the slider joint, the small boxes at each end of the
slider are the 'intermediate bodies' I'm talking about.  Yellow objects
are hinges, blue boxes are rigid bodies.  It's not obvious from the
picture, but the hinge that goes through intermediate body on the left is
also attached to the inner backhoe body (the one that runs parallel to the
slider).

> I will be using joystick input to control the extention of the ram. Is
> having a sliding joint the best way implement a Hydralyic Ram as when
> there is no +/- velocity on the ram friction must be infinte to ensure
> the ram does not slip.

The way ODE motors work, I suspect that you could just set the desired
speed to zero and use a large maximum force.  If that doesn't work, I'm
certain that setting the motor's desired speed to ((desired_position -
actual position) * gain) will do the trick.  In my experience the gain
parameter is not very sensitive, a wide range will still get good results.

-- 

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