Service Robots in an Intelligent House Jesus Savage Bio-Robotics Laboratory biorobotics.fi-p.unam.mx School of Engineering Autonomous National University of Mexico UNAM 2017
OUTLINE Introduction A System to Operate Mobile Robots (VIRBOT) in a House Video
Service Robots in an Intelligent House A Robot in Every Home: Overview/The Robotic Future. Bill Gates, Scientific American (2007)
Service Robots Service Robots are autonomous or semiautonomous hardware or software systems that perform tasks in complex, dynamically changing environments.
Autonomy means the ability to make decisions based on an internal representation of the world, without being controlled by a central instance.
Service Robots Capabilities In order to cope with difficult tasks, service robots need basic capabilities: They should be capable of deliberation to perform their tasks in a goal-directed manner. They should be reactive, i.e., react timely and appropriately to unforeseen events and to changes in the environment
They should solve their task efficiently by making use of hard-wired procedures in routine situations. Service robots need to be adaptable to changing environmental conditions.
Service robots have emerged from a multitude of parental research areas, the most important of which are symbolic Artificial Intelligence (AI), Control Theory, and Digital Signal Processing (DSP).
We have developed a system, named the VIRBOT, where operational algorithms for mobile robots can be tested. The system consists of several layers that control the operation of robots.
ViRBot System
INPUT LAYER This layer process the data from the robot's internal and external sensors, they provide information of the internal state of the robot, as well as, the external world where the robot interacts. In some of our robots designs they have lasers, sonars, infrared, microphones and stereo and RGB-D cameras.
INPUT LAYER Digital signal processing techniques are applied to the data provided by the internal and external sensors to obtain a symbolic representation of the data, as well as, to recognize and to process voice and visual data. Pattern recognition techniques are used to create models of the objects and the persons that interact with the robot.
INPUT LAYER Vision System For object recognition a system is used that is robust to partial occlusions, scale and rotation and that allows normal movements of the objects and of the camera.
INPUT LAYER Vision System Gesture Recognition
INPUT LAYER Speech Recognition System Speech Digital Signal Processing Speech Recognition System Natural Language Understanding Perception
INPUT LAYER INTERNET OF THINGS Internet of things is used to sense the house's activity. Sensor data can be processed remotely in tablets and smart phones by applications. These applications provide information to the ViRbot system so the robot can make appropriate decisions. KIT SMART THINGS DLINK CAMERAS
INPUT LAYER INTERNET OF THINGS
INPUT LAYER INTERNET OF THINGS Email sent by Dlink server To: Jesus Savage <robotssavage@gmail.com> Wed, Aug 10, 2016 at 7:05 PM Notifications sent by mydlink+ mydlink+camera4-dcs-932l has detected a motion. 2016-08-10 18:38:55 CDT 31570110 SmartThings server notifications sent to a smartphone 08-10 18:37:28 SmartThingsThere is motion in the Corridor at Home San Miguel Xicalco
INPUT LAYER INTERNET OF THINGS Recognition of Human Activities The Use of Hidden Markov Models (HMM) for the Recognition of Human Activities
INPUT LAYER With the symbolic representation, this module generates a series of beliefs, that represent the state of the environment where the robot interacts.
PERCEPTION Example: In the following figure, the symbolic representation generates the beliefs: "there is a hole in front of the robot" or "there is a shadow in front of the robot"
PLANNING LAYER The beliefs generated by the perception module are validated by this layer, it uses the Knowledge Management layer to validate them, thus a situation recognition is created. Given a situation recognition, a set of goals are activated to solve it. Action planning finds a sequence of physical operations to achieve the activated goals.
PLANNING LAYER ACTION PLANNER It uses a rule base system that performs searches in a state space representation.
PLANNING LAYER Movement Planner: Global Path: Path between rooms. Local Path: Path inside each room.
PLANNING LAYER The basic search problem: Given: 1. Starting point (node) 2. The goal point (node) 3. A map of nodes and connections Goals: 1. Find some path or find the best path (maybe shortest) 2. Traverse the path A 3 S 5 4 4 B 4 C 5 G D 2 E 4 F 3
PLANNING LAYER 1. 2. Artificial Intelligence Techniques to Search for: Some path Optimal path Search Some path Optimal Path Depth-first Hill climbing Breadth-first Beam Best-first British museum Branch and bound A* Dikjstra
KNOWLEDGE MANAGMENT LAYER This layer has different types of maps for the representation of the environment, they are created using SLAM techniques.
KNOWLEDGE MANAGMENT LAYER Also in this layer there is a localization system, that uses the Kalman filter, to estimate the robot's position and orientation. A rule based system, CLIPS, developed by NASA, is used to represent the robot's knowledge, in which each rule contains the encoded knowledge of an expert.
KNOWLEDGE MANAGMENT LAYER Learning: Genetic algorithms and programming Probabilistic methods: Markov chains Bayesian classifiers. Clustering (K-means, Vector Quantization) Artificial Neural Networks
EXECUTION LAYER This layer executes the actions and movements plans and it checks that they are executed accordingly. A set of hard-wired procedures, represented by state machines, are used to partially solve specific problems, finding persons, object manipulation, etc. The action planner uses these bank of procedures and it joins some of them to generate a plan.
EXECUTION LAYER Behaviour methods are used to avoid obstacles not contemplated by the movements planner. The behaviour methods can be state machines, potential fields and neural networks.
EXECUTION LAYER Behaviors Methods Using State Machines
EXECUTION LAYER Behaviors Methods Using Potential Fields.
EXECUTION LAYER Behaviors Methods Using Artificial Neural Networks.
EXECUTION LAYER CONTROL ALGORITHMS Control algorithms, like PID, can be used to control the operation of the virtual and real motors. Vi(t) y(t) + - PID Control h[t]
Robots Robot Virtual TX8 Robots TX8 y TPR8
Robots Robot PAC-ITO Robot AL-ITA Robot JUST-INA
Robot Justina Mechatronic Head (Pan and Till) Kinect Stereo Cameras Microphone Torso Kinect Laser Hokuyo Two arms (7 DoF) Mobile Base
Blackboard
BLACKBOARD ROBOT OPERATING SYSTEM (ROS) Blackboard Module ROS node ROS 40 BLK
Video
Service Robots in an Intelligent House Jesus Savage Bio-Robotics Laboratory biorobotics.fi-p.unam.mx School of Engineering Autonomous National University of Mexico UNAM 2017