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 … …