Bienvenido: Ingresar
location: Diferencias para "ProyPID2010RoMAA/DesarrolloRoMAAII"
Diferencias entre las revisiones 68 y 106 (abarca 38 versiones)
Versión 68 con fecha 2010-11-09 16:37:48
Tamaño: 8385
Comentario:
Versión 106 con fecha 2012-04-18 14:25:59
Tamaño: 4298
Comentario: Organización información de la wiki
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 = ## page was renamed from Robotica/RoMAAII
#acl BecariosGrupo:read,write,revert All:read

= Estado actual en el desarrollo del RoMAA-II =

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.

Esta página contiene información del estado actual (última versión) de las distintas partes que conforman el robot móvil RoMAA-II.
Línea 4: Línea 12:
== 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.
== Hardware ==
 * [[LabElectronica/RoMAAControllerII | Controlador embebido]]: Incluye drivers de potencia para los motores y placa con microcontrolador.
 * [[Robotica/RoMAAII/PanelControl | Panel de control]]: Parada de emergencia, indicadores luminosos, y pulsadores.
 * [[Robotica/RoMAAII/Cableado | Cableado eléctrico]]: cableado de la batería, rele, llave de emergencia, etc.
Línea 7: Línea 17:
== 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.
== Firmware ==
La última versión del firmware del robot móvil RoMAA-II, como compilarlo y grabar el microcontrolador se encuentra en [[LabElectronica/RoMAAFirmware20 | Firmware del controlador embebido del robot móvil RoMAA-II]].
Línea 10: Línea 20:
== Objetivos particulares ==
Los objetivos particulares corresponden a obtener las versiones finales de:
== Software PC ==
Para la administración de versiones se utiliza el sistema de control de versiones [[http://mercurial.selenic.com/|mercurial]] ([[http://es.wikipedia.org/wiki/Mercurial|wikipedia]]).
Línea 13: Línea 23:
 * 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.
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 19: Línea 25:
== Desarrollo ==
<<Color2(red,La sección desarrollo se borrará una vez finalizadas las tareas)>>
La librería de comunicación (clase C++), el driver de Player, y diferentes aplicaciones de utilidad se encuentra en [[http://proyectos.ciii.frc.utn.edu.ar/romaa_utils | romaa_utils ]]. Y se puede descargar del servidor con:
Línea 22: Línea 27:
=== 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.
{{{hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_utils}}}
Línea 25: Línea 29:
Los desarrollos necesarios para obtener la versión final correspondiente al RoMAA-II son:
||<tablewidth="941px">''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 ||<<Color2(green,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 ||<<Color2(green,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 ||<<Color2(green,Finalizado)>> ||3 sem. (08/10/10) ||
||Cargador de Baterías conmutado (12V/3-4A) ||Daniel Marchetti y Néstor Palomeque ||<<Color2(green,Finalizado)>> ||1 sem. (29/10/10) ||
=== Aplicaciones ===
Dentro del proyecto [[http://proyectos.ciii.frc.utn.edu.ar/romaa_utils | romaa_utils ]] se encuentran varia aplicaciones útiles para prueba y utilización del robot; las cuales son:
Línea 32: Línea 32:
'''RoMAA Test''' <<BR>>
Para realizar un test del RoMAA que permita determinar un funcionamiento del robot, existen dos aplicaciones de prueba, una en versión consola y otra con interfaz gráfica de usuario (GUI).
Línea 33: Línea 35:
=== Firmware ===
El firmware del uC ARM7 para esta versión corresponde [1]. Las modificaciones necesarias son:
||<tablewidth="941px">''Tareas'' ||''Responsable'' ||''Estado'' ||Plazo ||
||Cerrar la versión de las ciiiemblibs a utilizar y subirlas al servidor Mercurial. ||Néstor Palomeque ||<<Color2(green,Finalizado)>> ||- ||
||Modificar el firmware (con RTOS) para utilizar la última versión de las ciiiemblibs. ||Santiago Pérez ||<<Color2(red,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. ||<<Color2(green,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. ||<<Color2(green,Finalizado)>> ||1 sem. (29/10/10) ||
'''RoMAA UMBMark Test''' <<BR>>
Esta aplicación permite ejecutar los experimentos para calibrar los parámetros cinemáticos (de odometría) del robot.
Línea 42: Línea 38:
=== 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 43: Línea 41:
=== Librería de programación ===
La librería para comunicarse con el control embebido del robot pertenece a las ciiilibs. Tareas a realizar son:
||<tablewidth="941px">''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 ||<<Color2(green,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 ||<<Color2(green,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 ||<<Color2(green,Finalizado)>> ||1 día ||
== Mecánica ==
=== Placas metálicas ===
El material utilizado en las placas metálicas es Al 1050 de 5mm.
 * [[attachment:PlacasRomaaII.zip | Plano placas metálicas]]
En pdf
 * [[attachment:placa_base.pdf | Placa Base]]
 * [[attachment:placa_sup_trasera.pdf | Placa Superior Trasera]]
 * [[attachment:placa_sup_delantera.pdf | Placa Superior Delantera]]
 * [[attachment:placa_rueda_conducida.pdf | Placa Rueda Conducida]]
Los planos de la placa inferior y las dos superiores ya las tienen en su sistema la empresa MMetal, que las corta y punzona, pero no tienen la placa de soporte de la rueda conducida. Para que la corten hay que mandarles el plano con tiempo.
Línea 50: Línea 52:
=== Barras ===
Material
 * Perfil redondo de 15.88mm de diámetro en Al 6061 T6 y 1000mm de long.
 * Perfil rectangular de 15x50mm en Al 5052 TF, 160mm de long. (2 unidades) (Ojo, las actuales se pidieron mal, de 15x55 y como la barra viene de 15x50 las cortaron de una chapa, luego en el maquinado hubo que quitar el resto).
 * Perfil rectangular de 15x50mm en Al 5052 TF, 355mm de long.
Línea 51: Línea 58:
=== Driver de Player ===
Driver plugin que utiliza la clase romaacomms compatible con la versión 3.0 de Player. Tareas a realizar:
||<tablewidth="941px">''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 ||<<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) ||
=== Planos de mecanizado ===
 * [[attachment:planos_20120330.tar.bz2| Planos ]]
Línea 57: Línea 61:

=== 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.
||<tablewidth="941px">''Tareas'' ||''Responsable'' ||''Estado'' ||Plazo ||
||Modelo para el Simulador Stage compatible con la versión 3.2 ||Gonzalo Pérez Paina ||<<Color2(green,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 ===
 * [[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 ===
==== 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 ====
------
=== 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 [[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.

==== 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 `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.
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]]
=== Varios ===
 [[ ProyPID2010RoMAA/tareasRoMAA2011/Componentes |Ver ]] detalle de los componentes extras y proveedores.

Estado actual en el desarrollo del RoMAA-II

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.

Esta página contiene información del estado actual (última versión) de las distintas partes que conforman el robot móvil RoMAA-II.

Hardware

Firmware

La última versión del firmware del robot móvil RoMAA-II, como compilarlo y grabar el microcontrolador se encuentra en Firmware del controlador embebido del robot móvil RoMAA-II.

Software PC

Para la administración de versiones se utiliza el sistema de control de versiones mercurial (wikipedia).

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

La librería de comunicación (clase C++), el driver de Player, y diferentes aplicaciones de utilidad se encuentra en romaa_utils. Y se puede descargar del servidor con:

hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_utils

Aplicaciones

Dentro del proyecto romaa_utils se encuentran varia aplicaciones útiles para prueba y utilización del robot; las cuales son:

RoMAA Test
Para realizar un test del RoMAA que permita determinar un funcionamiento del robot, existen dos aplicaciones de prueba, una en versión consola y otra con interfaz gráfica de usuario (GUI).

RoMAA UMBMark Test
Esta aplicación permite ejecutar los experimentos para calibrar los parámetros cinemáticos (de odometría) del robot.

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.

Mecánica

Placas metálicas

El material utilizado en las placas metálicas es Al 1050 de 5mm.

En pdf

Los planos de la placa inferior y las dos superiores ya las tienen en su sistema la empresa MMetal, que las corta y punzona, pero no tienen la placa de soporte de la rueda conducida. Para que la corten hay que mandarles el plano con tiempo.

Barras

Material

  • Perfil redondo de 15.88mm de diámetro en Al 6061 T6 y 1000mm de long.
  • Perfil rectangular de 15x50mm en Al 5052 TF, 160mm de long. (2 unidades) (Ojo, las actuales se pidieron mal, de 15x55 y como la barra viene de 15x50 las cortaron de una chapa, luego en el maquinado hubo que quitar el resto).
  • Perfil rectangular de 15x50mm en Al 5052 TF, 355mm de long.

Planos de mecanizado

Varios

  • Ver detalle de los componentes extras y proveedores.

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