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 Aldebaran 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 Aldebaran robot or not: all permanent users will always be remembered by the Aldebaran robot, all non permanent users will be forgotten by the Aldebaran robot if they have not been seen for 10 minutes.
How it works¶
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 Aldebaran robot could not see the face well enough, then a special anonymous user is used, and the Aldebaran 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.