so it is only natural that we get the wrong answers. At least this is what I believe to the main reason behind the field of mobile robotics successively failing the wonderful predictions that were made. That and the not so unreasonable hypothesis that maybe robotics is close to the border of what it can really do. To put it in another way, what we have right now in terms of robotics technology and achievements is pretty much what we will have in the future. Sorry, no 2CPO or Captain Data but maybe an R2D2 is possible to come by in the future.
And what are the questions we are asking right now ? Take for instance, the standard navigation task: robot must move from A to B. Technically it is more complex than this, but you get the point. The general approach to solve this problem is to ask for the optimal path, in terms of travel time or distance, that gets the robot from A to B. The problem is not as trivial as it might seem at first, and it can be pretty tough to solve. But it can be solved, provided you have enough money and time to spend. As with any engineering problem.
Now, let's pause for an instance. The problem is being formulated in a very sound manner. Get me the optimal path that takes my cybernetic creature from the bedroom to the living room. Along the way, don't forget pick me up a beer from the kitchen fridge.
Is this the way you go at the navigation task problem, when you need to solve it ? The question is not easily answered because you are not aware of the unconscious thinking processes that take place in your brain. So let's look at some of the most computationally handicapped creatures God placed on this Earth: insects and birds. Dolphins and mice don't count because, as you know, they outrank us intelligence wise.
Take the route traveled by an ant or a small bird, while foraging for food. Is it plausible to assume that these carbon-based life forms compute an optimal path, while moving in the environment ? Certainly not, since that would require at least a reasonably accurate representation of the environment and the means to reason within that representation. In particular, birds move in 3D space which is a lot trickier than the almost 2D spaces humans move in. Not to brag, but if even humans have difficulty in getting anywhere on time how can an ant or an hummingbird plan the path it will follow ?
Of course, these creatures might used simple and efficient algorithms, finely tunned over thousands of years by evolution, that implicitly take our crawling friends along the good road. However, using an algorithm that might produce a near-optimal path is not the same as actually computing it beforehand or while on the move. So instead of asking for the optimal path, which a nice mathematical way of showing of just how geek can roboticists be, we should be asking what are the efficient algorithms that generate good enough roads.
Now you might ask, if that is so how come nobody has thought about that before ? Well, they have. Rodney Brooks for instance came up with this approach back in the early nineties. He called it the subsumption architecture, which is a fancy wording to "we have these nice basic procedures that work quite well in separate, let's mix them together and hope for the best". Yes, I am over-simplifying it. But it is not much more than that. Hey, just because something works it doesn't mean it has also to be complex. Take Roomba. It can't get any simpler than that. Or expensive and quite ineffective for what it costs.
So, pretty much everything in robotics is solved since the nineties. Right ? Well, no. The devil is in the details, or in this case what exactly is the combined behavior when you mash up things together. You see, roboticists have this fixation about concepts like system stability and, worse, predictability. Would you even consider to buy a Roomba if one of the possible behaviors was to steadily chip away the legs of your wife's beloved coffee table ? Not me.
The difficulty here is that to have a good idea of what the robot will do, and what it will not do, one has to put lot's of restrictions on what blocks can be used and how they are joined together. For sure, they are all mathematically beautiful restrictions, but restrictions nonetheless they are. And if you don't put enough, well then it comes up to a point where nothing can be said about the robot behavior.
Friday, November 26, 2010
Subscribe to:
Post Comments (Atom)

0 comments:
Post a Comment