HOME ROBOTS AND HOW NOT TO CHEW UP YOUR FURNITURE
In 2002, the iRobot corporation announced the availability of the Roomba vacuum cleaning
robot for the home. This announcement is significant because the Roomba was the
first practical robot for home use that could be used by anybody. The robot did not require
any specialized programming or operation. The user was responsible for just making sure
the Roomba’s batteries were charged and to place a couple of electronic markers to prevent
the Roomba from leaving the room that it is being tasked to clean. Since its introduction a
number of copies of the Roomba have been announced.
While the Roomba is a significant step forward, it is not what people think of when they
envision home robots. The Honda Asimo or Sony Qiro, both humanoid-shaped robots that
are able to perform a variety of different tasks, better meet people’s expectations of what a
home robot should look like. Unfortunately, these robots have had thousands of hours of
engineering effort and many millions of dollars invested in them to get to the point where
they are, and yet they are still unable to perform the most basic task that the public at large
expects from a robot—fetching a beverage from the kitchen refrigerator for them while they
are watching TV.
This chapter examines some of the more immediate problems of implementing a robot
that runs around the house. There are a number of different issues, such as how the robot
will find its recharging station automatically and how it will work with objects on surfaces of
tables or counters, all of which are at different heights.
While it is unlikely that you will come up with a robot that will rival the functionality of the
Asimo or Qiro, you can definitely come up with a robot that can reproduce the capabilities
of the Roomba and maybe find a new niche application that is perfect for home robotics,
using today’s technology. Who knows—you might find your fortune coming up with a unique
and practical way of having a robot retrieve a cold beverage from your refrigerator.
36.1 Sensing the Environment: Protecting the Furniture and the Robot
It will take a leap of faith to allow a robot to move about your home without supervision.
Chances are, it won’t be your leap of faith, but of others responsible for the upkeep of the
house. You must think about what goes through their minds when you say you want to let
a robot loose and it will save them a lot of work—chances are they are thinking about cleaning
up all the mess and repairing the damage the robot causes.
A number of things you can do to make the robot safe for operating in a room are shown
in the cross-sectional view of a home robot in Fig. 36-1. The robot will have a soft, flexible
bumper that will not mar or scratch objects that it runs into or rubs against. Inside the
bumper will be contact switches all the way around the robot that are fairly sensitive and will
close when the robot encounters an object with more than a few ounces of resistance.
The bumpers are the last line of defense in protecting a home against a robot. The purpose
of the ultrasonic ranger and infrared ranger is to map out objects around the robot
so it can change course before colliding with objects in its path. As you will discover when
you work with different object sensors and ranging equipment different methods will detect
different objects better than others; the ultrasonic ranger works better on dark or black
objects that do not reflect light while the infrared ranger works better with curtains that
allow ultrasonic signals to pass through while being attenuated (and will not have enough
energy to be detected after reflecting off of hard objects behind the curtains).
The downward-pointing infrared object detection sensor is used to detect the surface
the robot is running on and to ensure the robot doesn’t fall down any stairs. While this may
sound funny, it is a very serious concern. It is especially serious if the robot weighs 10 lb or
more and could cause some damage or injury falling down a set of stairs.
The bumpers, while being the last line of defense, will probably come into contact with
a variety of objects the ultrasonic and infrared ranging sensors will not detect. The most
common objects that they will miss are thin table and chair legs. This means that while your
robot can go very fast, it shouldn’t. It should only move at a few feet per second so that it
can stop in a reasonable distance and not harm the object it has collided with.
Cats, dogs, and other pets will have to be accounted for as well. Their fur can be difficult
for sensors to detect and they can react unpredictably and violently to objects running into
them. Consideration must be made as to how the robot should respond to a collision with
an animal (as opposed to an object). While turning around and moving away from the object
that has been collided with may be an option, a better one might be to stop and wait to see
if the object attacks the robot as many pets will do. In this case, it might be best for the
robot to stay stopped until it has been determined that the pet has left or gone back to
sleep.
Coming up with an algorithm for your robot to move about the room could be the most
challenging aspect of designing a home robot. Humans take for granted the ability to move
through rooms, but it is extremely difficult to come up with different ways of programming
a robot to do so effectively. The problem gets more complex when the robot has to do
something in the room such as find a location within the room or even come up with a way
of cleaning it.
The point of cleaning the room is brought up because of the difficulty roboticists at iRobot
(the company that designed the Roomba) had in coming up with an algorithm that
would maximize the amount of the room that would be vacuumed by their robot. The algorithm
chosen is shown graphically in Fig. 36-2. The robot starts out with a spiral pattern
until it comes in contact with one of the room’s walls. From here, it then follows the wall
until it is sure that it has covered the entire perimeter of the room. When the perimeter has
been cleaned, the robot then begins moving back and forth throughout the room in a random
pattern. After some period of time (many minutes), the robot restarts the spiral pattern
and the algorithm repeats itself.
This algorithm works quite well for the application and could conceivably clean the entire
floor of a home if it were allowed to run long enough. Of course, it could take days for the
robot to move randomly into each room and stay there until they are all vacuumed. It must
be recognized that there are situations (such as the chair leg noted in the previous section)
that will make the Roomba’s room-cleaning algorithm much less efficient.
Moving from room to room in a purposeful manner is difficult and will most likely require
the IR or RF beacons in each room mentioned elsewhere for the robot to determine where
it is and where it must go. With the beacons, the task of navigating becomes more of an IT
problem rather than a robotics problem as the path through the house must consist of sorting
the beacons of specific rooms along with the adjacent rooms, leading to the final destination.
For example, a robot that finds itself in the “Master Bedroom” and has to go to the
“Main Bathroom” would have to figure out the complete set of beacons to pass by. Using
the beacons defined in
Table. 36-1, the sequence would be:
TABLE 36-1 Sample Beacon Layout for a Home
3 to 5 to 2 to 6
When the robot finds itself in a room with a different beacon, it will have to reverse
course, return to a room that is on the course, and try to find the next one in the sequence.
The final issue that you will have to contend with is stairs. Stairs are very difficult to climb
and descend and discovering a way to do so efficiently is one of the Holy Grails of robotics.
It is not difficult to design a set of large, knobby wheels that can move up a set of stairs.
They generally work best when the robot is exactly perpendicular to the stairs. The problem
with climbing stairs is twofold; the first is approaching the stairs at exactly 90 degrees.
Even a couple of degrees off will cause the robot to lose its footing and potentially fall down
or topple.
To make matters worse, many houses have stairs that are irregular as shown in Fig. 36-3.
In each of these cases, either the angle the robot approaches the steps changes or the steps
are encountered at different times, which the robot cannot automatically accommodate,
leading to it toppling or falling.
36.3 Communicating with the Robot
Communicating with a robot is easy to do when it is in the room with you. A TV remote
control can be your interface to the robot and a series of LEDs or a speaker can be the
robot’s way of responding to your commands and indicating its status. While this is not how
most people imagine robots communicate with their owners (speech, both to and from the
robot is the expected method), it is efficient and practical. Problems with this method of
communication occur when the robot is in another room.
If you want to get the attention of somebody in another room, the first thing that you
probably do is shout out that person’s name. Unfortunately, current speech recognition systems are nowhere near up to the task of being able to differentiate a shout from any other
loud background noise and determine if it is a command that it should respond to. A call of
“Robot, get me a cola!” will probably result in the robot staying put and you going thirsty.
Using today’s technology, the most effective way to communicate with a robot that could
be somewhere within the house is wirelessly using something like a home WiFi network.
This does not mean that you will have to go to a computer to communicate with the robot;
there are many PDAs and other handheld devices available that communicate with home
networks via WiFi. When communicating with the robot, it should be able to respond with
where it is and its status.
Status information should not be difficult for the robot to provide, but it will be a challenge
for the robot to determine where it is in your house. If you don’t want the robot to
move randomly about the house until it finds you, you might want to consider:
- Using the infrared or low-power RF beacons in each room discussed in the previous
chapter so the robot can query to find its way to you.
- Adding a TV camera to the robot that broadcasts its view of the world to you and lets
you command it, by remote control. Pictures could be transmitted via WiFi or to your
television set using a low-power (FCC approved) transmitter.
Of the two methods, the beacon method is more technically impressive, while the
remote TV camera is much more fun.
To learn more about . . . |
|
Read |
Computers and microcontrollers for robotic control |
|
Chapter 12, “An Overview of Robot ‘Brains’ ” |
Interfacing circuitry to DC motor loads |
|
Chapter 20, “Working with DC Motors” |
Input and output |
|
Chapter 14, “Computer Peripherals” |
Interfacing sensors |
|
Part 6, “Sensors and Navigation” |
Building a robotic revolute coordinate arm |
|
Chapter 27, “Build a Revolute Coordinate Arm” |
Creating hands for robot arms |
|
Chapter 28, “Experimenting with Gripper
Designs” |
Endowing robot arms and hands with the sense of touch |
|
Chapter 29, “The Sense of Touch” |