Autonomous Abilities ¶
- Keep the robot alive at all times,
- Let application developer focus on their very specific content, without micro-programming robot day-to-day behavior.
Autonomous abilities are robot behaviors (movements, animations, tracking) occurring:
- in the background,
- taking the different resources of the robot weakly.
List of Autonomous Abilities¶
|BasicAwareness||Reactive||Reacting to any kind of stimuli|
|AutonomousBlinking||Reacting to human|
Constraining Autonomous Abilities on given degrees of freedom¶
HolderBuilder.withDegreesOfFreedom allows you to define constraints restricting the Autonomous Abilities.
DegreeOfFreedom.ROBOT_FRAME_ROTATION prevents rotational movements
of the robot base.
Bear in mind that these constraints are only applied to Autonomous Abilities such as Basic Awareness,
but not during EngageHuman action. However,
LookAt provides something similar, called
EngageHuman does not allow such options.
For further details, see: LookAt - Setting the movement policy.
The prioritization system works as follows:
By default, the robot will make background movements (aka. idle movements) and blink. If the robot detects a stimulus, then he may move his head and body, overriding the background movements. Finally, if a high-level behavior such as a Say, an Animate or an EngageHuman is executed, this will take priority over the previous modules.
Future-proof thanks to API levels¶
Thanks to API level mechanism, potential new autonomous abilities becoming available on the robot will not modify the current behaviour of your application: new abilities will be activated only if you rebuild with the new QiSDK version.
Tips & Tricks¶
Prohibiting any movement¶
If I want the robot to keep a posture (e.g. at the end of an animation),
BasicAwareness must be held so the robot can remain
Deactivating body language while speaking or listening¶
If I want to freeze screen location while speaking or listening, I should disable the body language.
Note that, when using
QiChatbot, you can disable body language option:
- of the
Chatto freeze while listening, and
- of the
QiChatbotto freeze while speaking.
For further details, see: