Tuesday, March 08, 2005
Coming up for air...
I apologize for not updating recently. For the last 4 weeks I have been working like a madman on our DARPA Grand Challenge vehicle, Robo Monster (http://www.robomonster.com). We were working against a March 11th date - by which DARPA wanted a video showing the vehicle at least at the "drive-by-wire" stage, and a technical report detailing our plans for Robo Monster. As of today, both are complete, and on their way to DARPA. We've got a temporary rest, but if we get a site visit, things will be really hairy!
As I said in an earlier posting, doing a DARPA Grand Challenge entry has really forced me to put my money where my mouth is. Compared to my earlier ideas about "robots that jump" I have come to the following conclusions after having to do it for real:
1. We don't have good sensors. An animal, even a simple one like a slug, has millions of tactile, chemical, and other sensors on its skin. The typical animal is "sensor heavy" and brains-limited. We can't begin to achieve this using our current large, clumsy sensors. It's no wonder that "biological" robotic approaches have been limited - we barely have the tools. Our goal for Robo Monster is 200 sensors. This will give it the "sensation" comparable to a dust mite.
2. Computer tech is old. As I dove into microprocessor programming, I was struck by how much of this technology was around 25 years ago. Many of the chips used by hobby robots are decades old. The rise in PC CPU speeds has given an illusion of a whole industry advancing. But the typical BASIC stamp microcomputer still has only a few hundred - or a few dozen variable bytes, and a few thousand bytes for programs. They still run at the same speed and have the same tiny memories as years ago. Compared to my experience as a PC programmer, this appears constraining. In fact, I am working with a BasicX 01 processor specifically because they had a simple way of expanding program and variable memory to 64 or 128k.
3. A microprocessor-heavy strategy is the way to go - It is easy to get a high-performance PC, put in Labview and a couple of data acquisition card, and try to make a car-bot. But these top-heavy systems concentrate processing in a way that seems very un-biological to my background in biology. So many people are using this method that I am opting for the alternative in our DARPA entry.
4. Good programmers are hard to find - I have contacted lots of programmers about the GC, to no avail. Looking for a good embedded systems programmer. I suspect as more sponsorship money comes in and we can offer contract programming for a fee, we'll suddenly get lots of "volunteers."
I apologize for not updating recently. For the last 4 weeks I have been working like a madman on our DARPA Grand Challenge vehicle, Robo Monster (http://www.robomonster.com). We were working against a March 11th date - by which DARPA wanted a video showing the vehicle at least at the "drive-by-wire" stage, and a technical report detailing our plans for Robo Monster. As of today, both are complete, and on their way to DARPA. We've got a temporary rest, but if we get a site visit, things will be really hairy!
As I said in an earlier posting, doing a DARPA Grand Challenge entry has really forced me to put my money where my mouth is. Compared to my earlier ideas about "robots that jump" I have come to the following conclusions after having to do it for real:
1. We don't have good sensors. An animal, even a simple one like a slug, has millions of tactile, chemical, and other sensors on its skin. The typical animal is "sensor heavy" and brains-limited. We can't begin to achieve this using our current large, clumsy sensors. It's no wonder that "biological" robotic approaches have been limited - we barely have the tools. Our goal for Robo Monster is 200 sensors. This will give it the "sensation" comparable to a dust mite.
2. Computer tech is old. As I dove into microprocessor programming, I was struck by how much of this technology was around 25 years ago. Many of the chips used by hobby robots are decades old. The rise in PC CPU speeds has given an illusion of a whole industry advancing. But the typical BASIC stamp microcomputer still has only a few hundred - or a few dozen variable bytes, and a few thousand bytes for programs. They still run at the same speed and have the same tiny memories as years ago. Compared to my experience as a PC programmer, this appears constraining. In fact, I am working with a BasicX 01 processor specifically because they had a simple way of expanding program and variable memory to 64 or 128k.
3. A microprocessor-heavy strategy is the way to go - It is easy to get a high-performance PC, put in Labview and a couple of data acquisition card, and try to make a car-bot. But these top-heavy systems concentrate processing in a way that seems very un-biological to my background in biology. So many people are using this method that I am opting for the alternative in our DARPA entry.
4. Good programmers are hard to find - I have contacted lots of programmers about the GC, to no avail. Looking for a good embedded systems programmer. I suspect as more sponsorship money comes in and we can offer contract programming for a fee, we'll suddenly get lots of "volunteers."