Killer App: does everything, including cost very little.
OS: Since $500 is your concern, design goal, go Linux, it is free after all. OS is irrevelant, beccause unless you want to write your own dardware drivers, there is too much in between you and the hardware. In this case, OS is irrevelent, since they will all be technically difficult.
Microcontrollers as basis for device: Depends on the device. A vision based robot, absolutely not. Not enough horsepower there. A basis for a motion control system, absolutely. I couls make the same arguement about microcomputers for embedded applications. A place for everything, and everything in its place.
PCI IO card: Well, this is difficult. Do you really want to task your main processor to do a servo loop for several motors at 2 to 4 kHz each? Add to that A/D and PWM, and quadrature feedback, but you still burden your main processor. Now, put a dedicated microcontroller or FPGA on there, and you have a product. Actually several companies do just that. They unburden the host PC so it is not responsable for latency sensitive operations like data gathering and motion control.
Vision, speech recognition etc: Speech recognition and vision require massive amounts of data. navigation not necessarily so. The point I am making is use the proper tool for the job. The thing to remember is that microcontrollers have a lot of functionality. You sited I2C as a potential communications link. I2c emulation is a bummer, I2C on any Philips chip is near trivial. Why not emulate CANbus in software, why not poll the printer pins at 40 mHz and read quadrature directly. An 80 mHz motorola DSP or a 60 mHz ARM can do an awful lot because they have a wide range of register based things like UART, SPI, A/D, timers, etc.
From what you are saying, it sound like you are trying to build a really BIG BASIC Stamp. Yes a BSII is simple to use, every pin is like a swiss knife. The problem is, like a swiss army knife, nearly every tool has a better stronger analog out there. To carry this analogy further, you can only use one swiss army knife at a time.
Do you really want to start running interrups to poll an I2C bus on the printer port for instance?
$500 is an admirable goal, but I think it is difficult to achieve. Look at whitebox robotics. Made in China, PC based, really cool, evolution robotics software, simple, but $1500 is a closer for something like that.
A friend built a PC based bot with vision as its core, he went cheap, and is in it for well near 1K. Problem is, that is a rolling platform and vision. sure it speaks via win 2K's cool features, sure it has voice recognition, but he still had to use a real motor control for decent performance over varied terrain, and he still has to add sensing etc.
I think for $500, you may be able to make a thing that rolls around under PC control, but that is not a robot.
bottom