MAKING PRESENTATIONS USING FUZZY LOGIC IN ...

2 downloads 0 Views 157KB Size Report
(e.g., in a paragraph describing the painting 'Las Meninas' by Velazquez: It is_a. Painting, It is_a Description, It is_a Adult Level, Painted_by Diego Velazquez,.
MAKING PRESENTATIONS USING   FUZZY LOGIC IN A TOUR‐GUIDE ROBOT*  J. JAVIER RAINER†, RAMÓN GALÁN, AGUSTÍN JIMÉNEZ  Intelligent Control Group. Universidad Politécnica de Madrid  C/ José Gutiérrez de Abascal 2. 28006, Madrid, SPAIN  In  the  last  years,  numerous  attempts  for  develop  autonomous  robots  with  intelligent  and  cognitive  skills  are  been  made.  This  paper  proposes  an  automatic  presentation  generator  for  a  robot  guide  who  let  it  make  better  presentations,  with  predefined  durations, and, also, it is shown how the use of fuzzy logic makes possible the evolution  of  the  criteria  for  the  paragraphs,  from  an  initial  knowledge  to  a  real  one  that  agrees  with  the  opinions  of  public.  A  presentation  is  composed  by  a  number  of  paragraphs,  which have associated a set of criteria in the ontology, used by the generator in order to  select  or  reject  the  paragraphs  included  in  the  presentation.  The  modelling  of  the  quality index of the presentation is made using fuzzy logic and it represents the beliefs  of the robot about what is good, bad, or indifferent about a presentation. The beliefs of  the  robot  continue  to  evolving  in  order  to  coincide  with  the  opinions  of  the  public.  Updating of the criteria, the learning, is made using genetic algorithms. 

1. Introduction  The ability for learning is what makes robots more intelligent each time and capable of performing more tasks. Autonomous robots are intelligent machines capable of performing tasks by themselves, without direct human control [1]. Probably, one of the first real world applications of indoor service robots has been mobile robots serving as tour guides in museums or exhibitions. We have developed our own interactive mobile robot, called Urbano, specially designed

                                                             *

  This work is founded by the Spanish Ministry of Science and Innovation (ROBONAUTA: DPI 2007‐ 66846‐C02‐01 and ARABOT: DPI 2010‐21247‐C02‐01) and supervised by  CACSA whose kindness  we gratefully acknowledge. 

* E‐mail: [email protected]   

1

2

to become a tour guide in exhibitions [2]. Such application is extremely interesting for researchers because it allows the advance in knowledge fields such as autonomous navigation in dynamic environments, human robot interaction, cognitive skills, etc. This paper describes a learning mechanism, capable of giving a guide-robot the ability to make presentations. Each presentation is made up of several paragraphs and each paragraph has a set of criteria that determine, according to the restrictions, whether the paragraph will be included in the presentation or not. The evolution of these criteria will ensure the agreement with the opinions of the public. In order to achieve this, robot will need to make a representative number of presentations and receive some feedback from the public. The knowledge is based on domain-specific concept words ontology. Ontologies have been known in computer science as consensual models of domains of discourse, usually implemented as formal definitions of the relevant conceptual entities [3]. 2. Urbano system overview  Urbano is a B21r platform from iRobot, equipped with a four wheeled synchrodrive locomotion system. It is a SICK LMS200 laser scanner horizontally mounted on top, used for navigation and SLAM, with a mechatronic face and a robotic arm used to express emotions such as happiness, sadness, surprise or anger. It is also equipped with two sonar rings and one infrared ring, which allows detecting obstacles at different heights, used for obstacle avoidance and safety. The platform has also two on-board PCs and one touch screen. The software is structured in several executable modules to allow for a decoupled and independent development; they are connected via TCP/IP. Most of these executable modules are conceived as servers or service providers, as face control, arm control, navigation systems voice synthesis and recognition, and web server. A client-server paradigm is used, the central module being the only client called the Urbano Kernel. It is responsible of managing the whole system [2]. URBANO has a technology based on distributed application software. The recent version is an agent based on architecture which uses a specific CORBA approach as an integration tool. The knowledge server is a Java application developed using the libraries of Protégé-OWL API, capable of reading and editing files in “.owl” format. Thus, the knowledge is stored in “.owl” files, in the form of ontologies.

3

3. APG agent  APG agent software has been developed in order to be integrated in the architecture based on the agents, which constitute Urbano software. APG software is activated when receiving a request from a user selecting a file with the pattern to be developed. APG will request all the information from the knowledge server agent, using the necessary restrictions to generate a file with the best presentation to be used by the system in the next performance. All presentations have been stored with their quality indices (QI), and in some cases, when the request is very similar to a presentation with high quality indices already performed, this last presentation will be used, instead of generating a new one. 4. Paragraphs  The paragraph is the minimum element of expression. It is assumed that the size of the paragraphs is such that coincidences or references between them are irrelevant, and that each paragraph expresses a meaningful content. For each of the paragraphs there is a script specifying robot facial expressions and arm movements, tone and type of voice to use, position in the floor plan, and various details for interaction with the public. However, in the ontology, each paragraph is “related” to a certain category, (e.g., in a paragraph describing the painting ‘Las Meninas’ by Velazquez: It is_a Painting, It is_a Description, It is_a Adult Level, Painted_by Diego Velazquez, etc. These relationships are used for selecting the specific paragraph). 5. Patterns and trees  The pattern defined by the user points out to the elements that should take part of the presentation. For each item, the following elements are established: its identification, its priority, its numerical order, and its reference to the theme within available knowledge. When a limitation of time and a very large pattern are present, the priority index indicates the most important content to be included. The opposite may happen when some time is left. Then, the system incorporates content not initially considered. Patterns are represented using XML language, which guarantees an easy use with different tools and programming languages [4].

4

APG requests from the knowledge server the paragraphs available for each topic. The knowledge server will submit one or more paragraphs, since for the same concept may have several versions. Thus, the pattern indicated in Figure 1 shows that the first item of the presentation will be “museum presentation”. It is identified at the knowledge server as “Greetings”. It may involve three possible paragraphs, which will be included in the tree of possibilities, as it is shown in Figure 2. Some global restrictions, including the level of audience, will be used to prune the tree, eliminating Figure 1. XML Pattern Example the paragraphs that do not fit the requested level. The APG agent generates all possible paragraph combinations and then, using a set of fuzzy rules, estimates the QI from each presentation, and it will select the presentation with the highest index. The presentation generated in this way analyses the estimated time for its execution, and when greater than anticipated, it eliminates the paragraphs with the least priority. Otherwise, if there is enough time, it includes some sociallyoriented paragraphs: jokes, sports, political or local events comments. children_visit_museum … …