With HBBA, behavior-producing (or Behaviors) modules are used as independent and distributed modules that can be activated and configured according to what are referred to as the Intentions of the robot. They generate all of their commands based on percepts produced by Perception using data coming from the sensors of the robot. High-level goals are generated and monitored by Motivations, which generate Desires for the satisfaction or inhibition of Intentions. The Intention Translator (IT) module monitors and arbitrates the Desires generated by Motivation based on a database of Strategies. Each Strategy describes how a specific class of Desire can be fulfilled on a specific robot platform, which includes activation of Behavior and Perception modules and transfer of parameters to these modules. This makes HBBA highly reusable and versatile, isolating what is specific to a robot platform into Perception and Behavior modules.
The three main motivations of the robot are :
- Survive. Survive supervises the battery level and generates a desire of go to the recharging station when battery level is too low.
- Assistance of Daily Living (ADL). ADL motivation allows the robot to conduct vital sign monitoring sessions without the intervention of the clinician.
- Assistive Teleoperation. Assistive Teleoperation allows the remote operator to either manually control the robot using a gamepad or to communicate high level destination for autonomous navigation of the platform.
Key Perception Modules
- RTAB-Map (Real-Time Appearance-Based Mapping) is the open source library used for 3D mapping and autonomous navigation in the home environments using the Kinect camera. Such capability should help minimize cognitive load by allowing the robot to move autonomously to specific locations and b providing a 3D representation of the home.
- ManyEars (now updated to ODAS), is open source library performing sound sources localization, tracking and separation, is used to filter and separate sound sources to focus the robot’s attention only on speech, and ignore ambient noise. Using separated audio streams can also help maintain a conversation in noisy environments.
- Visit HBBA GitHub page for more details.