Bienvenido: Ingresar
location: Diferencias para "ProyPID2010RoMAA/DesarrolloRoMAAII"
Diferencias entre las revisiones 63 y 71 (abarca 8 versiones)
Versión 63 con fecha 2010-11-09 16:32:48
Tamaño: 12446
Comentario:
Versión 71 con fecha 2010-11-09 19:06:11
Tamaño: 9109
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 8: Línea 8:
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 13: Línea 13:
 * El hardware del control embebido de abordo del robot RoMAA.  * El hardware del control embebido de abordo del robot.
Línea 25: Línea 25:
Los desarrollos necesarios para obtener la versión final correspondiente al RoMAA-II son: Los desarrollos necesarios para obtener la versión final correspondiente al '''RoMAA-II''' son:
Línea 30: Línea 30:
||Cargador de Baterías conmutado (12V/3-4A) ||Daniel Marchetti y Néstor Palomeque ||<<Color2(red,Activo)>> ||1 sem. (29/10/10) || ||Cargador de Baterías conmutado (12V/3-4A) ||Daniel Marchetti y Néstor Palomeque ||<<Color2(green,Finalizado)>> ||1 sem. (29/10/10) ||
Línea 32: Línea 32:



==== Notas ====
20/09/2010

 * Se ha montado todo lo referido al funcionamiento del LPC2114. Solo falta el regulador de 3.3V y el conversor USB-RS232 por falta de stock, para poder probar el funcionamiento del microcontrolador. ('''Daniel Marchetti y Santiago Pérez''')<<BR>>Se debe definir la adquisición de dichos componentes en esta semana. ('''Santiago Pérez''')<<BR>>Se intentará finalizar con el armado de la placa en esta semana, si se poseen todos los componentes. ('''Daniel Marchetti''')
 * Se están probando las nuevas llaves H y definiendo en esta semana los conectores que se usarán con los motores, como así también el gabinete y el montaje que se realizará. Se intentará finalizarlo esta semana. ('''Lucas Martini''')

25/09/2010

 * Se termino de soldar todo lo referente al funcionamiento del microcontrolador y se probó su correcto funcionamiento. Ya tiene FreeRTOS embebido funcionando.<<BR>>No se consiguió aún el CP2102 (el funcionamiento se probó con un MAX232). En teoría la semana que viene "deberían" llegar. Esta semana se consultará nuevamente a Electrocomponentes para saber de su procedencia. ('''Santiago Pérez''')
 * Se terminaron de probar las llaves H y ya se montaron en la placa madre vieja para ser usadas a modo de prueba durante un tiempo. ('''Lucas Martini''')<<BR>>Se consiguieron los conectores aéreos para la conexión llaves H con motores. Se están montando. ('''Lucas Martini''')
 * Se comenzó con el diseño del panel de control externo. ('''Lucas Martini''')

04/10/2010

 * Se finalizó con el montaje y prueba del panel de control, incluyendo el conjunto parada de emergencia/encendido/relé, leds de debug y conexionado a la placa de control. ('''Todos''').
 * Al PCB de la placa de controlsolo falta soldarle el converosr CP2102 (en espera de respuesta de [[http://www.controlcomp.com/home.htm|SparkFun]] Córdoba) y sus componentes asociados, resoldar los reguladores, sellar la bobina y limpiar la placa. ('''Daniel Marchetti y Santiago Pérez''')
 * El gabinete de control aún no está listo. Falta comprar los separadores ajustables para poder montarlo con las distancias adecuadas y realizar las perforaciones necesarias para los leds de las llaves H, encoders, etc. ('''Lucas Martini y Daniel Marchetti''')

08/10/10

 * Ya se consiguieron los CP2102. Se compraro tres unidades que serán recibidas el martes. Se procederá a su soldadura y prueba.

 * Detalles de montaje faltantes:
  * pegar la goma delos bordes
  * pegar el velcro del panel de control externo
  * pegar el velcro del gabinete de control
Línea 68: Línea 39:
||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. ||<<Color2(red,Activo)>> ||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. ||<<Color2(green,Finalizado)>> ||1 sem. (29/10/10) ||
Línea 71: Línea 42:



==== Notas ====
20/09/2010

 * Se comenzará con el agregado de las nuevas {{{ciiiemblibs}}} al control del RoMAA-II. ('''Santiago Pérez''')
 * Se trabajará con la optimización del funcionamiento del FreeRTOS, tanto en su "limpieza" y ordenamiento de código, como así también con la utilización de los recursos del RTOS. ('''Santiago Pérez''')

08/10/10

 * Ya se modificó el RTOS con las librerías nuevas pero aun no se ha podido probar por el montaje del carro.
 * Se deben hacer algunas modificaciones simples de limpieza y reordenamiento una vez que se haya probado el correcto funcionamiento de las librerías. Se extiende el plazo al viernes 15/10/10.
 * Se comenzó con la correción del bug en el RoMAA-II. Ya se están realizando pruebas en el nuevo hardware.
 * Se da comienzo a la creación del manual del RoMAA-II.
Línea 95: Línea 51:


==== Notas ====
27/09/2010

 * Se finalizó la corrección de la clase de comunicación utilizando las librerías {{{flexiport}}}, con el agregado de delays para el correcto funcionamiento de la recepción por RS232. ('''Néstor Palomeque''')
 * Se está probando la comunicación con el control embebido para detectar posibles errores. ('''Néstor Palomeque''')
Línea 106: Línea 54:
||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 ||<<Color2(red,Activo)>> ||4 sem. (29/10/10) ||
||Subir el driver al repositorio Mercurial. ||Gonzalo Pérez Paina ||Pasivo ||1 día. (08/10/10) ||

||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 ||<<Color2(green,Finalizado)>> ||4 sem. (29/10/10) ||
||Subir el driver al repositorio Mercurial. ||Gonzalo Pérez Paina ||<<Color2(green,Finalizado) ||1 día. (08/10/10) ||
Línea 118: Línea 64:

Línea 121: Línea 65:
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í.
El robot '''RoMAA-II''' se componen de las siguientes partes:
Línea 135: Línea 76:
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 136: Línea 79:
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}}} 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}}}
Línea 139: Línea 82:
El 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 de... . También se puede [[|descargar]] directamente el archivo `.hex` para grabar el microcontrolador.
Línea 141: Línea 86:
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 142: Línea 89:
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. 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.
Línea 145: Línea 92:
El [[http://proyectos.ciii.frc.utn.edu.ar/romaa_player_driver_v2.0/|driver de Player]] utilizado corresponde a la revisión `3`. Utilizando [[http://mercurial.selenic.com/|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 [[attachment:romaa.inc]] para el robot RoMAA y otro [[attachment:romaajoy.cfg]] que utiliza el driver del joystick para comandar el robot. 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.
Línea 149: Línea 96:
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]].

------
=== Conjunto Mecánico ===
 * Deberíamos poner también los planos constructivos, los materiales de las placas, datos de los conjuntos motorreductores, etc. Estaría bueno tener los indicados los costos.
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]].

Etapa final de desarrollo del robot RoMAA-II

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.

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

Finalizado

4 sem. (29/10/10)

Subir el driver al repositorio Mercurial.

Gonzalo Pérez Paina

<<Color2(green,Finalizado)

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:


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 de... . También se puede [[|descargar]] directamente el archivo .hex para grabar el microcontrolador.


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)