SoftBank Robotics documentation What's new in NAOqi 2.8?

ALAnimationPlayer

NAOqi Motion - Overview | API | Tutorials | Advanced


What it does

ALAnimationPlayer allows you to start 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.

How it works

Animation Paths

To run an application stored in a package, use:

package_name/path_of_animation

Example:

run("animations/Stand/Gestures/Hey_1")

Some specific patterns will automatically be replaced as documented here:

Pattern Is replaced by... When...
[posture] Stand the Posture family is Standing.
Sit the Posture family is Sitting.
SitOnPod the Posture family is SittingOnChair.
[robot] Nao the robot is Nao.
Pepper the robot is Pepper.

Example:

run("animations/[posture]/Gestures/Hey_1")

run("my_dances/[robot]/salsa")

If one of those patterns cannot be replaced the path will be considered as not valid.

Default Animation library

You can use any animation available by default:

Animation requirements

You can also use your own behaviors provided that you follow these requirements:

  • Limit the content of the behavior to an animation (no speech, no complex behaviors), in order to guaranty a good compatibility with ALTextToSpeech.
  • Lock the resources as follow: Wait 1 second at box startup, and lock resources during box execution - in order to secure a full compatibility with the automatic body language process.

For further details, see : Creating an animation.

Tags

You can use any tag supplied by default.

For further details, see:

Additionally, you can declare new tagged animations using: ALAnimationPlayerProxy::declarePathForTags

You can also declare new tags for some specific animations (without modifying the animations) using: ALAnimationPlayerProxy::addTagForAnimations

Note

The tags used by ALAnimationPlayer are nothing more than the generic tags you can associate to any behavior. But for ALAnimationPlayer, we trust the developers to use only tags that cover animations.