Etapa final de desarrollo del robot RoMAA-II
Tabla de Contenidos
Introducción
El desarrollo del robot móvil RoMAA se llevo a cabo en diferentes etapas en las cuales fueron evolucionando las distintas partes que componen el proyecto. Las que pueden ser divididas principalmente entre la parte mecánica, el hardware y el software, tanto el firmware del control embebido como el de la PC de a bordo.
Objetivos generales
La etapa final del desarrollo del robot RoMAA-II tiene como objetivos obtener una versión congelada de las diferentes partes que formar el robot RoMAA para disponer de una versión operativa completa para transferencia y como plataforma de experimentación en robótica móvil. Además, de generar la documentación y el manual de usuario correspondiente.
Objetivos particulares
Los objetivos particulares corresponden a obtener las versiones finales de:
- El hardware del control embebido de abordo del robot RoMAA.
- El firmware del control embebido.
- Librería de programación en C++ (clase) para la comunicación con el robot.
- Driver para el entorno de desarrollo de robotica Player.
- Modelo de simulación para el simulador Stage, con diferentes sensores a bordo.
Desarrollo
La sección desarrollo se borrará una vez finalizadas las tareas
Hardware de control embebido
El hardware de control embebido consta de la electrónica para controlar los motores de tracción y comunicación con la PC de a bordo. Incluye drivers de potencia basados en llave H y la unidad de proceso basada en un microcontrolador ARM7.
Los desarrollos necesarios para obtener la versión final correspondiente al RoMAA-II son:
Tareas |
Responsable |
Estado |
Plazo |
El montaje de la placa de procesamiento con uC ARM7 basada en el desarrollo realizado en [1], con las modificaciones necesarias para el funcionamiento de los motores con 12V. |
Daniel Marchetti y Santiago Pérez |
Finalizado
|
3 sem. (08/10/10) |
Gabinete adecuado para contener tanto los drives de los motores y la placa del uC. |
Daniel Marchetti y Lucas Martini |
Finalizado
|
3 sem. (08/10/10) |
Panel de control que se conecta a la placa del uC y dispone de las conexiones e indicadores necesarios para la operación del robot. Además, de parada de emergencia de fácil accionamiento. |
Daniel Marchetti y Lucas Martini |
Finalizado
|
3 sem. (08/10/10) |
Cargador de Baterías conmutado (12V/3-4A) |
Daniel Marchetti y Néstor Palomeque |
Finalizado
|
1 sem. (29/10/10) |
Firmware
El firmware del uC ARM7 para esta versión corresponde [1]. Las modificaciones necesarias son:
Tareas |
Responsable |
Estado |
Plazo |
Cerrar la versión de las ciiiemblibs a utilizar y subirlas al servidor Mercurial. |
Néstor Palomeque |
Finalizado
|
- |
Modificar el firmware (con RTOS) para utilizar la última versión de las ciiiemblibs. |
Santiago Pérez |
Activo
|
4 sem. (29/10/10) |
Corregir el bug que impide forzar a los motores (por ejemplo funcionamiento sobre alfombra). |
Néstor Palomeque y David Gaydou. |
Finalizado
|
1 sem. (29/10/10) |
Crear el proyecto en el servidor de Mercurial para el firmware del RoMAA-II. |
Santiago Pérez |
Pasivo |
1 día. (15/10/10) |
Manual final de los modos de funcionamiento y comandos del control embebido. |
Lucas Martini y Santiago Pérez. |
Finalizado
|
1 sem. (29/10/10) |
Librería de programación
La librería para comunicarse con el control embebido del robot pertenece a las ciiilibs. Tareas a realizar son:
Tareas |
Responsable |
Estado |
Plazo |
Terminar la programación de la clase de comunicación con el robot utilizando las librerías de com. serie flexiport. |
Lucas Martini y Néstor Palomeque |
Finalizado
|
1 sem. (27/09/10) |
Probar la clase para detectar posible errores de comunicación (sincronización) entre la PC de a bordo y el control embebido. |
Néstor Palomeque |
Finalizado
|
1 sem. (01/10/10) |
Agregar la versión final de la clase a las ciiilibs en el servidor de Mercurial. |
Gonzalo Perez Paina |
Finalizado
|
1 día |
Driver de Player
Driver plugin que utiliza la clase romaacomms compatible con la versión 3.0 de Player. Tareas a realizar:
Tareas |
Responsable |
Estado |
Plazo |
Programación del nuevo driver que permita manejar el robot RoMAA con Player tanto con comandos de velocidad lineal y angular como de velocidad de cada rueda. |
Gonzalo Pérez Paina |
Activo
|
4 sem. (29/10/10) |
Subir el driver al repositorio Mercurial. |
Gonzalo Pérez Paina |
Pasivo |
1 día. (08/10/10) |
Modelo para el simulador Stage
Modelo para el simulador Stage compatible con la versión 3.2, con la posibilidad de agregarle sensores como un anillo de sonares o escáner láser.
Tareas |
Responsable |
Estado |
Plazo |
Modelo para el Simulador Stage compatible con la versión 3.2 |
Gonzalo Pérez Paina |
Finalizado
|
1 sem. (24/09/10) |
Documentación
El robot RoMAA-II se componen de las siguientes partes:
Nota
En esta sección deben estar los links directos para descargar los esquemáticos, PCB, librerías, software, etc. Además, puede estar el link a la página de desarrollo con mayor explicación. Pero todo debería ser descargado de aquí.
Hardware
Firmware
ciiiemblibs
La versión de las ciiiemblibs utilizadas por el firmware del robot RoMAA-II corresponde a la revisión 0. Y se pueden descargar de ciiiemblibs con el comando hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/ciiiemblibs
Firmware de control con RTOS
Software PC
Clase de comunicación
Para la comunicación con el controlador embebido del robot RoMAA se utiliza una clase de C++ incluida en las librerías ciiilibs correspondientes a la revisión 74. Se puede descargar del servidor con hg clone -r 74 https://proyectos.ciii.frc.utn.edu.ar/hg/ciiilibs. Esta clase utiliza la librería flexiport del proyecto GearBox, que deben estar instaladas para la compilación.
Driver del RoMAA para Player
El driver de Player utilizado corresponde a la revisión 3. Utilizando mercurial y se descarga mediante el comando hg clone -r 3 https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_player_driver_v2.0. El código fuente del driver incluye el archivo de configuración romaa.inc para el robot RoMAA y otro romaajoy.cfg que utiliza el driver del joystick para comandar el robot. Se puede ver una descripción de la programación del driver y el archivo de configuración aqui.
Modelo de simulación para Stage
El modelo de simulación del robot RoMAA con sensores de ultrasonido es romaa.inc. Se puede ver una descripción breve de la generación del modelo y archivos de ejemplo aqui.
Referencias
[1].- "Hardware de Control de Plataforma Robótica Móvil con Arquitectura ARM7 y RTOS embebido. Caracterización". Tesis de grado para obtener el título de Ing. en electrónica de Santiago Pérez y Martín Baudino. Ir