Re: V0.8+ Bugs Update (Att: Bram)
"Bram Stolk" <[email protected]>
| Newsgroups | gmane.comp.lib.ode |
|---|---|
| Message-ID | <[email protected]> |
On 9/23/07, Viper <[email protected]> wrote: > > > In ODE builds V0.5, V0.6 and V0.7 applying the following hinge > force/torque results in the ramp tilting gently until it hits the joint > stops... > > dJointSetHingeParam(HJoint,dParamVel,-1) > dJointSetHingeParam(HJoint,dParamFMax,10) > > However, in build V0.8 the above force/torque does not move the ramp at > all, hence the (wrongful) assumption the motor wasn't working. In fact it > doesn't behave the same until you increase the torque significantly like > so... > > dJointSetHingeParam(HJoint,dParamVel,-1) > dJointSetHingeParam(HJoint,dParamFMax,400) > > So, did the previous builds have a problem with the hinge motor which has > now been corrected, or is this discrepancy due to a possible bug in the > V0.8+ builds? > Ah, the magnitude may be wrong? Are you sure the friction and gravity settings were the same between runs? If you want to debug the magnitude, I guess it would be best to come up with some calibrated tests. Use all SI units, and do a 1kg weight on a 1m arm, and then see if the amotor starts moving at the correct force. Anyone up for putting together such a test? Next the mass translate issue: > > [ 1661685 ] dMassTranslate not working (V0.8) > > http://sourceforge.net/tracker/index.php?func=detail&aid=1661685&group_id=24884&atid=382799 > > You stated in the tracker that the dMassTranslate function name is > misleading. If that's the case then the official user guide is also > misleading in its description of the function... "Given mass parameters for > some object, adjust them to represent the object displaced by (x,y,z) > relative to the body frame." > > Previous builds allowed the use of this function, but V0.8+ doesn't allow > any values other than 0,0,0. > > The question I'm raising here is, if it doesn't accept any values other > than 0,0,0 then what exactly is the purpose of the dMassTranslate function? > > If it can't accept any other value than 0,0,0 then why have it at all? > Aha... The function is provided so that you can translate it *to* 0,0,0 Does that make sense? :-) I'm not an expert on inertia tensors, but from what I understand, it goes something like this: - ODE wants the position of a body to coincide with that body's centre of mass. - ODE lets you build up a mass incrementally. Typically this is done by creating 1 body, and then several geoms that are attached to it. For each geom, you come up with a mass contribution. You add all the masses together. Once you're done adding geoms/masses, you take a look at the resulting mass offset. You shift this mass (and the geometry) so that the c.o.m. is nicely defined at 0,0,0. It really makes good sense. BTW: The tracker for this issue seems broken: original text is gone, and I only see my comment, replicated 5 times or so. In other words: fubar. bram -- Zapp: Captain's log, stardate...er.. Kif: Ohhh. April 13th. Zapp: April 13th. Point 2. _______________________________________________ ODE mailing list [email protected] http://ode.org/mailman/listinfo/ode