# 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:

- NAO - List of animations available by default,
- Pepper - List of animations 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:

- NAO - List of tags available by default,
- Pepper - List of tags available by default.

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.

Glossary Site map Index Support Contact Legal Notices