Joints function

Typically: "How do I... ", "How can I... " questions
Post Reply
dds
Posts: 85
Joined: 20 Mar 2014, 14:35

Joints function

Post by dds »

Hi, lets say I have a joint, working on force/torque mode, on the "main properties" I have "Motor mode" enabled and control loop disabled.
When set a certain speed in the joint, this attempts to reach that speed which depends on maximum torque setup, now how is the mathematical relationship between the torque and speed of the joint? What is the physical significance of the parameters on the "Engine specific properties" button?
Thanks greetings!

coppelia
Site Admin
Posts: 10375
Joined: 14 Dec 2012, 00:25

Re: Joints function

Post by coppelia »

Hello,

when your joint motor is enabled, then the physics engine will apply the specified force/torque until the velocity you specified is reached. If that attached mass is low, then the target velocity will be reached quickly, otherwise it will take more time. You have the dynamic relationship F=M*A (or equivalent for revolute joints).

The joint engine specifiy properties are very cryptic and not really realted to a physical value for the Bullet or ODE engines. The Vortex parameters you can adjust there do much more correspond to realistic physical values/units.

Cheers

dds
Posts: 85
Joined: 20 Mar 2014, 14:35

Re: Joints function

Post by dds »

Hi, thanks for the answer. But there should be an control expression that adjust the torque applied depending on the current speed and disturbances (external forces). What is the expression of that control?
It is impossible to predict the time evolution of the joint speed without knowing the control expression that drives it.

coppelia
Site Admin
Posts: 10375
Joined: 14 Dec 2012, 00:25

Re: Joints function

Post by coppelia »

As far as I know, there is no complex control algorithm, and if there was, then it would be specific to the physics engine. For one reason, if there was, then it would be very difficult to build your own control algorithm on top of it, and for another reason, the control algorithm wouldn't know about the underlying system it would be used for.

At most, I could imagine it to be a proportional algorithm, but I guess for most physics engines, it would just be an on/off function. You would have to study the respective engine's documentation and/or source code for details on this.

Cheers

Post Reply