control y simulaciÓn de brazo robÓtico

12
CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO Hurtado R. César A. 1 , Lara G. José A. 2 , Rodríguez Leonel 3 , Legarda S. Arturo 4 Departamento de Sistemas y Computación Instituto Tecnológico de Chihuahua II Av. De las Industrias #11101 Chihuahua, Chihuahua, C.P. 31310 1 [email protected], 2 [email protected], 3 lallonel_071727@ hotmail.com, 4 [email protected] Abstracto: En el presente artículo se muestran los resultados del desarrollo de la simulación de la operación de un brazo robótico controlado desde una computadora personal a través de un microcontrolador. La simulación del movimiento del brazo robótico controlado se desarrolló utilizando el IDE Delphi 7 con el uso de GLScene, la cual es una biblioteca libre basada en OpenGL para el lenguaje de programación Object Pascal, para la realización de gráficos en 3D. El IDE Delphi 7 también se utilizó para desarrollar la GUI (graphical user interface, interfaz gráfica de usuario) la cual, a través del puerto USB (universal serial bus, bus serie universal) , se comunica con el hardware de control basado en un microcontrolador PIC18F4550. Palabras clave: Simulación, Microcontrolador, GLScene, Delphi, GUI. 1. INTRODUCCIÓN En la actualidad debido al avance tecnológico y científico se ha logrado llevar máquinas a lugares casi inaccesibles para el hombre o que representan un peligro para el mismo, por ello se tiene que recurrir a otros métodos para monitorizar estas máquinas desde cualquier lugar. Un método con el cual podemos lograr esto es la simulación. El objetivo del trabajo presente es, a partir de un brazo robótico seleccionado desarrollar los elementos siguientes: hardware de control, comunicación con una computadora personal, desarrollo de una GUI para realizar el control del brazo por parte del usuario y desarrollo de la simulación gráfica del brazo que se controla. La simulación para el autor R.E Shannon (1988) es el proceso de diseñar un modelo de un sistema real y llevar a término experiencias con él, con la finalidad de comprender su comportamiento o evaluar nuevas estrategias dentro de los límites impuestos por un cierto criterio o un conjunto de ellos para el funcionamiento del sistema bajo observación. A través de la simulación se puede realizar el control directo de cualquier máquina, para este caso “un brazo robot”, como también de

Upload: tony-lara

Post on 29-Dec-2015

168 views

Category:

Documents


1 download

DESCRIPTION

Control de un brazo robotico de la marca STEREN a través de un microcontolador pic18f4550 con una simulación del robot y una interfaz grafica de usuario con la libreria OpenGL y el compilador Object Pascal.

TRANSCRIPT

Page 1: CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

Hurtado R. César A. 1, Lara G. José A. 2, Rodríguez Leonel 3, Legarda S. Arturo 4

Departamento de Sistemas y ComputaciónInstituto Tecnológico de Chihuahua II

Av. De las Industrias #11101Chihuahua, Chihuahua, C.P. 31310

1 [email protected], 2 [email protected], 3 lallonel_071727@ hotmail.com, 4 [email protected]

Abstracto: En el presente artículo se muestran los resultados del desarrollo de la simulación de la operación de un brazo robótico controlado desde una computadora personal a través de un microcontrolador. La simulación del movimiento del brazo robótico controlado se desarrolló utilizando el IDE Delphi 7 con el uso de GLScene, la cual es una biblioteca libre basada en OpenGL para el lenguaje de programación Object Pascal, para la realización de gráficos en 3D. El IDE Delphi 7 también se utilizó para desarrollar la GUI (graphical user interface, interfaz gráfica de usuario) la cual, a través del puerto USB (universal serial bus, bus serie universal), se comunica con el hardware de control basado en un microcontrolador PIC18F4550.

Palabras clave: Simulación, Microcontrolador, GLScene, Delphi, GUI.

1. INTRODUCCIÓN

En la actualidad debido al avance tecnológico y científico se ha logrado llevar máquinas a lugares casi inaccesibles para el hombre o que representan un peligro para el mismo, por ello se tiene que recurrir a otros métodos para monitorizar estas máquinas desde cualquier lugar. Un método con el cual podemos lograr esto es la simulación.

