To organize the robot controllers in an open manner and manage heterogeneous and concurrent accesses to hardware devices is a tough problem. This paper proposes the control middleware architecture to tackle this problem. In this architecture, the control middleware encapsulates all hardware operations and interacts with logical controllers in a client-server manner. All devices are mapped into data channels, and the middleware system acts as a data server providing read and write access function to client controllers. A wrapper method is adopted to organize heterogeneous hardware devices into few types of abstract devices, so that users can extend the system to support new types of physical devices easily. A communication interface is set up to enable command exchange between the middleware and the logical controllers either locally or remotely. The middleware defines a standard protocol that the logical controllers can perform manipulations to desired device regardless of their driving mechanism. On one hand, the control middleware can manage various types of peripheral devices, including the functions of extension, substitution, maintenance, scheduling and channel mapping. On the other hand, the control middleware can also provide uniform access software channels for high-level logical control layer, to enable access control of low-level device drivers.