Interaction between maximum force and maximum excitation in CoordinateActuators
Posted: Wed Feb 02, 2022 7:13 am
Hi all,
I'm confused on how CoordinateActuators work and was hoping someone could clarify. I suspect this has been answered previously but I wasn't able to find it. I also looked through the code on GitHub to try and find the form of the calculations below but couldn't locate them.
CoordinateActuators (and ActivationCoordinateActuators) have an "optimal_force" parameter and a "max_control" parameter. Is the force produce by the actuator equal to optimal_force*control (and, for ActivationCoordinateActuators, similarly equal to optimal_force*activation), regardless of the value of max_control?
Another way of asking this question: is the "optimal_force" of a CoordinateActuator (or ActivationCoordinateActuator) the force produced when the control (or activation) = max_control, or is it the force produce when the control (or activation) = 1.0?
My confusion is arising from comments in model files often stating that the optimal_force parameter is "the maximum force produced by the actuator", but that force seems like it's only necessarily the maximum force if max_control = 1.0, unless the control in the actuator's force calculation is scaled by the max_control or something similar.
My application is I want to make an actuator that can produce a muscle-like torque magnitude, e.g. ~100 Nm, but is "expensive" to used compared to muscles, e.g. it would have to use an excitation of u = 10 to produce this torque instead of u = ~1 for a muscle.
A more specific example/question: if I want my actuator to have a maximum torque of 100 Nm and I want it to produce that torque when the control = 10, what values should I set optimal_force and max_control? My intuition is optimal_force = 100 and max_control = 10, but from above, I'm unclear on if this means the maximum force output of the actuator is then optimal_force*u (which would not be 100 Nm here) or optimal_force*u/max_control (which would equal 100 Nm). I've also seen actuators defined with max_control of +Inf, which is further adding to my confusion on when this actuator would produce a force equal to optimal_force.
Thanks much!
Ross
I'm confused on how CoordinateActuators work and was hoping someone could clarify. I suspect this has been answered previously but I wasn't able to find it. I also looked through the code on GitHub to try and find the form of the calculations below but couldn't locate them.
CoordinateActuators (and ActivationCoordinateActuators) have an "optimal_force" parameter and a "max_control" parameter. Is the force produce by the actuator equal to optimal_force*control (and, for ActivationCoordinateActuators, similarly equal to optimal_force*activation), regardless of the value of max_control?
Another way of asking this question: is the "optimal_force" of a CoordinateActuator (or ActivationCoordinateActuator) the force produced when the control (or activation) = max_control, or is it the force produce when the control (or activation) = 1.0?
My confusion is arising from comments in model files often stating that the optimal_force parameter is "the maximum force produced by the actuator", but that force seems like it's only necessarily the maximum force if max_control = 1.0, unless the control in the actuator's force calculation is scaled by the max_control or something similar.
My application is I want to make an actuator that can produce a muscle-like torque magnitude, e.g. ~100 Nm, but is "expensive" to used compared to muscles, e.g. it would have to use an excitation of u = 10 to produce this torque instead of u = ~1 for a muscle.
A more specific example/question: if I want my actuator to have a maximum torque of 100 Nm and I want it to produce that torque when the control = 10, what values should I set optimal_force and max_control? My intuition is optimal_force = 100 and max_control = 10, but from above, I'm unclear on if this means the maximum force output of the actuator is then optimal_force*u (which would not be 100 Nm here) or optimal_force*u/max_control (which would equal 100 Nm). I've also seen actuators defined with max_control of +Inf, which is further adding to my confusion on when this actuator would produce a force equal to optimal_force.
Thanks much!
Ross