You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Can one simulate flexible joints using Pybullet? More concretely can one simulate two joints that are coupled by a massless spring? Therefore, the torque for the coupled joint would be modelled as
\tau_{motor} = J_{motor} qdd_{motor} + K (q_{joint} - q_{motor})
\tau_{joint} = K (q_{joint} - q_{motor})
where \tau is the motor / joint torque and q, qd, qdd are the joint / motor positions, velocities and accelerations. One could simulate the motor outside of PyBullet, but this risks that the integration of qdd_{motor} and qdd_{joint} would diverge and yield "unrealistic" simulations.
The text was updated successfully, but these errors were encountered:
Now I realize you can simulate flexible joints using PyBullet.createUserConstraint.
You can create a 'fixed' constraint with a limited force, to mimic a flexible joint.
Here is some example how to do it: #2100 (comment)
If the maximum torque is not enough to model the spring, we can expose the stiffness and damping (which gets converted into CFM and ERP internally) to model a the spring force.
In addition to the fixed constraint, you can also model 'gears', which couple joint angles between joints. As you set a small maximal torque, those connections become flexible.
If the maximum torque is not enough to model the spring, we can expose the stiffness and damping (which gets converted into CFM and ERP internally) to model a the spring force.
I'd like to adjust the stiffness and damping coefficients for a project I'm working on, would it be possible to expose these using something like the p.changeConstraint()? or is this already exposed through the erp parameter?
Can one simulate flexible joints using Pybullet? More concretely can one simulate two joints that are coupled by a massless spring? Therefore, the torque for the coupled joint would be modelled as
\tau_{motor} = J_{motor} qdd_{motor} + K (q_{joint} - q_{motor})
\tau_{joint} = K (q_{joint} - q_{motor})
where \tau is the motor / joint torque and q, qd, qdd are the joint / motor positions, velocities and accelerations. One could simulate the motor outside of PyBullet, but this risks that the integration of qdd_{motor} and qdd_{joint} would diverge and yield "unrealistic" simulations.
The text was updated successfully, but these errors were encountered: