NAOqi Motion - Overview | API
Smart Stiffness is a unique feature that allows you to adapt automatic engine power to the posture of the robot. This results to an optimized resources drive, energy savings for battery: the robot is less tiring.
The smart Stiffness is a management of joint maximum torque.
The Smart Stiffness reflex is activated in any static posture of the robot (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 the robot 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).