What is a Robot? (Or, the Elevator Problem)
3/1/2010
I walked in to the senior stats class with some notes and ideas for a robotics-based discussion. The first question is simple, but even professionals don’t have a good answer: what is a robot?
Go ahead, think about it.
Students came up with a working definition:
- a machine
- takes/executes instructions
- has some kind of intelligence
There is a big gray area of “intelligence.” We examined by example. Is a car a robot? A good number of kids actually said yes, which was unexpected for me. I thought they would say no, which was my original thought, because the driver is doing all of the work and thinking; the car is simply a dumb machine to do the driver’s will.
If a car has no steering wheel and no pedals, and drove you around, is that then a robot? Unanimous yes from the crowd.
Continuing the line of example, if you’re in the wheat fields of Nebraska and you have to drive a combine in the fields, is that a robot? Unanimous no: that’s just a fancy tractor. So now we have a range. The big, fancy combine that is completely manually controlled is not a robot, but a car that automatically navigates and drives to a destination is.
Let’s extend this. If you sit in an office and click on a screen telling the combine where to go, is that a robot?
If you don’t have to tell the robot where to go at all, and it does everything alone, is it then a robot?
This thought exercise is a good 20-minute talk on it’s own. I didn’t have time to complete the next section, which is the good engineering-y stuff.
Is an elevator a robot?
- It’s a machine
- It takes instructions and executes them
- It uses some kind of intelligence to process the order it services floors
Looks like a ‘yes’ to me. I do think an elevator is a robotic device, if only a simple one. The question of robot rights seems to come down to the layer of intelligence involved. With that, I walked the class through the design of an elevator control algorithm. Specifically, using a drawn elevator abstraction on the board, we built up cases of what the elevator should do, and wrote rules that handle the cases properly. This was done entirely in English, not pseudocode, for maximum accessibility.
First we examined the simplest possible rule: go to the floors in the order they are requested. To the high school juniors and seniors in the room, this immediately had problems. What if there’s a top floor request, then a bottom floor, then one in the middle, all almost at the same time. The elevator would skip the middle person, going to that floor strictly in the order that the request was made, creating unnecessary wait times.
The key rule that handles most cases is “Make pickups in the same direction first.” This sentence came from the students themselves, and generally works.
A more sophisticated rule is “Drop off the person who has been on the longest, during which you can pick up anyone you pass who wants to go in the direction you’re already going.”