Overview | API
See also
A unique feature that allows to adapt automatic engine power to the posture of the robot. This result to an optimized resources drive, energy savings for battery: NAO is less tiring.
By default, the smart stiffness is active on NAO.
The main idea is to limit the torque of NAO joints, so the robot will become more compliant and will save energy.
As the stiffness is a torque limitation, the result of the smart stiffness will be a stiffness command for every joint at every ALMotion cycle.
To determine the good torque to apply for each joint, we use the inverse dynamics equation:
For reason of CPU consumption, we have decided to only compute static torque ( and are null) and to ignore external force (no sensor for external force).
The user command have always the priority over the smart stiffness. For example, if you ask a stiffness of 0.2 on the HeadYaw joint and that the smart stiffness computation give 0.38. The stiffness in the HeadYaw joint will be 0.2.
The smart stiffness reflex is activated in any static posture of NAO (stand, sti, lift, lying down..).
If at least one joint move, the user stiffness command is apply on the joint.
You can simply disable the smart stiffness reflex by calling the ALMotion API.
motionProxy.setSmartStiffnessEnabled(False)