Sunday, November 11, 2012

Does the Roomba respect the Laws of Robotics?

Issaac Asimov's 3 Laws of Robotics state the following:

1. "A robot may not injure a human being or, through inaction, allow a human being to come to harm."

2. "A robot must obey the orders given to it by human beings, except where such orders would conflict with the First Law."

3. "A robot must protect its own existence as long as such protection does not conflict with the First or Second Laws."
 
Let's look at the behavior of the Roomba to assess if it complies with these laws.

First Law

The Roomba has a front bumper and intelligence that allows it to gently come in contact with an object or a living thing without braking or injuring it during its clean cycle.  Hence, it may not injure a human being.  As far as not allowing a human being to come to harm, there's little a Roomba can do.  We're just not there yet.

Second Law

The Roomba obeys orders giving by its master whether it's a clean, spot or dock command.

Third Law

The Roomba is equipped with front cliff sensors that prevent it from falling down stairs.  Unfortunately, it does not have back cliff sensors.  However, it is programmed in such a way that it goes backward only on very short distances which prevents it from falling anyway.
 
Roomba Modes

The Roomba operates in 3 modes: passive, safe and full.

In passive mode, the Roomba controls itself.  This is the Roomba default mode required for clean, spot and dock commands.

In safe mode, the Roomba accepts commands to control its actuators allowing it to move forward and backward, rotate clockwise and counterclockwise, start and stop its brushes, turn its lights on and off, and play music.  This mode still protects the Roomba from falling off stairs when driving towards them in a forward motion.  However, since the Roomba does not have back cliff sensors, it can fall off stairs when driving in a backward motion.

In full mode, the mechanisms preventing the Roomba to hurt itself are turned off.  Hence, the Roomba can fall off stairs even when driving towards then in a forward motion.

Conclusion

If you're ordering your Roomba exclusively by pressing buttons on its back (clean, spot, dock), it will operate in passive mode exclusively.  So no need to worry.
 
If you're programming your Roomba, there are 2 things you should avoid if you want to keep it healthy:

1. Do not use the full mode.

2. Do not make it drive backward towards stairs even in safe mode.

By the way, even at full speed (500 mm/sec), the Roomba stops before falling off stairs in safe mode.  We've tested it.
 
So, as long as you use your Roomba in passive mode only, it will respect the 3 Laws of Robotics.  If you program it through its serial interface, beware of the constraints identified here.
 
All our apps for Roomba operate in passive and safe mode exclusively.
 
To know more about our robot apps for Roomba, visit us at www.roboticapp.com.
 

No comments:

Post a Comment