-
Notifications
You must be signed in to change notification settings - Fork 873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A resistiv torque on joint #1600
Comments
You know about dampers, yes?
|
@yuvaltassa What do you mean when you say 'smooth forces and constraint forces'? |
After testing around a bit more i have made the following observations: qfrc_smooth is the total torque that the joint imposes on itself. For example, in the model above there is a stiffness property defined in the joint, the tourque applied by that spring on the joint is what shows up in qfrc_smooth . Additionally if there are other torque inducing properties applied on the joint they would too be summed up into qfrc_smooth and displayed as an equivalent torque. qfrc_constraint is essentially the opposite. It displays the external torque applied to the joint. For example; in the model above there is a moment arm extanding from the joint and then makes contact with the ground. The normal force that the ground exerts at the end of the moment arm is converted to torque around the joint, but in the opposite direction to the torque that the spring induces. That is why, at equlibrium the two values qfrc_smooth and qfrc_constraint would be equal, allbeit opposite sign. Becuse (in the context of the above model) the sum of the internal torque (the spring pressing the moment arm into the ground) and the external torque (the normal force on the moment arm) would be 0 since they have reached a steady state and pushing the joint to rotate in different directions. Im I understanding this correctly? |
More or less, yes. Here is the definition of qfrc_smooth: the sum of bias (Coriolis, centripetal, gravitational) forces, passive (spring, damper, fluid) forces and actuation forces (both modeled with native actuators and directly applied). qfrc_constraint is the projection of constraint forces onto joint space. These include contacts, equalities and joint limits. Here is where these two components are added together to get the total force |
Then if I were to use the sum of qfrc_smooth and qfrc_constraint to set a torque in the opposite sign, wouldn't there be a contridiction since I'm accounting for the actuator twice. Once from the qfrc_smooth variable and once when im changing the actuator, like a positv feedback loop? Or am i missunderstaning what qfrc_smooth containes? |
Yes. That's what |
@yuvaltassa When i tried the following'.
I got this:
The issue is that qfrc_applied is zero in both cases so I don't understand what it shows and how it's supposed to be used? |
|
@yuvaltassa |
Yes |
@yuvaltassa |
Hello im asking this question since i didn't understand the answer given in issue#1095
Similarly to that issue im trying to find a way to see how much torque is exerted on a hinge type joint.
The reason im trying to see this is to use a general type actuator to produce a resistiv torque as to simulate a damping moment.
For clarity see this model:
My goal is to see the torque that is exerted upon the joint and then apply a counter torque from the general acuator.
My question is to understand what the data.joint("parm1").qfrc_constraint and data.joint("parm1").qfrc_smooth actually gives me. I've looked through the documentation but it is only mention sparsly what it actually shows, so here I am.
Im working in python. Please ask me to clarify if i didn't explain properly
Edit:
This is what i get when I try to identify what they are:
And the resulting output:
The text was updated successfully, but these errors were encountered: