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

# NAOqi API & SDKs - 2.7

## Core

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

### ALTabletService: disabled method

The tablet’s language is now handled in Android’s settings screen. There is no API to change it. `ALTabletService::setTabletLanguage` does nothing anymore.

## Interaction engines

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

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

### QiChat: new functions

The following new instructions are available:

Rules

Learning rule |  |

Rule functions and properties

^concatenate | ^frequency |

Time & Date methods

^currentDateTime ^currentDate ^currentTime | ^sayDateTime ^sayDate ^sayTime

Call functions and program logic

^keepFocus |  |

Web Mining

^wiki |  |

Knowledge Functions

^addKnowledge ^updateKnowledge | ^containsKnowledge ^notContainsKnowledge | ^removeKnowledge ^queryKnowledge

Knowledge Metadatas Functions

^getKnowledgeId ^addMetadata ^queryMetadata | ^updateMetadata ^containsMetadata ^notContainsMetadata | ^removeMetadata ^setExpiringKnowledge ^setHappeningKnowledge

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

In order to avoid unpredictable side effects between topics, `ALDialogProxy::unloadTopic` has no effect on topics loaded via an include instruction.

%script ^call & Dialog Engine

In order to avoid unexpected effects, it is no longer allowed to use a %script or a ^call to call back the Dialog Engine.

### New: use Basic Channel topics in applications

It is now possible to include Basic Channel topics in applications.

For further details, see: include.

### ALDialog: new event

- `Dialog/MainDialogStarted()`

## Emotion

### New module: ALRobotMood

ALRobotMood calculates the robot’s own emotion. The robot’s emotion is based on his own physical state and the feelings of the environment and people around him.

For further details, see: ALRobotMood.

## Motion

### ALNavigation: new methods

- `ALNavigationProxy::setDefaultExploration`
- `ALNavigationProxy::relocalizeInMapWithHint`

### ALNavigation: experimental methods improved

- `ALNavigationProxy::relocalizeInMap` has evolved:

  uses images taken during exploration to find the most probable match and relocalize to it. The relocalize starts a behaviour to make the robot turn and look around him to have multiples images to find a good match. If none of the images is a match, then relocalizeInMap throws.

- `ALNavigationProxy::navigateToInMap` takes x, and y instead of a list, returns: a future holding true if the execution succeeded, false otherwise.

- `ALNavigationProxy::explore`: returns a future returning when the exploration finishes instead of an error code.

### ALMotion: method improved

- `ALMotionProxy::wakeUp`: if the robot is already stiffened, the call returns True immediately.

### ALNavigation: code sample available

Some sample applications are available on github here: naoqi_navigation_samples.

## Audio

### ALSpeechRecognition: deprecated methods

The following methods are deprecated and not effective anymore:

- `ALSpeechRecognitionProxy::getAudioExpression`
- `ALSpeechRecognitionProxy::setAudioExpression`
- `ALSpeechRecognitionProxy::setVisualExpression`

The robot uses new sign & feedback instead.

### ALSpeechRecognition: deprecated usage

New sign & feedback makes ALSpeechRecognition module almost deprecated.

Warning

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.

## Vision

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

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

Glossary Site map Index Support Contact Legal Notices