To appropriately process information in the complicated and changing real world, intelligent systems have a world model within to predict environmental changes and correct the difference between the prediction and actual changes for a more accurate prediction the next time. But if the model is difficult for humans to understand, it is hard for them to think of how the system will handle instructions they provide, so they are not comfortable in giving high-level instructions, and then the system will become hard to use. Thus, we decided to build an intelligent system that has a world model that humans can understand easily within itself, and a learning function that autonomously corrects the model. We are now developing a system using a robot that moves around an office as a demonstrative model. This robot, while moving as instructed by humans, will update its world model and grow and tell people what it found.
The Novel Function Fujitsu Laboratory is constructing a world model that carries out communication with humans smoothly and is easy to update to adopt to the changes in the environment, implementing functions to autonomously update the world model, and building an intelligent information processing system equipped with these capabilities as a demonstrative system.
Fig. 1 shows a framework called virtual world system. Inside the dotted lines is a virtual world system that consists of a virtual environment and an actual robot. This virtual environment is the world model stated above. An action plan is made up for carrying out instructions (for moving) by a user using the virtual environment. There is a virtual robot in the virtual environment. The virtual robot and the actual robot move around the virtual environment or an office according to the action plan.
Since we cannot have a complete model of the real world, the movement of the virtual robot (predicted) and that of the actual robot do not always match. Any differences found are written into the virtual environment as new information. The differences are selectively written since it is impossible to write all the differences into the new environment. The criteria for the selection depends on the instructions from the user. The system is analogous to a new employee who must learn what he/she has to learn (what has to be changed in the action plan due to the difference from the prediction) to get his/her assigned jobs done (by executing the action plan) on the job to understand the system of the company. We call this an autonomous learning and growth function.
We chose a mobile robot as an interface between a system and the real world, because it is easy to mount sensors and hands on it to act upon the outside world and to collect information as closely as humans do by moving around. In other words, the virtual world system is the "a real world computer with mobile input and output devices".
We built the virtual environment and virtual robot. We are using another pair of the virtual robot and virtual environment instead of the real world and actual robot since the actual robot is still under development. Fig. 2 is a sample display of the virtual world system.
We chose a 3-dimensional model as a method to represent the virtual environment (Virtual World window in the upper left of the Fig. 2). As stated earlier, it enables prediction and corrections and is easy for humans to understand. The virtual robot moves inside of it. Although such a model requires numerous amount of calculations for a simulation and it is also difficult to synchronize it with the actual robot, we solved these problems by using a high-speed hardware and a real-time simulation.
In the Virtual Robot view window (the lower left of Fig. 2) is a scene observed by the virtual robot. This is a prediction with the simulation. The Sun Video Monitor window in the center is the image of a video camera mounted on the actual robot. The video image is used just to make it easy to see the figure. We will actually use data obtained with a range finder instead of a video image because it is easy to get information such as the shape and size of objects and distance to objects, necessary for the movement of the robot.
The Robot Knowledge Manager window on the right side of Fig. 2 is the path along which the robot plans to move. The virtual robot and actual robot move along the planned path and information from sensors on the robots are compared while moving and any large differences (such as opening or closing of doors, obstructions) obtained will be used to update the virtual environment against the real environment. And if required, the plan will be renewed. Users can see in the real time in a form of 3-dimensional model what the robot saw, what it was attracted to and what it memorized.
The current virtual environment does not have moving objects such as two or more robots, humans, etc) modeled. The robot deals with them as unexpected obstructions and try to avoid them. It may suffice for simple jobs, but we will enhance the functions of the virtual environment by modeling moving objects to make it more intelligent and make action plan including them.
Many kinds of technologies must be integrated to implement a mobile intelligent system that can co-exist with humans. We have been so far concerned with a function building a world model from information obtained from sensors, easy for humans to understand. We plan to construct a framework for a total system from a symbolized situation using dialog with the Jijo-2 robot developed by the Electrotechnical Laboratory and the positioning function from the research on dynamic programming developed by RWC Tsukuba Research Center.