[ODE] Arbitrarily positioning bodies connected by joints

Shamyl Zakariya shamyl at zakariya.net
Tue Jul 17 07:44:13 MST 2007

I'm interested in being able to move a set of bodies connected by  
arbitrary joints. That is to say, I want to be able to assemble them  
at, for example the origin, and then move the whole thing to some  
arbitrary position and orientation later. For example I might  
assemble a "car" and then move it to where I want it to go.

I'm able to move all the bodies retaining their positions in relation  
to one another. But, unfortunately, the joints go bonkers to varying  
degrees. The best behaved is the ball joint, which ( I guess )  
considers its position to be relative to the parent. But other  
joints, such as hinge and slider seem to freak out a little.

Just to clarify, when I move the bodies I zero out all forces on  
them. I've verified that if I move a bunch of bodies that aren't  
connected by any joints they *do* retain their relative positions  
correctly. So the issue is that the joints don't seem to enjoy being  
suddenly moved/oriented.

My current approach is simply to not do anything to the joints, and  
assume (hope) that ode considers their attachment points in the  
coordinate systems of the bodies they connect. But as I've described,  
this doesn't really work. I've considered destroying the joints,  
performing the move, and the re-creating them, but this may change  
their zero-points since a connected system ( two bodies connected by  
a "servo", for example ) may have moved before I positioned it.

Any suggestions for me?

Shamyl Zakariya
	- hobo-raconteur

More information about the ODE mailing list