A detailed study was carried out on four systems available in the labs. MROS provides a non-preemptive architecture and communications across a dedicated serial link to a robot. A messaging service abstraction layer routes messages to the appropriate controller, hiding details from the programmer. Only non-preemptive multithreading is provided. The main controller can not be distributed and could be a bottleneck as additional components are added. Only Windows 3.1 and C++ are supported. The API is not clearly delineated.
The K-Team Khepera robot provides cross-compilation tools, plugin for systems such as Lab VIEW and Matlab, and a serial communication protocol. It enables any languages to be used for remote control, but lack debugging facilities. The lack of a defined software framework for remote application development limits code reuse.
The B21r has a substantial controller and networking support. Its extendable CORBA Mobility system provides for distributed applications, multiple robots and integration. Opportunity for reuse is provided by base framework classes. A CORBA naming service is used to manage distributed software components. A graphical tool helps debug applications. The programming interface is defined in language independent manner using open CORBA standards. The system is scalable, language and platform independent for applications using the existing framework, but extensions must be written in C++.
No comments:
Post a Comment