Bienvenido: Ingresar
location: Diferencias para "Robotica/RoMAARobotDev"
Diferencias entre las revisiones 50 y 52 (abarca 2 versiones)
Versión 50 con fecha 2011-07-13 04:31:43
Tamaño: 6982
Comentario:
Versión 52 con fecha 2011-07-13 04:50:03
Tamaño: 8659
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 6: Línea 6:

{{attachment:Robotica/FotosRobotica1/romaaii12.jpg}}
Línea 54: Línea 56:
El robot móvil RoMAA-II pretende mejorar las características tanto constructivas como de prestaciones del robot RoMAA, arriba descripto. Algunas de las modificaciones '''mecánicas''' son
 * Reemplazo del motorreductor por un conjunto motor/caja reductora separados. La caja es de tipo sinfin, y soporta una fuerza radial en el eje suficiente para el peso del robot.
 * Debido al tipo de caja reductora se reemplazo el motor por uno de menor revoluciones (rpm), además de ser de fabricación local.
 * Este nuevo sistema de tracción permite acoplar directamente el encoder al eje del motor, por lo que se tuvo que utilizar uno de mayor cantidad de pulsos por revolución.

El nuevo motor utilizado y la electrónica se alimentan en esta versión por 12V, disponibles de una única batería con lo que se reduce el peso y el costo final del robot.

La plaqueta de ciruito impreso del '''controlador embebido''' fue rediseñada completamente, incluyendo conectores a los encoders, un conector a un panel de control y un controlador para comunicación USB.

El '''firmware''' del RoMAA-II opera completamente en punto flotante, realizando internamente el cálculo de la odometría, junto con los lazos de control PID tanto para controlar la velocidad de cada uno de los motores, como un lazo extra de acomplamiento cruzado para el control del robot mediante velocidad lineal y angular.

El '''software''' de la PC de a bordo consta de una clase de comunicación, similar a la versión anterior, pero adecuado al nuevo controlador; junto con el driver de entorno de desarrollo de robótica Player (v3.0).

Robot Móvil de Arquitectura Abierta - RoMAA

[ANEXAR]

Descripción general

La construcción del robot RoMAA surge como respuesta a la necesidad de disponer de una plataforma sobre la cual ensayar y validar las investigaciones llevadas a cabo en el Centro de Investigación en Informática para la Ingeniería, las cuales se enmarcan en las áreas de visión por computadora, control automático y robótica.
La estructura elegida es de tracción diferencial de tres ruedas, dos de las cuales son de tracción controladas individualmente y una rueda giratoria atrás; esta configuración es una de las más apropiadas y utilizadas en ambientes interiores.
La zona de carga útil, al frente del vehículo, permite la colocación de sensores como cámaras, scanners laser, sensores ultrasónicos; así como actuadores: unidad pan and tilt y brazos robóticos.

Versiones

El desarrollo del robot móvil RoMAA, se llevo a cabo en diferentes etapas obteniendo como resultado dos versiones diferentes del proyecto.