El objetivo del trabajo presente es, a partir de un brazo robótico seleccionado desarrollar los elementos siguientes: hardware de control, comunicación con una computadora personal, desarrollo de una GUI para realizar el control del brazo por parte del usuario y desarrollo de la simulación gráfica del brazo que se controla.

La simulación para el autor R.E Shannon (1988) es el proceso de diseñar un modelo de un sistema real y llevar a término experiencias con él, con la finalidad de comprender su comportamiento o evaluar nuevas estrategias dentro de los límites impuestos por un cierto criterio o un conjunto de ellos para el funcionamiento del sistema bajo observación. A través de la simulación se puede realizar el control directo de cualquier máquina, para este caso “un brazo robot”, como también de manera gráfica se puede observar en tiempo real el comportamiento del sistema, esto desde un ordenador donde el usuario interactúa con la aplicación de control.

Hoy en día se cuenta con una gran variedad de Software para la realización de simulaciones, entre los que destacan: JMonkey, Solid Works, GLScene, entre otros. Para este proyecto se seleccionó la biblioteca de código abierto GLScene, la cual está basada en OpenGL para la realización de gráficos en 3D. El motivo de la selección de esta librería fue que se incorpora de manera sencilla al IDE Delphi 7.

El presente artículo inicia con la descripción de las características del brazo robótico a controlar y del hardware implementado para tal fin. Enseguida se describe los elementos que componen la GUI (interfaz gráfica del usuario). Después se explica el desarrollo de los objetos de la simulación y su integración con el resto de las secciones. Al finalizar se mencionan algunas conclusiones del trabajo desarrollado.

Page 2: CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

2. CONTROL DE BRAZO ROBÓTICO

El brazo robótico que se utiliza en el proyecto es un brazo comercial de marca Steren (Steren), modelo K-682 que se muestra en la Figura 1, el cual está enfocado a la enseñanza de principios básicos de robótica y mecánica. Puede sostener con la tenaza (pinza) objetos ligeros (de hasta 100 gr), bajar o subir el brazo y moverlo hacia arriba, abajo, derecha o izquierda.

2.1 Características técnicas del brazo robótico.

Abertura máxima de la tenaza: 1,77 pulgadas Movimiento vertical de la tenaza: 120° Movimiento vertical de la parte superior del brazo: 120° Movimiento vertical de la parte inferior del brazo: 180° Movimiento horizontal de la base del brazo: 270° Alimentación: 6 Vcc Lámpara (LED) en tenaza. Motores: el brazo robot esta compuesto de 5 motores de corriente continua (Motor Base, Motor Hombro, Motor

Codo, Motor Muñeca y Motor Pinzas)

Figura 1. Composición del brazo robótico

2.2 Sistema de Control basado en Microcontrolador

El hardware de control lo compone el microcontrolador PIC18F4550 de la empresa Microchip (Microchip) el cual es seleccionado debido a que este microcontrolador nos permite el soporte necesario para la comunicación con el ordenador personal a través del puerto USB. Este microcontrolador se encarga de generar, a partir de la información recibida de la GUI por medio del puerto USB, las señales de control para los motores que componen el brazo robótico. En la figura 2 se muestra el diseño del diagrama del sistema de control basado en el PIC18F4550 y el circuito integrado L298.

Figura 2. Diagrama del sistema de control

El driver que se utiliza para manejar los motores es el L298 (Controlador Motor), la decisión de utilizar este driver es debido a que los motores del brazo robótico son de 3V. El controlador de motor L298, conforme a su hoja de datos, permite

Page 3: CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

manejar un voltaje desde 2.5V hasta 46V, quedando dentro de este rango los voltajes de los motores. Este integrado puede además, manejar hasta 2 amperes, aunque nuestro proyecto es de bajo consumo de corriente.

2.3 Administración de los puertos del microcontrolador.

Una vez que se identifican los motores del brazo robot (ver figura 1), es el momento de administrar como los controladores de motor (Controlador Motor) serán conectados de manera física a las salidas del microcontrolador con el fin de que se conozca que motores estarán asociados a la simulación y a la aplicación de control, quedando identificados como se muestran en la Tabla 1 y en la Tabla 2.

