Believe it or not... It is fairly trivial to consume _all_ computational resources on the robot. A few examples of concurrently running tasks: AMCL SLAM (mapping); assembling incoming laser scans and transforming them to various frames; multiple occupancy grids (obstacle detection / planning) at various resolutions; 3D point-cloud perception for object recognition, person tracking, or 3D mapping; motion-planning controllers for mobility (base) or manipulation (arms) running at 100+ Hz; computer vision algorithms; the list goes on...
It is possible to offload some of these tasks (especially high-level planning or recognition tasks) to people via MechTurk or the cloud (see "Cloud Robotics"). However, there will always be some computation that needs to occur with real-time constraints -- which likely means on-robot.
The _big deal_ in the last 2 years is ROS. ROS has changed everything, and is causing robotics to accelerate! Now, if you need one of those previously mentioned tools... they're open source, well documented, and ready to use.
Robots need a lot more computing power than a desktop PC, maybe even more than a current supercomputer, because the computer off-loads the hard parts of interacting with the world to people. In a sense, you could consider programmers and users robot peripherals that let less powerful computers get more done.
Comments
Disclaimer: I work on the PR2 day-to-day.
Believe it or not... It is fairly trivial to consume _all_ computational resources on the robot. A few examples of concurrently running tasks: AMCL SLAM (mapping); assembling incoming laser scans and transforming them to various frames; multiple occupancy grids (obstacle detection / planning) at various resolutions; 3D point-cloud perception for object recognition, person tracking, or 3D mapping; motion-planning controllers for mobility (base) or manipulation (arms) running at 100+ Hz; computer vision algorithms; the list goes on...
It is possible to offload some of these tasks (especially high-level planning or recognition tasks) to people via MechTurk or the cloud (see "Cloud Robotics"). However, there will always be some computation that needs to occur with real-time constraints -- which likely means on-robot.
The _big deal_ in the last 2 years is ROS. ROS has changed everything, and is causing robotics to accelerate! Now, if you need one of those previously mentioned tools... they're open source, well documented, and ready to use.
Robots need a lot more computing power than a desktop PC, maybe even more than a current supercomputer, because the computer off-loads the hard parts of interacting with the world to people. In a sense, you could consider programmers and users robot peripherals that let less powerful computers get more done.