La primer versión del desarrollo surge como proyecto interno dentro del área de robótica del Centro, de la cual se obtuvo un prototipo bautizado en ese momento como RoMAA (Robot Móvil de Arquitectura Abierta), el cual se presentó en las "V Jornadas Argentinas de Robótica" (JAR'08) [1].

La segunda versión o RoMAA-II, se desarrollo bajo el proyecto U.T.N. PID "Robot Móvil de Arquitectura Abierta RoMAA-II", de la Universidad Tecnológica Nacional, Regional Córdoba.

Componentes utilizados

componentes

RoMMA

RoMAA-II

RoMAA.jpg

[ANEXAR]

Motores

Motorreductor Ignis MR103-400

Motores Remsi 551202

reductores NMRV 025 1:7.5

Encoders Autonics

E40H-6-100-2-1-24 (Silge S.A.)

E40HB10-1000-3-T-24 (Silge S.A.)

Baterías Probattery

2xBSLA-12260-CPB

1xBSLA-12260-CPB

Desarrollo del robot RoMAA

Incialmente se comieza el desarrollo del robot móvil partiendo de la estructura mecánica, la cual incluye el sistema energético compuesto por 2 baterías de 12V (teniendo un bus de alimentación de 24V), dos motores de CC con caja reductora asociados a cada rueda, y los encoders ópticos incrementales para cerrar el lazo de control de tracción.
La electrónica de abordo para el control del robot incluye 2 drivers de potencia en configuración llave H para la excitación de cada motor, y un controlador para realizar el cálculo del cierre de lazo a partir de lectura de los encoders ópticos basado en un microcontrolador ARM7TDMI (de 32bits y 60MHz de frecuencia de clock), y generar las señanes de modulación de ancho de pulso (PWM) para comandar las llaves H.
El objetivo inicial del desarrollo era poder controlar tanto la velocidad lineal y angular (v,w) del robot, de manera que el controlador embebido tiene que generar las referencias de velocidad para cada motor (izq,der) para tal objetivo. Además, el controlador debe recibir los comandos de control a partir de una conexión serie (RS232) de la PC de abordo, y llevar un registro de los pulsos de encoders para el cálculo de la odometría del robot.

Las primeras versiones de prueba del controlador embebido se utilizan números enteros para representar todas las mediciones y comandos, y la trama de comunicación con la PC de abordo estaba basada en caracters ASCII, esto último permite poder hacer debbug del firmware mediante una terminal desde la PC abordo. Para enviar ordenes desde la PC de abordo se utilizaba un joystick para generar las referencias enviadas al controlador por el puerto serie. Una descripción mas detallada de su desarrollo y evolución puede verse en

Las diferentes versiones del hardware utilizado, tanto la llave H de potencia como la placa de control, puede verse en

Resultado

Como resultado de la primer versión del robot móvil RoMAA se obtivo un prototipo completamente funcional que permitió evaluar tanto la parte mecánica, eléctrica y de tracción, como la electrónica de a bordo del controlador embebido y electrónica de potencia.

En cuanto a la parte mecánica se pudo evaluar los motoreductores empleados y la mecánica de acoplamiento entre motor, caja reductora, encoder y rueda; a partir de la cual surgieron modificaciones para la versión II. Algunos de los puntos claves fueron

  • Debido a que el eje del motor no soportara el peso del robot, era necesario utilizar una pieza con bolilleros que hiciera de apoyo al eje de la rueda, lo que resultaba mas costoso en materiales y mecanizado.
  • El acoplamiento entre el motorreductor y el encoder óptico era demasiado complejo y requería un mecanizado especial.
  • Debido al tipo de sujeción entre el motor y la base del robot resultaba difícil alinear las ruedas.

En cuanto a la parte electrónica se hizo evidente la necesidad de fuentes de alimentación conmutadas para el sistema de embebido, debido a la distintas tensiones necesarias y la tensión de batería de 24V.

Respecto al firmware, esta versión era bastante limitada, debido a que las operaciones del microcontroladore eran realizadas solamente con tipo de datos enteros, y el control de tracción se basaba únicamente en un controlador proporcional. El controlador embebido mantenía un registro de los pulsos de encoders pero no realizaba el cálculo de la odometría, que se hacía en la PC de a bordo.

El software de la PC de a bordo se desarrollo en base a una clase de comunicación escrita en lenguaje C++, y se escribió un driver para el entorno de desarrollo de robótica Player (v2.0).

Desarrollo del robot RoMAA-II

El robot móvil RoMAA-II pretende mejorar las características tanto constructivas como de prestaciones del robot RoMAA, arriba descripto. Algunas de las modificaciones mecánicas son

  • Reemplazo del motorreductor por un conjunto motor/caja reductora separados. La caja es de tipo sinfin, y soporta una fuerza radial en el eje suficiente para el peso del robot.
  • Debido al tipo de caja reductora se reemplazo el motor por uno de menor revoluciones (rpm), además de ser de fabricación local.
  • Este nuevo sistema de tracción permite acoplar directamente el encoder al eje del motor, por lo que se tuvo que utilizar uno de mayor cantidad de pulsos por revolución.

El nuevo motor utilizado y la electrónica se alimentan en esta versión por 12V, disponibles de una única batería con lo que se reduce el peso y el costo final del robot.

La plaqueta de ciruito impreso del controlador embebido fue rediseñada completamente, incluyendo conectores a los encoders, un conector a un panel de control y un controlador para comunicación USB.

El firmware del RoMAA-II opera completamente en punto flotante, realizando internamente el cálculo de la odometría, junto con los lazos de control PID tanto para controlar la velocidad de cada uno de los motores, como un lazo extra de acomplamiento cruzado para el control del robot mediante velocidad lineal y angular.

El software de la PC de a bordo consta de una clase de comunicación, similar a la versión anterior, pero adecuado al nuevo controlador; junto con el driver de entorno de desarrollo de robótica Player (v3.0).

Resultado

Referencias

  • [1].- "Plataforma móvil de arquitectura abierta", David Gaydou, Gonzalo Perez Paina, Javier Salomone, Guillermo Steiner. V Jornadas Argentinas de Robótica (JAR'08), Bahía Blanca, 12-14 de Noviembre, 2008. (Descargar).

None: Robotica/RoMAARobotDev (última edición 2018-02-02 15:34:37 efectuada por DiegoGonzalez)