Bienvenido: Ingresar
location: Diferencias para "ProyPID2010RoMAA/DesarrolloRoMAAII"
Diferencias entre las revisiones 8 y 85 (abarca 77 versiones)
Versión 8 con fecha 2010-09-07 00:17:49
Tamaño: 4380
Comentario:
Versión 85 con fecha 2011-04-21 20:29:24
Tamaño: 5163
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 1: Línea 1:
= Etapa final de desarrollo del robot RoMAA-II = #acl BecariosGrupo:read,write,revert All:read

= Desarrollo del robot RoMAA-II 2010 =
Línea 5: Línea 7:
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.
El desarrollo del robot móvil [[Robotica/RoMAARobot|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.
Línea 9: Línea 10:
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. 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.
Línea 14: Línea 15:
 * 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
 * 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.
Línea 20: Línea 21:
== Desarrollo ==

=== 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 basadas 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:
 * El montaje de la placa de procesamiento con uC ARM7 basada en el desarrollo realizado en [1]
 * Gabinete adecuado para contener tanto los drives de los motores y la placa del uC
 * 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

=== Firmware ===
El firmware del uC ARM7 para esta versión corresponde [1]. Las modificaciones necesarias son:
 * Cerrar la versión de las ciiiemblibs a utilizar y subirlas al servidor Mercurial
 * Modificar el firmware (con RTOS) para utilizar la última versión de las ciiiemblibs
 * Crear el proyecto en el servidor de Mercurial para el firmware del RoMAA-II
 * Manual final de los modos de funcionamiento y comandos del control embebido

=== Librería de programación ===
La librería para comunicarse con el control embebido del robot pertenece a las ciiilibs. Las tareas a realizaar son:
 * Terminar la programación de la clase de comunicación con el robot utilizando las librerías de de com. serie flexiport
 * Probar la clase para detectar posible errores de comunicación (sincronización) entre la PC de a bordo y el control embebido
 * Agregar la versión final de la clase a las ciiilibs en el servidor de Mercurial

=== Driver de Player ===
Driver plugin que utiliza la clase romaacomms compatible con la versión 3.0 de Player. Tareas:
 * 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
 * Suber el driver al repositorio Mercurial

=== 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.
Línea 52: Línea 23:
El robot RoMAA-II se componen de las siguientes partes El robot '''RoMAA-II''' se componen de las siguientes partes:
Línea 54: Línea 25:
------
Línea 55: Línea 27:
 * [[LabElectronica/LlaveH110|Drivers de potencia basadas en llaves H]]
 * [[LabElectronica/FreeRTOSLpc2114Web|Placa de control]]
 * Panel de control
 * [[LabElectronica/FreeRTOSLpc2114Web | Placa de control]]
 * [[Robotica/RoMAAII/PanelControl | Panel de control]]
 * [[Robotica/RoMAAII/Cableado | Cableado eléctrico]]
Línea 59: Línea 31:
------
Línea 60: Línea 33:
 * La versión de las ciiiemblibs utilizadas por el firmware del robot RoMAA-II son: ... y se pueden descargar de ...
 * La versión de firmware de control con RTOS esta en ....
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]]).
Línea 63: Línea 35:
==== 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.

------
Línea 64: Línea 45:
 * La clase de comunicación del RoMAA esta en las librerías ciiilibs correspondientes a la revisión ...
 * El driver del RoMAA para Player se encuentra en ....
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]]).
Línea 67: Línea 47:
==== 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/PlayerStageRoMAA/PlayerDriverRoMAA2 | 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/PlayerStageRoMAA/RoMAAStage2 | aqui]].
Línea 69: Línea 58:
 * [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]]  * [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]]

Desarrollo del robot RoMAA-II 2010

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.
  • 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


Firmware

Para la administración de versiones tanto de las librerías embebidas ciiiemblib como del firmware para el robot RoMAA-II se utiliza el sistema de control de versiones 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 ciiiemblibs con el comando hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/ciiiemblibs

Firmware de control con RTOS

El firmware correspondiente al RoMAA-II que utiliza el sistema operativo en tiempo real 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 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 Player se utiliza la herramienta 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 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 de la clase.

Driver del RoMAA para Player

El 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 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

None: ProyPID2010RoMAA/DesarrolloRoMAAII (última edición 2017-03-10 18:02:10 efectuada por GonzaloPerezPaina)