> ygz0515 wrote:
>> I read a
>> message"
http://old.nabble.com/joint-feedback-td19999283.html#a19999283",
>> in which Mikko Rasa said that
>>> However t1 is not equal to t2 (not even close) which seems odd since I
>>> would have thought that Newtons 3rd law would mean the forces and
>>> torques were equal and opposite with a little bit of error to
>>> accommodate any small deviations in the joint.
>> Forces, yes. Torques, no. Think about pushing a door with a stick.
>> The door is applying a reaction force to the stick, but since it's along
>> the axis of the stick, there's no torque applied on the stick.
>>
>> I use a universal joint to connect two cylinder body. I read out the
>> force1, torque1, force2, torque2 of the joint. However I found that not
>> only torque1, torque2 are greatly different from each other, but also
>> force1, force2 are greatly different from each other(t2/f2 is more than
>> 100 time larger than t1/f1).
>> Therefore, I want to know what Rasa meant by "Forces, yes. Torques, no.
>> "?
What I meant is that while Newton's 3rd law states that "for every
action, there is always an equal and opposite reaction", there's no such
law for torques. Think about the door-and-stick example above.
As for the joint feedback problem, let's start by checking some basics.
The correct sequence for getting feedback is:
1. Set the feedback pointer for the joint
2. Step the world
3. Read feedback
The important point is that the feedback data is filled during stepping
the world, but only if it exists.
ygz0515 wrote:
> I also have a problem with dJointSetUniversalParam. In the user
mannual, it
> says that dParamFMax can be used to restrict the maximum force or
torque of
> the motor. I suspect that dParamFMax restricts the torque rather than the
> force. However I found that when I set dParamFMax as 4, the actual force,
> torque can still be larger than 100.
> Terefore, I wonder whether dParamFMax doses really work?
The dParamFMax only affects the motor part of the joint. You can't
restrict the total force applied by the joint, since that would prevent
the joint from functioning properly. There's no way to tell the two
apart in the joint feedback; I don't know ODE's internal structure well
enough to say if that's even possible. I've used dParamFMax in one of
my games, and it most certainly does work.