ALUserSession

NAOqi Core - Overview | API | Getting Started


What it does

ALUserSession manages the state of active users.

  • It is a state machine of present users with open sessions , and the one focused user who the SoftBank Robotics robot is currently tracking.
  • After identification, users are defined by their UserSession IDs.
  • Specific data about users can be stored or accessed using their UserSession IDs via ALUserInfo API.
  • A user can be permanent on the robot or not: all permanent users will always be remembered by the robot, all non permanent users will be forgotten by the robot if they have not been seen for 10 minutes.

How it works

https://developers.softbankrobotics.com/sites/default/files/repository/51_html_nao/_images/us_block_diag.png

When a human is present, ALAutonomousLife ‘s mind detects them via ALBasicAwareness .

Then it attempts to autonomously map this perceived human to an existing user via built in rolling facial recognition.

  • If this human cannot be identified as an existing user, a new user is created in ALUserSession .
  • If the human could not be identified because the robot could not see the face well enough, then a special anonymous user is used, and the robot will try to identify the face again 3 seconds later.

ALUserSession sends signals to inform the Activity and other modules about the sessions and focused user changes so they can adapt themselves as necessary.