Saturday, February 12, 2005
What a Robot Wants
Looking through the DARPA Grand Challenge entries, I've noticed that there are several broad approaches to the concept of autonomous robotics with respect to sensors. Since I'm now part of team Robo Monster, it seems important to figure out just which approach will lead to a (car)Robot That Jumps.
1. "Optimized Engineer" - In this approach, sensors are kept to a minimum to minimize the chances for failure and to simplify decision-making by the robot. However the few sensors are very capable. An example would be a robot with a super 3D stereo camera with ultra-high resolution and little else. Clever programming would wring out every bit of useful information from the high-quality sensor.
2. "Barebones" - In this approach, sensors are kept to a minimum because the designer really thinks robots don't need good senses. Some teams are developing systems with a single camera running at 640 x 480. The reasoning here flows not from engineering, but from what people can do. After all, a person could probably drive a car looking at a 320 x 240 pixel display, so why not a robot? Again, clever programming makes up for lack of sensors.
3. "Sensor Heavy" - In this approach, the robot is given a large number of simple (and usually cheap) sensors. Instead of ultrasound on the front and back of a robot car, the "sensor heavy" designer puts a whole ring around the base of the vehicle. Multiple cameras may be used, usually at lower resolution than the "optimized engineer" approach. The "sensor heavy" approach lends itself to less centralized computation as well - if you have lots of identical sensors, it is practical to arrange your computing in a network of small computers rather than a few big ones.
My own background as a biologist at UCLA makes me prefer the "sensor heavy" approach. Some groups look at biological structures like the human eye and conclude that a few good sensors are best. However, this is somewhat misleading. The human eye is backed by a brain with millions the times of computing power as the best GC vehicle. It will be many years before we can match brains in silicon.
In fact, most robots today are actually less complex than a single free-swimming bacteria. In terms of effectors, a bacterial cell is roughly similar to a Roomba - it has forward, reverse, and random tumble. But its sensors blow even our most sophisticated robots away. A typical bacterial cell has several hundred different kinds sensor proteins on its surface. Most of these sensors are for particular chemicals the bacteria may encounter in its environment, though there are also temperature and pressure sensors. Being a single cell, the bacteria doesn't have anything remotely like a brain. Instead, these hundreds of unique sensors are coupled via molecular interactions to only a few output states.
If we move a little up the evolutionary ladder we see a similar story. Work on simple roundworms with less than 1000 cells in their body indicates that fully 1/3 form part of the nervous system. But again, there's not brain - the vast majority of these cells are sensory. And each sensor cell in turn has a unique mix of dozens of molecular sensors.
Don't let me even get going about bugs, which current robots are often compared to...
So, if we believe that our robots currently emulate simple organisms, the "sensor heavy" approach may be the way to go. My own feeling is that the equivalent of "Moore's Law" for robots lies not in processing power per se, but in distributed sensory processing, which is directly related to sensor density. I would be interested in determining this, possibly by counting sensor number in robots over the years. Currently, many robots seem to be at the 50-sensor mark (e.g. Sony Aibo). What will happen with 1,000 sensors?
To this end, Team Robo Monster will explore using lots of sensors - in fact, we intend to make ourselves unique in this way among the GC. If plans work out (and sponsors) we will have several hundred sensors on the system (1000 is the dream goal). Most will be simple, comparable to those used in hobby robotics.
Will it work, or will the "optimized" or "barebones" approach be better? Time will tell - that's why they call it the Grand Challenge.
Looking through the DARPA Grand Challenge entries, I've noticed that there are several broad approaches to the concept of autonomous robotics with respect to sensors. Since I'm now part of team Robo Monster, it seems important to figure out just which approach will lead to a (car)Robot That Jumps.
1. "Optimized Engineer" - In this approach, sensors are kept to a minimum to minimize the chances for failure and to simplify decision-making by the robot. However the few sensors are very capable. An example would be a robot with a super 3D stereo camera with ultra-high resolution and little else. Clever programming would wring out every bit of useful information from the high-quality sensor.
2. "Barebones" - In this approach, sensors are kept to a minimum because the designer really thinks robots don't need good senses. Some teams are developing systems with a single camera running at 640 x 480. The reasoning here flows not from engineering, but from what people can do. After all, a person could probably drive a car looking at a 320 x 240 pixel display, so why not a robot? Again, clever programming makes up for lack of sensors.
3. "Sensor Heavy" - In this approach, the robot is given a large number of simple (and usually cheap) sensors. Instead of ultrasound on the front and back of a robot car, the "sensor heavy" designer puts a whole ring around the base of the vehicle. Multiple cameras may be used, usually at lower resolution than the "optimized engineer" approach. The "sensor heavy" approach lends itself to less centralized computation as well - if you have lots of identical sensors, it is practical to arrange your computing in a network of small computers rather than a few big ones.
My own background as a biologist at UCLA makes me prefer the "sensor heavy" approach. Some groups look at biological structures like the human eye and conclude that a few good sensors are best. However, this is somewhat misleading. The human eye is backed by a brain with millions the times of computing power as the best GC vehicle. It will be many years before we can match brains in silicon.
In fact, most robots today are actually less complex than a single free-swimming bacteria. In terms of effectors, a bacterial cell is roughly similar to a Roomba - it has forward, reverse, and random tumble. But its sensors blow even our most sophisticated robots away. A typical bacterial cell has several hundred different kinds sensor proteins on its surface. Most of these sensors are for particular chemicals the bacteria may encounter in its environment, though there are also temperature and pressure sensors. Being a single cell, the bacteria doesn't have anything remotely like a brain. Instead, these hundreds of unique sensors are coupled via molecular interactions to only a few output states.
If we move a little up the evolutionary ladder we see a similar story. Work on simple roundworms with less than 1000 cells in their body indicates that fully 1/3 form part of the nervous system. But again, there's not brain - the vast majority of these cells are sensory. And each sensor cell in turn has a unique mix of dozens of molecular sensors.
Don't let me even get going about bugs, which current robots are often compared to...
So, if we believe that our robots currently emulate simple organisms, the "sensor heavy" approach may be the way to go. My own feeling is that the equivalent of "Moore's Law" for robots lies not in processing power per se, but in distributed sensory processing, which is directly related to sensor density. I would be interested in determining this, possibly by counting sensor number in robots over the years. Currently, many robots seem to be at the 50-sensor mark (e.g. Sony Aibo). What will happen with 1,000 sensors?
To this end, Team Robo Monster will explore using lots of sensors - in fact, we intend to make ourselves unique in this way among the GC. If plans work out (and sponsors) we will have several hundred sensors on the system (1000 is the dream goal). Most will be simple, comparable to those used in hobby robotics.
Will it work, or will the "optimized" or "barebones" approach be better? Time will tell - that's why they call it the Grand Challenge.