A taskable machine is an application-specific robot designed to achieve only a narrow range of tasks within a restricted domain. The concept of a taskable machine is in direct contrast to that of a universal robot that possesses a wide range of capabilities. Since a taskable machine need not be functional in all possible environments and situations, the usual objectives of universal intelligence, massive computation, and powerful sensing can be deferred until necessary underlying technologies have matured. For robotics, the taskable machine concept is enabling: decades of effort toward universal robots have met with disappointment, while recent years have seen significant successes in application-specific robotic technology (particularly for defense , medicine [15,32] and household applications ).
Even though taskable machines are restricted in their application, their control is non-trivial. When a resource is constrained by its environment or its use (e.g., an agricultural pump or the Hubble space telescope), users seem to require little more than a scheduling interface. However, many scheduling problems are intractable, and the operation of remote hardware -- particularly for sensing -- entails challenging optimizations. When mobility and unstructured environments are involved (e.g., a rover on Mars or on the ocean floor), there are even more challenging issues of operator interface, resource allocation, real-time feedback, and semi-autonomy. Software that acts as an autonomous safety net might be required to maintain system integrity when the network imposes communication delays. ).