Tabla 1. Puerto B del microcontroladorPuerto B Motor

RB0 BaseRB1 BaseRB2 HombroRB3 HombroRB4 CodoRB5 CodoRB6 MuñecaRB7 Muñeca

Tabla 2. Puerto A del microcontrolador.

Page 4: CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

Puerto A MotorRA0 PinzasRA1 Pinzas

RA2 Lámpara

2.4 Configuración de los puertos del microcontrolador.

Ahora se configuran las señales con las cuales el microcontrolador activará los puertos para así lograr mandar la información a los drivers de los motores del brazo robot y a través de esta información, se active el movimiento de dichos motores ya sea en un sentido o en el otro sentido según sea el caso. Dicha configuración se presenta en la Tabla 3 y en la Tabla 4.

Tabla 3. Configuración Puerto B

Tabla 4. Configuración Puerto A

2.5 Configuración de la comunicación por puerto USB del microcontrolador.

Al tener diseñadas las señales de los puertos a utilizar y los elementos a controlar por cada una de las mismas, se procede a desarrollar el Firmware que estará en el PIC18F4550 (ver figura 3). En este mismo se tiene la sección (figura 4) para activar la característica de comunicación por puerto USB.

Figura 3. Encabezado del Firmware para el PIC18F4550 Figura 4. Configuración de la comunicación por USB.

B7 B6 B5 B4 B3 B2 B1 B0 Sentido Motor

0 0 0 0 0 0 0 1 Derecha Base

0 0 0 0 0 0 1 0 Izquierda Base

0 0 0 0 0 1 0 0 Arriba Hombro

0 0 0 0 1 0 0 0 Abajo Hombro

0 0 0 1 0 0 0 0 Arriba Codo

0 0 1 0 0 0 0 0 Abajo Codo

0 1 0 0 0 0 0 0 Arriba Muñeca

1 0 0 0 0 0 0 0 Abajo Muñeca

A5 A4

A3 A2

A1 A0

Estado Motor

0 0 0 0 0 1 Abrir Pinzas

0 0 0 0 1 0 Cerrar Pinzas

0 0 0 1 0 0 Encender Lámpara

0 0 0 0 0 0 Apagar Lámpara

Page 5: CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

3. PROGRAMACIÓN DE LA INTERFAZ GRÁFICA DE USUARIO

La GUI (Interfaz Gráfica de Usuario) está diseñada para que el usuario pueda enviar las señales de control por medio del puerto USB al microcontrolador PIC 18F4550 y manipular el brazo robótico, además de visualizar la simulación del mismo.

En la figura 5 se muestran los elementos para el control del brazo robot y activación de la simulación. Esta GUI está dividida en 6 secciones, las cuales son para el control de cada uno de los 5 motores del brazo robot (figura 1), y una sección para el uso de la lámpara del brazo robot. Cada sección cuenta con 2 botones, que permiten activar el movimiento del brazo robot en sentido de las manecillas del reloj o en contra. En cada sección se tienen indicadores que muestran si alguno de los motores está activado. La sección de la lámpara consta de dos botones los cuales encienden o apagan la lámpara.

Figura 5. Interfaz gráfica de usuario del control del brazo robótico

A parte de las secciones anteriores se tienen otros dos botones, uno de los cuales es para detener el movimiento del brazo robot. El segundo botón, que es el más importante, activa la escena de la simulación en tiempo real del movimiento del brazo robótico, permitiendo al usuario visualizar el comportamiento del brazo robot.

4. DESARROLLO DE LA SIMULACIÓN DEL BRAZO ROBÓTICO CON GLScene

Para el desarrollo de la simulación se hace uso del IDE Delphi 7 y el motor gráfico GLScene (Manual GLScene); GLScene es una biblioteca libre basada en OpenGL para el lenguaje de programación Object Pascal y disponible en Delphi, Kylix, Lazaus y C++Builder. Proporciona un conjunto de componentes visuales que permiten la representación de escenas 3D.

4.1 Elementos de la Simulación.

