Software and Hardware integration in FIC project
When software is not hardware specific, integration becomes a non-trivial task. In FIC, software that provides computational intelligence is much more complex than simple algorithms, no matter how long these can be, and must be run not on the robot´s limited hardware resources, but on a much more powerful hardware that can provide an agile execution for a multithreaded high level object oriented computational intelligence implementation.
Two hardware modules, Robot and higher processing power computer, are physically connected by a novel application layer protocol designed by the FIC team. This is currently mounted on a Bluetooth link, and provides optimization for communications based on connections that are limited by hardware or at physical layer.
Hence, dissimilar platforms must be logically integrated, and physically linked. Also, this must not be done tying the design to a particular hardware implementation, or the particular networking technology that links the devices, but in a well designed fashion that allows an easier maintainability. This, in sum, permits relatively fast functional amendments, and also reduces bug insertion risk during maintenance, by providing low coupling between functional units.
In this way, a careful design defines on which device (i.e.: on which side of the network link) each class is located and instanced, according to processing power and operating memory requirements. This implementation-depending distribution does not affect system architecture, since the application layer module that joins hardware devices acts as a mediator that makes the physical link transparent to all modules.
Author:
Biedma, Nelson. Researcher @ FIC Project, [email].