APIs – Synthesis – from 2.1 to 2.8 ¶
Core - New services ¶
New service: ALExpressionWatcher
ALExpressionWatcher allows you to be notified or query the validity of a condition expression .
For further details, see: ALExpressionWatcher .
New service: ALKnowledge
ALKnowledge implements a triplestore which is a way to store information in a Subject-Predicate-Object representation. It uses a library called Soprano.
For further details, see: ALKnowledge .
Core - Improvements ¶
ALAutonomousLife : new methods
Methods for Autonomous Ability management:
Provides information on why an activity might be refused to be focused.
Provides context of the activity trigger condition at activity focus moment so that you can know why your activity has been triggered.
New extractor for life: ALMood
ALMood is now part of the extractors started automatically by Autonomous Life .
Conditions expression language : new types supported
For further details, see: Conditions expression language .
Trigger conditions : improved
- New operators and functions for trigger conditions: @, #, bang(), stable(), pref(), int(), float(), string()
- Non-existing memory keys used in a trigger condition will make that key evaluate to false instead of ignoring the entire condition. Uninitialized memory keys (with ALValue type “Invalid”) also evaluate to false.
For further details, see: Launch trigger conditions .
rand : new Trigger Condition operator
A new random operator returns a random value according to parameters.
For further details, see: Conditions expression language .
ALConnectionManager : new methods
ServiceManager : error recovery added
If your service is an autorun service and it crashes, it is now restarted by the ServiceManager.
For further details, see: ServiceManager .
ServiceManager : new methods
Add start|stop|restart API to ServiceManager API that throw on error.
ALDiagnosis : new method and event
To summarize active and passive diagnostic results:
ALUserSession : API finalized
ALUserSession is no longer a “work in progress”.
New methods to get user creation and detection dates:
New methods for users introspection:
New methods for translating a UserSession ID in a PeoplePerception ID and conversely:
API change for user bindings introspection:
Data sources API deprecated, the following methods should not be used anymore:
Note : use ALUserInfo to store user data.
Core - Deprecated ¶
ALStore : deprecated module
ALStore has been deprecated. Do not use it.
Interaction engines ¶
Interaction engines - New services ¶
New service: ALBackgroundMovement
ALBackgroundMovement triggers some slight movements that the robot does autonomously. If the robot makes some other motion (i.e. there is a call to a method of ALMotion ), the background movements are stopped until the motion is done.
For further details, see: ALBackgroundMovement .
New service: ALListeningMovement
ALListeningMovement enables some slight movements showing that the robot is listening.
For further details, see: ALListeningMovement .
New service: ALSpeakingMovement
ALSpeakingMovement enables to start autonomously movements during the speech of the robot.
For further details, see: ALSpeakingMovement .
New: Dialog lexicon
The content of the Dialog lexicon is published.
For further details, see: Dialog Lexicon .
New: use Basic Channel topics in applications
It is now possible to include Basic Channel topics in applications.
For further details, see: include .
ALDialog - Improvements ¶
Collaborative Dialog fully integrated
Collaborative Dialog management is now fully integrated. It is available by default on all robots.
It means that any topic tagged as Collaborative Dialog is automatically activated when Talking with Pepper .
For further details, see: Collaborative dialog vs applications .
Collaborative Dialog uses the Semantic Engine
During a Collaborative Dialog , the Semantic Engine is activated. So, be aware of the additional content it brings.
For further details, see:
QiChat : new functions
The following new instructions are available:
Rule functions and properties
Time & Date methods
Call functions and program logic
Knowledge Metadatas Functions
QiChat : language management improved
New syntax to specify the language of a topic: use the English name of the language, like French or Japanese, instead of the former codification, like frf or jpj:
language: English language: enu # DEPRECATED since 2.7
For further details, see QiChat reference about language .
QiChat : file management improved
include & unloadTopic
%script ^call & Dialog Engine
ALDialog : new methods
ALBasicAwareness - Improvements ¶
Pausing and resuming ALBasicAwareness
ALBasicAwareness can be paused, which means it will stop making the robot move until it is resumed.
For further details, see: Pausing and Resuming .
Interaction engines - Deprecated ¶
Deprecated module: ALAutonomousMoves
|ALAutonomousMoves||Use the ALBackgroundMovement and ALListeningMovement instead.|
Run_dialog is deprecated and disabled
Collaborative Dialog management is now fully integrated: as a consequence, former Run_dialog applications are now useless.
In order to avoid redundant call and potential conflicts, an empty Run_dialog application is now installed as a system application on the robot, preventing former version to override it.
ALDialog : deprecated methods
|Deprecated Methods||Instead, use ...|
Motion - New services ¶
New service: ALAnimationPlayer
ALAnimationPlayer allows you to run animations. This service is a wrapper of ALBehaviorManager , its goal is to have an easy way to start animations according to animation tags or the current posture of the robot.
ALAnimationPlayer is used by ALAnimatedSpeech and brings some new features to this module (dynamic selection of animations depending on robot position and model).
For further details, see: ALAnimationPlayer .
Motion - Improvements ¶
ALMotion move methods improved
Pepper : Leg animations are now supported during move.
The former limitations during a Move command, are now removed. It is now possible to generate animation on the leg joints, using directly: HipPitch , KneePitch and even HipRoll joint.
ALMotion : wakeUp method improved
ALMotionProxy::wakeUp: if the robot is already stiffened, the call returns True immediately.
ALMotion : new event
ALTracker : new methods
Obstacle avoidance for ALRecharge
when going to
from far distance, so he is able to avoid obstacles.
ALRecharge : new events
ALRecharge : new error code
The following method now returns an ALValue containing an int errorcode :
The following methods now returns an int errorcode :
For further details, see: errorcode .
Push Recovery reflex improved
Push recovery reactivity has been improved, allowing a stronger reaction of the robot to a potential fall.
For further details, see: Push Recovery .
Motion - Deprecated ¶
ALRobotPose : module removed
Use ALRobotPosture instead.
Removed ALMemory Keys
ALMotion : deprecated methods
Now ALBackgroundMovement configures the breathing animation automatically.
ALMotion : deprecated event
|Deprecated Event||Instead, use ...|
ALRecharge : deprecated method
This call may not operate during critical operation like docking or undocking.
Audio - Improvements ¶
Language management improved and secured
An application cannot anymore permanently change the language of the robot: setLanguage methods scope is now limited to the application.
For further details, see: How to temporarily change the language of the robot .
ALTextToSpeech : New API to change the pronunciation of a word
This new API makes it possible to tweak the pronunciation of a word by providing a phonetic transcription.
ALSpeechRecognition : VOCON 4.7 update
Vocon is the embedded part of the Nuance Vocon hybrid distribution . It segments and processes speech utterances on the robot without server access.
New features in the 4.7 update:
During our tests, the speech recognition latency was reduced by 15%. Nuance claims the reduction can be as good as 20%.
Updated mandarin Chinese acoustic models
The new acoustic models improve the handling of tonal information for standard Mandarin Chinese, and reduces the error rate.
ALTextToSpeech : Increase Speech Volume
Japanese Voice only
When the speech volume is already at its maximum, and the gain hardware cannot be increased, the speech volume can be increased with an audio dynamic compressor. This audio dynamic compressor will be applied on the voice only (not on the other played sounds). It will increased the perceived volume of the voice.
For further details, see:
Configuration Required: new version of Japanese language package.
Audio - Deprecated ¶
ALSpeechRecognition : deprecated methods
The following methods are deprecated and not effective anymore:
The robot uses new sign & feedback instead.
ALSpeechRecognition : deprecated usage
New sign & feedback makes ALSpeechRecognition module almost deprecated.
ALSpeechRecognition is a low level module, offering elementary speech recognition functions, which are fully integrated in ALDialog .
Therefore, it is highly recommended to prefer the usage of ALDialog .
Notably, a direct usage of ALSpeechRecognition does not trigger the Listening feedback described in Talking with Pepper section.
For further details, see: New sign & feedback .
ALAnimatedSpeech : deprecated methods
Vision - Improvements ¶
ALVisionRecognition : New API for database management and to work on files
API for database management:
New methods to learn and detect objects from image files:
New methods to control the number of objects that can be detected at the same time, in the same image:
Vision - Deprecated ¶
ALCloseObjectDetection : disabled and deprecated module
The results provided by ALCloseObjectDetection were not satisfactory. It does not deserve to be tested further, please do not use it anymore.
Furthermore, on Pepper V1.8 , ALCloseObjectDetection is not available at all.
For further details, see: alcloseobjectdetection .
People Perception ¶
People Perception - Improvements ¶
ALFaceCharacteristics : New memory key with the facial features coordinates
This memory key contains, for a given user, the coordinates of all detected facial features.
ALPeoplePerception : performances improved
People detection is thwarted by a strong back light. However, improvements have been made, so some cases, previously in failure, now give better results.
Sensors & LEDs ¶
Sensors & LEDs - New services ¶
New service: ALTactileGesture
ALTactileGesture is intended to manage tactile gestures on the head sensors.
With ALTactileGesture , you can:
- Detect tactile gestures performed on the head sensors,
- Respond to tactile gestures via qi.Signals and ALMemory events,
- Create new tactile gestures on-the-fly.
For further details, see: ALTactileGesture .
Sensors & LEDs - Deprecated ¶
ALInfrared : deprecated module
ALInfrared has been deprecated and removed, use WiFi instead.
Python SDK ¶
Python SDK includes the
Starting with 2.5.0, the Python SDK includes the
should allow you to use
This means that the filesystem hierarchy inside the SDK had to change, you can no longer set PYTHONPATH to where you have extracted the Python SDK.
you have to set
you have to set
For further details, see: Python SDK - Installation Guide .
C++ SDK ¶
Windows : Visual Studio 2013 instead of 2010
Visual Studio 2013 is now supported, replacing Visual Studio 2010.
Note that 2013 is mandatory because our SDK now implements the C++ 11 features available in Visual Studio 2013 .
For further details, see: Supported Compiler and IDE .