En la figura 6-a, se muestra el proceso de construcción del objeto base. Se añade un objeto a la escena el cual se le da el nombre de MotorBase ya que de este objeto dependen los demás, la identificación de los objetos se lleva a cabo en base a la administración de los puertos (sección 2.3).

Page 6: CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

Para cada objeto de la simulación se añade un comportamiento (ver figura 7), con el cual cada uno de los objetos simula el movimiento que realiza el brazo robot físicamente, rotar a la derecha o rotar a la izquierda según sea el caso, para esto hay que tomar en cuenta la velocidad de desplazamiento de los componentes del brazo robótico para igualarlos en la simulación.

a) Construcción del objeto base. b) Conexión del elemento subsecuente.Figura 6. Elementos de la escena del brazo robótico.

Figura 7. Comportamiento del objeto.

4.2 Conexión de componentes subsecuentes

Para añadir los elementos subsecuentes, se crean los objetos Brazo, los cuales simulan los soportes que sostienen los motores del brazo robótico. Al analizar el brazo robótico físicamente, se observa que la posición de cada motor depende de su anterior, por esto en la simulación cada objeto depende del anterior (ver figura 6-b). El proceso de adición de objetos subsecuentes es repetitivo por lo cual solamente se muestra una parte de ello.

En la figura 8 se observa la representación final del brazo robot en la que se aprecian los objetos que conforman la simulación.

Page 7: CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

Figura 8. Escena 3D del brazo robótico.

5. INTEGRACIÓN DE LA SIMULACIÓN CON LA APLICACIÓN DE CONTROL

La integración de la simulación a la GUI se hace a través del botón “Simulación” cuya función es llamar a la escena donde se encuentra la simulación del brazo robótico. Como se explica en la sección 3, cada botón de la GUI activa el movimiento de uno de los motores en el brazo robótico de manera real, por lo que esta señal se envía al mismo tiempo al objeto correspondiente en la simulación, teniendo como el resultado el movimiento de ambos de manera simultánea. En la figura 9 se muestra la simulación activada y el funcionamiento del Motor Codo.

Figura 9. Simulación del Brazo Robot.

6. CONCLUSIONES

Con la elaboración de este proyecto se cumple el objetivo planteado, al diseñar el hardware de control del brazo robótico utilizando el microcontrolador PIC18F4550, al cual la GUI se comunica por medio del puerto USB desde una computadora personal para logrando la manipulación del brazo. Al mismo tiempo, dicha GUI envía las señales a la escena para simular el comportamiento del objeto real (el brazo robótico).

Para su implementación se trabaja con dos entornos de desarrollo integrados (IDE) distintos, los cuales son el MPLAB para el desarrollo del Firmware del PIC18F4550; y el Delphi 7, tanto para la GUI como para la generación de la escena utilizando la librería GLScene.

Page 8: CONTROL Y SIMULACIÓN DE BRAZO ROBÓTICO

Este trabajo se presentó como proyecto final en la materia de Interfaces de la carrera de Ingeniería en Sistemas Computacionales del Instituto Tecnológico de Chihuahua II. En la figura 10 se pueden observar los todos los elementos del proyecto interactuando.

Una de las limitantes que tiene el proyecto en el estado actual, es la carencia de retroalimentación de las posiciones de los componentes del brazo robótico, lo que le resta exactitud a la simulación. Queda como proyecto a futuro anexar un sistema de retroalimentación en los motores de DC, que envíen la información de la posición de los ejes, con el cual la comunicación del brazo tanto con la interfaz y como con la simulación daría como resultado una simulación mas confiable y apegada a la realidad.

Figura 10. Simulación y Control del Brazo Robot.

7. REFERENCIAS

1. Shannon, R.E.,(1988) “Simulación de sistemas”. Trillas, México, 1988.

2. Microchip. PIC18F4550: http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf

3. Steren. Brazo Robot: http://www.steren.com.mx/catalogo/prod.asp?p=2091&desc=

4. Controlador Motor : http://www.alldatasheet.com/datasheet-pdf/pdf/22437/STMICROELECTRONICS/L298.html

5. Manual GLScene: http://mural.uv.es/damarde/glscene/manual.PDF