# SoftBank Robotics documentation What's new in NAOqi 2.8?

# NAOqi API & SDKs 2.5

## Audio

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

## Interaction engines

### New extractor for life: ALMood

ALMood is now part of the extractors started automatically by Autonomous Life.

For further details, see: ALMood Activated during Autonomous Life and Extractors management.

### Conditions expression language: new types supported

The conditions expression language, used by Launch trigger conditions and ALExpressionWatcher, now takes signals and maps.

For further details, see: Conditions expression language.

## Core

### ALMood: new properties

- `ALMood::valence`
- `ALMood::ambiance`
- `ALMood::attention`
- `ALMood::valenceLevel`
- `ALMood::ambianceLevel`
- `ALMood::attentionLevel`

### ALMood: new signals

- `ALMood::valenceChanged`
- `ALMood::ambianceChanged`
- `ALMood::attentionChanged`

For further details, see: ALMood Tutorials.

### ALMood: deprecated signal

- `ALMood::currentFocusedUserMood` This signal has been replaced by `ALMood::valence` property.

### ServiceManager: new methods

Add start|stop|restart API to ServiceManager API that throw on error.

### ALTabletService: language management improved

For a more standard and more robust management of the languages, `ALTabletService::setTabletLanguage` now recognizes and exclusively uses language locales such as “ja_JP” or “en_US” instead of “en” or “ja”.

## Motion

### ALNavigation: new safety map

ALNavigation implements a new safety map, used for motion safety, local navigation, and free zone APIs.

For further details, see: Safety map.

### ALNavigation: first version of exploration APIs

ALNavigation implements new APIs dedicated to exploration & localization.

Warning

This is still a work in progress, and API may change in the future.

For further details, see: Mapping and Localization and Exploration API.

### ALNavigation: new method

- `ALNavigationProxy::getFreeZone`

### ALNavigation: deprecated methods

Deprecated methods | Instead, use ...
--- | ---
`ALNavigationProxy::startFreeZoneUpdate` | directly call `ALNavigationProxy::getFreeZone`
`ALNavigationProxy::stopAndComputeFreeZone` | cancel the future of `ALNavigationProxy::findFreeZone`

### ALNavigation: removed methods

- ALNavigation::getSecurityDistance
- ALNavigation::moveTo
- ALNavigation::move
- ALNavigation::moveToward
- ALNavigation::setSecurityDistance

### ALNavigation: removed events

Removed events | Instead, use ...
--- | ---
`Navigation/SafeNavigator/Status()` | `ALMotion/MoveFailed()`
`Navigation/SafeNavigator/BlockingObstacle()` | `ALMotion/MoveFailed()`
`Navigation/SafeNavigator/AlreadyAtTarget()` | `ALMotion/MoveFailed()`
`Navigation/SafeNavigator/DangerousObstacleDetected()` | `ALMotion/MoveFailed()`

### ALRobotPose: module removed

Use ALRobotPosture instead.

Removed methods

- ALRobotPose::getActualPoseAndTime
- ALRobotPose::getPoseNames

Removed event

- `robotPoseChanged()`

Removed ALMemory Keys

- `robotPose`
- `robotPoseSince`

### ALRecharge: deprecated method

`ALRechargeProxy::stopAll` is deprecated.

This call may not operate during critical operation like docking or undocking.

### ALMotion: deprecated methods

- `ALMotionProxy::setBreathConfig`
- `ALMotionProxy::getBreathConfig`

Now ALBackgroundMovement configures the breathing animation automatically.

## Python SDK

### Python SDK includes the `qicore` module

Starting with 2.5.0, the Python SDK includes the `qicore` module, which should allow you to use `qiFile` from Python.

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.

Instead:

- On Mac and Linux you have to set `PYTHONPTAH` to `/path/to/python/sdk/lib/python2.7/site-packages`.
- On Windows you have to set `PYTHONPATH` to `C:\path\to\python\sdk\lib`.

For further details, see: Python SDK - Installation Guide.

### Mac: link with the Python libraries coming from Python.org

On Mac we now link with the Python libraries coming from Python.org, instead of using the Python libraries provided by Apple.

This means you have to install Python from python.org and make sure to use `/usr/local/bin/python` when using the Python SDK on Mac.

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.

Glossary Site map Index Support Contact Legal Notices