= Etapa final de desarrollo del robot RoMAA-II = <> == Introducción == El desarrollo del robot móvil [[Robotica/RoMAA|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. * 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. == Documentación == El robot '''RoMAA-II''' se componen de las siguientes partes: ------ === Hardware === * [[LabElectronica/LlaveH110|Drivers de potencia basadas en llaves H]] * [[LabElectronica/FreeRTOSLpc2114Web|Placa de control]] * [[LabElectronica/PanelInterruptores100|Panel de control]] * [[LabElectronica/CableadoElectrico|Cableado eléctrico]] * [[LabElectronica/ConjuntoMecanico|Conjunto mecánico]] ------ === Firmware === Para la administración de versiones tanto de las librerías embebidas [[http://proyectos.ciii.frc.utn.edu.ar/ciiiemblibs|ciiiemblib]] como del firmware para el robot '''RoMAA-II''' se utiliza el sistema de control de versiones [[http://mercurial.selenic.com/|mercurial]] ([[http://es.wikipedia.org/wiki/Mercurial|wikipedia]]). ==== 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 [[http://proyectos.ciii.frc.utn.edu.ar/ciiiemblibs|ciiiemblibs]] con el comando {{{hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/ciiiemblibs}}} ==== Firmware de control con RTOS ==== El [[http://proyectos.ciii.frc.utn.edu.ar/romaa_freertos/|firmware]] correspondiente al '''RoMAA-II''' que utiliza el sistema operativo en tiempo real [[http://www.freertos.org/|FreeRTOS]] corresponde a la `revisión 0`. Y se puede descargar mediante el comando {{{hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_freertos}}}. También se puede [[attachment:romaa_freertos.hex|descargar]] directamente el archivo `.hex` para grabar el microcontrolador. '''Nota''': Temporalmente la versión actual del firmware incluye las librerías `ciiiemblibs` por lo que no se necesitan instalar de forma separada. ------ === Software PC === Para construir el proyecto tanto de las librerías que incluyen la clase de comunicación con el controlador embebido del robot '''RoMAA''', como del driver para [[http://playerstage.sourceforge.net/|Player]] se utiliza la herramienta [[http://www.cmake.org/|cmake]] ([[http://es.wikipedia.org/wiki/CMake|wikipedia]]). ==== 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 [[http://proyectos.ciii.frc.utn.edu.ar/ciiilibs/|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 [[http://gearbox.sourceforge.net/group__gbx__library__flexiport.html|flexiport]] del proyecto [[http://gearbox.sourceforge.net/index.html|GearBox]], que deben estar instaladas para la compilación de la clase. ==== Driver del RoMAA para Player ==== El [[http://proyectos.ciii.frc.utn.edu.ar/romaa_player_driver_v2.0/|driver de Player]] utilizado corresponde a la revisión `5`. Se descarga mediante el comando {{{hg clone -r 5 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 [[attachment:romaa.inc]] para el robot '''RoMAA''' y otro [[attachment: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 [[Robotica/PlayerDriverRoMAA200Web|aqui]]. ==== Modelo de simulación para Stage ==== El modelo de simulación del robot '''RoMAA''' con sensores de ultrasonido es [[attachment:Robotica/StageRoMAA200Web/romaa.inc|romaa.inc]]. Se puede ver una descripción breve de la generación del modelo y archivos de ejemplo [[Robotica/StageRoMAA200Web|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. [[LabElectronica/FreeRTOSLpc2114Web|Ir]]