JoeJ wrote:I noticed this problem of rigidity when moving from the older, non exact joints to the new ones. It was like 'wow, super accurate, but now it's actually a bit too stiff'
It took me quite some effort to make it work, but i was not really sure if the better joints are indeed better for my application in practice.
oh but we do not want to work bad unreliable joints, that's like trying to extra useful information from random noise.
We found this because the joints are good enough to expose that flaw in the methodology but the solution can not be going bad to the even more wrong method.
to me, the solution is to find the right answer.
By implementing and set of PID joints, we can now have a large range of stiffness control.
and the good part of this is that the PID dof are independent of the limits dof.
so like you mentioned, I can very much ignore the joints limit, there are only there for the joint to work on the legal work space.
that was a huge problem with 3.xx where the PID and the limit where the same dof, so in can only have one or the other at any time step. Now newton 4 can make joints with spring and limit at the same time so when one object hit a limit, it will stop but the joint DOF will have the potential energy stored to recover as soon as the limit is not there.
And example of that is a vehicle suspension. In the pass I have to do two solver passes, one to get the springs accelerations and from that calculate the forces and torques of each spring so that they can be applied as external forces.
now the spring and the limit are part of the joint and the solver figure out the answer.
the incredible part is that this seems far more robust than I though it was going to be.
now this new functionality, it is one of the missing part for the active balancing character since motors are on 100% of the time, not only that, they can be as stiff as we want them to be.
It is remarkable.
In the code that is check in. I set up a model with the upper part set to stiff PID joints.
The lower part are inverse dynamics joint and the foot the effectors.
with just that simple set up, when I let the character drop, it states up without doing anything at all.
the foot land they do teh natural bounce, the flex the legs, but by teh time the wave reach the hip is almost attenuated. so the hip just slow down. and it take few frame for the system to reach the equilibrium. (I had try to reproduce that for so long, and now is comes out natural
)
this was nearly impossible before since the body parts where all getting the jerky reaction each time any body part got a collision with the ground. all the body parts where getting the same reaction. but now since part of the energy is stored in teh joint dof. Only part of the total energy gets transferred to the other body parts. To me this model is more close to real life.