The Intelligent Service Robot

The intelligent service robot project focuses on methods for systems integration and perception in a domestic or an office setting. The project is primarily formulated to be a focal point for research, it should not be thought of as an end-product, but rather as a facilitator for situated and embodied research on systems integration and perception.
A domestic (or office) robot can be used in a variety of tasks such as cleaning or being a dextrous assistant to humans living or working in a house. Implementing a fully operational household robot is outside the scope of the project. Instead we focus on the principles of such a robot and show, by implementing a basic robot architecture and a few prototypical tasks, that the principles can be applied in a robust manner.

Environment

To be able to experiments with the robots a realistic environment is needed. An office setting is not difficult to get, we can just use our own offices! To get an environment looking more like a house, we have turned one room in the lab into a livingroom by buying IKEA furniture.  
Our Nomad 200 robot
It must be pointed out that our goal is to perform the different task without the need to change the environment. Thus we cannot expect to use special lighting conditions or to put up markers, barcodes etc. to facilitate a task.

The robots

Our main robot platsforms are a Nomadic 200 and a Nomadic XR4000. The first robot, called Asterix, is cable of navigating throug the environment, using its sonar sensors and a laser range finder. With the help of a fork lift, it is possible to use it for simple manipulation tasks. The larger XR4000, called Obelix, is equipped with a Puma 560 robot arm on top. Using this it is possible to perform more advanced manipulation so that more complicated mobile manipulation tasks can be solved. The lab also includes a static manipulator and three small Nomadic Scout robots.

Prototypical tasks

The idea behind the prototypical tasks are that they must be useful, but at the same time be challenging enough from a scientific point of view. It is also important to keep in mind that we want to solve the problems in a robust manner, i.e. the solution should work in a variety of house and offices for long periods of time. The solutions must work without the need to engineer the environment. Most of the tasks we try to solve are of the fetch-and-carry type. Examples of tasks:
  1. Go to the refrigerator and bring back the milk
  2. Locate the remote control and bring it here
  3. Pick up a specified object and deliver it to a pre-specified place
  4. Deliver mail or printer output to any person in the lab
  5. Go to the next floor using the elevator

Instructing the robot(s)

Telling the robot which tasks to perform may be done in different ways. One way is to pre-program tasks that the robot then carries out at different times, or when special curcumstances occurs. As an example, the robot might find out that the batteries are running low and that he needs to perform the "Charge batteries" task. Normally we expect that the robot is often directly told by a user which task to perform. Thus the human-robot interface is important. As we aim for the robot to work in an ordinary home or office, without specialists as users, it is necessary that the human-robot interface is natural and easy to learn. Our own research here is considering speech and gestures as a means for communication. An instruction could then be something like:
Pick up the blue mug on the table [mug specified by a gesture] and drive to the laboratory and put it on the shelves just inside the door

Research issues

To be able to perform the above tasks, research in many different areas is necessary. Some of these are:
  1. Ego-motion/state estimation, i.e. to keep track of where you are and how you move
  2. Navigation among obstacles
  3. Human-robot interaction
  4. Manipulation of objects
  5. Object recognition
  6. System modelling
  7. Task and path planning
  8. Multi-agent systems

Ego-motion, state estimation and navigation

Knowning where you are and how you move is one of the basic capabilities needed for an autonomous robot and is a problem that has been studied for a long time. Our own research in this area has mainly concerned robust navigation using sonar sensors and laser range finders. Today our robot Asterix is capable of robustly finding its initial position and after that tracking its position for a very long time (hours) without getting lost in our laboratories. Main researchers in this area are Patric Jensfelt and Olle Wijk

A related area is navigation avoiding obstacles. Safely navigating, especially in a home, requires that the robot does not run into things or beings, such as a child or a pet. There are today several different approaches to this, and we have so far not perfored any research in this area. For our Nomad200 robot we have used mainly 2D approaches, but the Nomad XR4000 robot will require 3D approaches since it has a robot arm on top, which is more dangerous and more difficult to move without running in to things.

Human-robot interaction

Our intensions are that the robot should normally be operated by non-experts, requiring no or little training to use the robot. For this to work it is important that interaction with the robot is made in a natural and easy to use way. In many cases speech and gestures are natural ways of communication and we perform research both concerning gesture recognition and how to combine them in a natural way. Main researcher here is Hedvig Sidenbladh

Manipulation of objects

A key to a succesful service robot is its possiblity to manipulate objects in the environment. Static robots used in industry for many years, normally requires three basic assumptions:
  1. The environment is well known
  2. The different subtask are very well specified, often the motion of the robot is specified exactly and when to grasp etc. is very well definied.
  3. The safety problem is solved by not allowing people to enter the workcell of the robot.
In a home or office environment these requirements can almost never be met. The environment can be fairly well known, but many things will be slightly moved, new things will come and old things will go, not to mention that people will come and go. This requires additional capabilities for the robot. It must be able to observe unexpected changes in the environment and to know how to change its behaviour accordingly. For the same reason, a task can not be specified in detail and furthermore, the specification of a task will require planning on the part of the robot. Compare two orders such as move the arm form point (x1,y1,z1) to point (x2,y2,z2) and Get me a beer The first of these orders are very well specified while the second requires a lot of extra knowledge and perhaps also forces the robot to ask questions! Our own research in this area is performed by Danica Kragic, Martin Eriksson, Lars Petersson and Dennis Tell.

Object recognition

Another key area for a successful service robot is the ability to recognize objects. Objects that need to be recognized varies from small objects like spoons, knifes and forks to larger objects like bookshelves and doors. The key idea in our research is that the recognition must be robust and work in an everyday environment. Research in this area is performed by Maria Ögren

System modelling

Autonomous robots are complicated systems. Complex sensory data from sonars, lasers, cameras, bumpers etc., as well as operator input must be evaluated and transformed into actions. A sound modelling of the robot system from a mathematical point of view is therefore important. Magnus Egerstedt work on hybrid dynamic systems aims at finding out how these can be used for robotic applications, combining discrete and continuous systems. Another aspect of the complex nature of the robotic systems are how software architectures should be constructed. In this area, Anders Orebäck is testing a number of current architectures used in robotics, to be able to present a usability study and from that, hopefully, be able to come up with even better solutions.

Path planning

Planning a path for a moving robot is a classical problem. The purpose is to be able to plan a safe path that takes the robot from one position to the next, fulfilling some optimization criteria. The problem becomes even more difficult when an arm is added on top of the robot which is the case with our XR4000 robot. Methods for path planning is studied by Claudio Altafini

Multi agent systems

Using more than one robot solving a task is a very challenging problem and has attracted attention over the last few years. One such example is the Robocup (Robot soccer) tournamnets and the military research initiative for urban warfare in the USA. Currently we are just starting research in this area and we will implement a few task such as cooperative mail delivery and printer output distribution.
Magnus Andersson

Last modified: Wed Aug 11 09:47:13 MET DST 1999