NAOqi Motion - Overview | API
Smart Stiffness is 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.
The Smart Stiffness reflex is activated in any static posture of NAO (stand, sit, lifted, lying down...).
If at least one joint moves, the user Stiffness command is applied on all joints.
The user command has the priority over the Smart Stiffness.
For example, if you ask a Stiffness of 0.2 on the HeadYaw joint and the Smart Stiffness computation gives 0.38, then the Stiffness in the HeadYaw joint will be 0.2.
The main idea is to limit the torque of NAO joints, so the robot becomes more compliant and saves energy.
As the stiffness is a torque limitation, the result of the smart stiffness is 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 (so and are null) and to ignore external force (no sensor for external force).