Proteus is a low-cost, modular robot developed by the University of Texas at Austin. The Proteus design focuses on componentization and reuse of commercial-off-the-shelf equipment to maximize both robustness and extensibility. Each robot is inexpensive, easy to manufacture, and simple to work with.
To reduce the coupling between components in Proteus nodes, well established APIs are used whenever possible. For example, the popular Player/Stage API allows movement defnition (e.g., drive forward) to be fully dierentiated from the hardware implementing the behavior (e.g., the Segway).
Physical mobility is provided through one of three options: iRobot Create, Segway RMP50, or customized Traxxas Stampede. The Create is a low cost, low speed, dierentially steered robot with a simple serial control interface. The RMP50 is based on Segway's popular self-balancing products and is controllable over a CAM bus or USB port. It is more expensive than the Create but oers higher speeds, higher payload capacity, and long-range outdoor use. The third mobility option is a customized Traxxas Stampede. The Stampede is a high-performance remote controlled car with Ackerman steering and 4-wheel-independent suspension. Each platform provides its own power to reduce dependencies and interference with the node's other components. While the Traxxas is not a COTS component, the low cost, light weight, outdoor compatibility, and range of speeds makes it a desirable option for experimenters. The Traxxas mobility platform is controlled by the on-board microcontroller described in the next section. Details on the hardware, assembly, and software are all available to external groups wishing to reproduce them.
Proteus currently supports various range-finding sensors, digital compass, GPS, and cameras. Most of the sensors are specicly supported by third-party drivers for the Player API. The remaining sensors have matching interfaces in the Player API and only require us to implement a device-specic drivers. These drivers typically reside on the microcontroller and are exposed to the x86 through the existing serial connection. The sensed data can then be used not only to influence the node's mobility but also in applications running on the x86 computer.