» Optimus PFC » Arquitectura software (SW)

04 de Mayo de 2004

Arquitectura software (SW)

Desde el punto de vista del software a desarrollar en este proyecto nos hemos centrado en dos aspectos:
  1. Programación del microcontrolador que gestiona las operaciones de bajo nivel y comunicaciones de la base de robot móvil autónomo (RMA).
  2. Proporcionar una Interfaz de Programación de Aplicaciones (API) que permita al desarrollador de las aplicaciones del robot móvil desentenderse de los detalles de implementación de la base de RMA.
Para la programación del microcontrolador se ha empleado el lenguaje C y el compilador de C para PIC's, CCS C Compiler. Se ha realizado una primera aproximación al hardware que permita proporcionar una cierta independencia del mismo, con la intención de que los algoritmos de control de bajo nivel (odometría, velocidad, ...) sean independientes del hardware. De este modo, la migración a un microcontrolador de otra serie o de otro fabricante se realiza con facilidad.

En cuanto a la API: ésta se ha realizado en lenguaje C y está pensada para funcionar en una plataforma GNU/Linux. Concretamente ha sido probada con éxito en las plataformas Debian GNU/Linux y RedHat (ambas con kernels 2.4). A diferencia de la programación del microcontrolador, la API todavía está en fase de desarrollo y presenta algunos errores en la gestión de comunicaciones via puerto serie.

En la figura 01 se puede observar la situación, en el esquema general de un RMA, del software que se ha desarrollado: por un lado se ha desarrollado todo el software de control y comunicaciones residente en la placa de "control y comunicaciones" (ver "Arquitectura HW") y por otro, se ha creado una pequeña API sobre el sistema operativo Linux (instalado en un portátil o placa de PC tipo PC/104) para facilitar al usuario final la programación de aplicaciones (control de alto nivel) para el robot móvil autónomo.

En la sección "Código fuente" está disponible para su descarga la última versión del código fuente de la API y del software de control y comunicaciones.
Fig. 01: Arquitectura software   (eps)  (xfig)

Arquitectura software
© 2004 optimus.meleeisland.net