Desde el punto de vista del software a desarrollar en este proyecto nos
hemos centrado en dos aspectos:
- Programación del microcontrolador que gestiona las
operaciones de bajo nivel y comunicaciones de la base de robot móvil
autónomo (RMA).
-
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.