CONTROL DE UN BRAZO ROBÓTICO DE CUATRO GRADOS DE...

17
CONTROL DE UN BRAZO ROBÓTICO DE CUATRO GRADOS DE LIBERTAD USANDO PROCESAMIENTO DE IMÁGENES Verástegui Ponce Martín Karlo Ocampo Pacheco José Gabriel Alberco Sanchez Jose Luis Miguel Angel Robles Leon

Transcript of CONTROL DE UN BRAZO ROBÓTICO DE CUATRO GRADOS DE...

CONTROL DE UN BRAZO ROBÓTICO DE CUATRO GRADOS DE LIBERTAD USANDO

PROCESAMIENTO DE IMÁGENES

Verástegui Ponce Martín KarloOcampo Pacheco José Gabriel

Alberco Sanchez Jose LuisMiguel Angel Robles Leon

CONTROL DE UN BRAZO

ROBÓTICO DE CUATRO GRADOS

DE LIBERTAD USANDO

PROCESAMIENTO DE IMÁGENES

Primera edición digital

Julio, 2011

Lima - Perú

© Verástegui Ponce Martín Karlo

Ocampo Pacheco José Gabriel

Alberco Sanchez Jose Luis

Miguel Angel Robles Leon

PROYECTO LIBRO DIGITAL

PLD 0162

Editor: Víctor López Guzmán

http://www.guzlop-editoras.com/[email protected] [email protected] facebook.com/guzlop twitter.com/guzlopster428 4071 - 999 921 348Lima - Perú

PROYECTO LIBRO DIGITAL (PLD)

El proyecto libro digital propone que los apuntes de clases, las tesis y los avances en investigación (papers) de las profesoras y profesores de las universidades peruanas sean convertidos en libro digital y difundidos por internet en forma gratuita a través de nuestra página web. Los recursos económicos disponibles para este proyecto provienen de las utilidades nuestras por los trabajos de edición y publicación a terceros, por lo tanto, son limitados.

Un libro digital, también conocido como e-book, eBook, ecolibro o libro electrónico, es una versión electrónica de la digitalización y diagramación de un libro que originariamente es editado para ser impreso en papel y que puede encontrarse en internet o en CD-ROM. Por, lo tanto, no reemplaza al libro impreso.

Entre las ventajas del libro digital se tienen:• su accesibilidad (se puede leer en cualquier parte que tenga electricidad),• su difusión globalizada (mediante internet nos da una gran independencia geográfica),• su incorporación a la carrera tecnológica y la posibilidad de disminuir la brecha digital (inseparable de la competición por la influencia cultural),• su aprovechamiento a los cambios de hábitos de los estudiantes asociados al internet y a las redes sociales (siendo la oportunidad de difundir, de una forma diferente, el conocimiento),• su realización permitirá disminuir o anular la percepción de nuestras élites políticas frente a la supuesta incompetencia de nuestras profesoras y profesores de producir libros, ponencias y trabajos de investiga-ción de alta calidad en los contenidos, y, que su existencia no está circunscrita solo a las letras.

Algunos objetivos que esperamos alcanzar:• Que el estudiante, como usuario final, tenga el curso que está llevando desarrollado como un libro (con todas las características de un libro impreso) en formato digital.• Que las profesoras y profesores actualicen la información dada a los estudiantes, mejorando sus contenidos, aplicaciones y ejemplos; pudiendo evaluar sus aportes y coherencia en los cursos que dicta.• Que las profesoras y profesores, y estudiantes logren una familiaridad con el uso de estas nuevas tecnologías.• El libro digital bien elaborado, permitirá dar un buen nivel de conocimientos a las alumnas y alumnos de las universidades nacionales y, especialmente, a los del interior del país donde la calidad de la educación actualmente es muy deficiente tanto por la infraestructura física como por el personal docente.• El pe r sona l docente jugará un r o l de tu to r, f ac i l i t ador y conductor de p r oyec tos

de investigación de las alumnas y alumnos tomando como base el libro digital y las direcciones electró-nicas recomendadas.• Que este proyecto ayude a las universidades nacionales en las acreditaciones internacionales y mejorar la sustentación de sus presupuestos anuales en el Congreso.

En el aspecto legal:• Las autoras o autores ceden sus derechos para esta edición digital, sin perder su autoría, permitiendo que su obra sea puesta en internet como descarga gratuita.• Las autoras o autores pueden hacer nuevas ediciones basadas o no en esta versión digital.

Lima - Perú, enero del 2011

“El conocimiento es útil solo si se difunde y aplica” Víctor López Guzmán Editor

Memorias - XVII CONIMERA

383

Introducción

En muchas aplicaciones industriales,químicas o mineras hay labores en las cuales elser humano no pude estar en forma física pordiferentes factores tales como seguridad, radiación,deficiencia, etc. Es decir existen labores querequieren ser automatizadas para ser óptimas yevitar enfermedades o accidentes a lostrabajadores.

Por otra parte se presenta una solución enbase las áreas de electrónica, mecánica einformática, el proyecto abarca desde el diseñode la construcción física mecánica del brazo, laselección de los servomotores, las diferentesetapas de potencia, las etapas de control heinterfase con la PC, la programación delprocesamiento de imágenes, la programación delos microcontroladores, la integración de lossistemas y las interfaces de usuario.

Así mismo se mencionan los planes a futuro,las metas que se intenta alcanzar con esteproyecto, también se busca que las empresasinviertan en el talento peruano y se demuestre quecon los recursos adecuados podemos competircon muchos productos.

Planteamiento del problema

En la industria muchas veces un ser humanose encuentra en situaciones hostiles y se le hacemuy difícil trabajar, así mismo la labor humana estasujeta a errores y lentitud.

Para labores tales como, soldadurasautónomas, ensamble de piezas de manera rápiday automatizada, manipulación de reactivos, etc.se requieren brazos mecatrónicos que puedanmover piezas pero no solo moverlas según unapersona lo opere, sino puedan de cierta manera

Control de un brazo robótico de cuatro grados de libertadusando procesamiento de imágenes

Verástegui Ponce Martín Karlo / Ocampo Pacheco José [email protected] [email protected]

Alberco Sanchez Jose Luis / Miguel Angel Robles [email protected] [email protected]

Asesores: M. SC., Ing. Raúl Benites Saravia / Ing. Alfredo Moisés Quispe EspinozaUniversidad Nacional de Ingeniería

Facultad de Ingeniería Eléctrica y Electrónica

Resumen.- El presente proyecto busca presentar una solución efectiva a lasnecesidades en diversos procesos industriales, químicos, mineros, etc. En los cualesse requiere manipulación de objetos, procesamiento de imágenes, cierto grado deprecisión, para ello construimos un brazo robótico de cuatro grados de libertad,el cual esta gobernado por servomotores, basado en una estructura de aluminio,controlado por microcontroladores PIC, hace uso de una cámara Web simple parahacer el procesamiento de imágenes en una computadora, el objetivo principal deeste proyecto es demostrar que con el software adecuado, un buen entendimientode los sistemas de control y su correcta implementación en su programaciónpodemos hacer que nuestro brazo pueda ser capaz de realizar procesos similaresa los que un ser humano haría, para demostrar esto vamos a hacer que nuestrobrazo coja objetos, pueda ser capaz de colocarlo en un sitio fijo, pueda ser capazde colocarlos en un sitio en movimiento (lazo realimentado), esto es solo unademostración de infinidades de cosas que podemos hacer manipulando losalgoritmos de control. Para aplicaciones de mayor magnitud se puede independizarnuestro proceso de una PC y se hace uso de los mini-Main Boards en los cualesse carga el sistema operativo (Linux, Window, etc.) y el programa que se deseeusar, esto causaría un impacto fuerte a gran escala en la industria peruana debidoa que existen muchos proceso que requieren este tipo de sistemas y el costobeneficio que se obtiene en una inversión se recupera claramente en un año, asípuede ser el caso de construir maquinas soldadoras, cortadoras de vidrios ymetales, chancadora de minerales sólidos, manipulación de químicos, procesosquirúrgicos, ensamblaje y desensamblaje de maquinarias, comando a distanciapara el manejo de alto voltaje en zonas de riesgo altamente inductivas, etc.

Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica

384

«ver los procesos» para tener acción sobre losmismos, de este modo se logra hacer una gananciaen el costo beneficio dentro de cualquier empresa,recuperando la inversión en eficiencia, calidad ytiempo, es necesario hacer esto dado que el Perúasí como la mayoría de los países de bajo desarrollotecnológico tienen que competir con paísesdesarrollados y para ello requerimos automatizarnuestras industrias, principalmente las mineras,petroleras, químicas, etc. De no tomar concienciade esto la industria nacional desaparecerácompetitivamente con el resto del mudo.

Propuesta de solución

En vista de este problema, presentamos unbrazo robótico que es capaz de procesarimágenes para realizar muchos procesos para locual sea programado, la idea de esta presentaciónes demostrar que nuestro brazo puede ser capazde realizar cualquier proceso, haciendo los ajustesadecuados es adaptable a muchos procesos deautomatización, el brazo puede hacer soldaduras,podría armar piezas con las condicionesadecuadas, podría manipular químicos y asíautomatizar muchos procesos, esto es lo quebuscamos AUTOMATIZAR las industrias y lograrhacerlas mas competitivas para que el país salgadel subdesarrollo y podamos competir con grandesindustrias.

Componentes del proyecto

Nuestro proyecto consta de las siguientespartes físicas:

- Una cámara Web: la cual capturar lasimágenes a ser procesadas.

- Una Labtop: en la cual se hará elprocesamiento de imágenes

- Una Tarjeta de interfase: donde seestablecerá la comunicación con la PC yel Microcontrolador.

- Un Microcontrolador: El cual gobernara losservomotores y tomara los datos de losencoger de los mismos.

- Tarjetas de potencia: con las cuales se haráel control desde el microcontrolador hacialos servomotores.

- Brazo robótico: construido a base deservomotores y en una estructura dealuminio que será nuestro actuador.

Así mismo tenemos hemos empleado lossiguientes software:

- NI-VISION 7.1: Este software nos ayudaa realizar el procesamiento de imágenes.

- LABVIEW 7.1: Este software nos permiteenlazar los procesamientos de imágenes,establecer la interfaz de usuario, establecerel protocolo serial y controlar el proceso.

- MPLAB: nos brinda el entorno de desarrollopara la programación de los microcontro-ladores PIC.

- CCS-C: Este software nos permiteprogramar los microcontroladores PIC enbase a algoritmos hechos en C.

- PROTEUS: nos permite hacer lassimulaciones de nuestro proyecto.

Esquema global del proyecto

Podemos apreciar la secuencia de control elsiguiente diagrama de bloques:

Figura 1. Diagrama de bloques del sistema

Como podemos apreciar en la figura 1tenemos muestro programa que será alimentadopor la cámara que captara la imagen del brazoen movimiento y tendremos una referencia de dondese encuentra luego de su respectivo procesamientoy así nuestro algoritmo de control le indicara albrazo lo que va a hacer posteriormente.

El brazo robótico capaz de mover objetosy colocarlos en sus respectivos lugares usandopara esto un procesamiento de imágenes cuyacaptura es realizada por una cámara web fija, elcual hace el reconocimiento del objeto a mover,el brazo lo tomara automáticamente, el análisisde imágenes es hecho en labview con Vision 7.1,

Figura 2. Modelo del brazo

Memorias - XVII CONIMERA

385

usamos también un microcontrolador para lacomunicación serial con la PC y con losservomotores (PID-Kp,Kd,Ki diseñado) del brazorobótico .

Reemplazando la ecuación (2) en laecuación(1) se obtiene:

1111111111

••++== qnKIRILuKV baaaaAa

(3)

El torque del servomotor Tm1 es proporcionala la corriente Ia1, dado por:

111 amm IKT = (4)

Donde:Km1: Constante del servomotor M1.

Aplicando 2da ley de Newton para el torque,se obtiene:

11111111 gmmm TqnBqnJT ++=•••

(5)

El torque requerido para mover la base delServomotor tiene la forma:

TqBqJ TnT 11g11g1g11g2 ++==•••

(6)

Entonces el torque del Tm1 reflejado a lacarga, se encuentra multiplicando las ecuaciones(4) y (5) por n1, así:

11111 amm IKnTn = (7)

11112

1112

111 gmmm TnqBnqJnTn ++=•••

(8)

Reemplazando la ecuación (6) a la ecuación(8), entonces:

11111112

1112

111 TqBqJqBnqJnTn ggmmm ++++=••••••

Agrupándolo se obtiene;

11112

11112

111 )()( TqBBnqJJnTn gmgmm ++++=•••

(9)

De la ecuación (9), efectuándolo lasasignaciones:

;112

11 gmeq JJnJ += 112

11 gmeq BBnB +=

La ecuación (9) queda re escrita como:

1111111 TqBqJTn eqeqm ++= (10)

Ahora, igualando las ecuaciones (7) y (10)se obtiene:

11111111 TqBqJIKn eqeqam ++=•••

(11)

Modelamiento matemático delservomotor(Ver anexo; tabla I)

Servomotor en la base

En la figura se muestra el circuito eléctricodel servomotor M1.

Figura 3. Esquema del proyecto

Figura 4. Diagrama del servomotor M1de la base

El voltaje de entrada en los extremos delcircuito de armadura del es:

11111111 baaaaAa VIRILuKV ++==•

(1)

Donde:Vb1: El voltaje de fuerza contra-electromotriz.

Si Vb1 es proporcional a la velocidad delmotor, dado por:

1111

•= qnKV bb

(2)

Donde:Kb1: La constante de fuerza contra-electromotriz.n1: Relación de radios de los engranajes.

Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica

386

Donde:T1: Torque de la carga

Nota:

Deduciendo la ecuación dinámica del sistemaserá:

dcqHT ++=•• )(................ α

Donde:

T: Vector de torques y fuerzas aplicados a

cada coordenada qi. Siempre que •

= qCc , elmodelo de Lagrange de un proceso puede serobtenido desde el modelo L-E dada por la ecuación

)(α , a saber que: dqCqHT ++=•••

; en consecuen-

cia, servomotor tendremos que:

)(),()(2

1 qdqqcqqHT

TT ++=

=

•••

)(................ β

Donde

=

2221

1211

HH

HHH

=

2

1

c

cc

=

2

1

d

dd

1111112121111 cqHdcqHqHT +=+++=••••••

)(.... γ

22222222221212 dcqHdcqHqHT ++=+++=••••••

)(.. θ

Luego, sustituyendo la ecuación )(γ en (11)

se obtiene:

11111111111 cqHqBqJIKn eqeqam +++=•••••

(12)

Derivando la ecuación (12) se da:

11111111111111

•••••••••••••++++= cqBqHqJqHIKn eqeqam

(13)

Finalmente, la ley de control u1 se obtienereemplazando las ecuaciones (12) y (13) en (3).

)14(................)(

)(

11111111111

1111111111111

••••••

••••••••••••

++++

+++++=

qNcqHqBqJR

cqBqHqJqHLu

TeqeqT

eqeqT

Donde:

111

11

mA

aT Kkn

LL =

111

11

mA

aT KKn

RR =

1

111

m

bT

K

KnN =

Servomotor en el brazo(Ver anexo1; la tabla I)

En la figura se muestra el circuito eléctricodel servomotor M2. Usando el mismo procedimientopara obtener el voltaje de control de armadura u1,se encuentra que u2 está dad por:

)15(................

)(

)(

22

2222222222

22222222222

•••••

••••••••••

+++++

+++++=

qN

dcqHqBqJR

dcqBqJqHLu

T

eqeqT

eqeqT

Donde:

222

22

mA

aT Kkn

LL =

222

22

mA

aT KKn

RR =

2

222

m

bT K

KnN =

Despreciando las inductancias de armadurade los servomotores M1 y M2, es decir,considerando LT1 y LT2 nulos en las ecuaciones(14) y (15), respectivamente, los voltajes de controlu1 y u2 resultan:

111111111111 )(••••••

++++= qNcqHqBqJRu TeqeqT

(16)

2222222222222 )(••••••

+++++= qNdcqHqBqJRu TeqeqT

(17)

Figura 5. Diagrama del servomotor M2 para elmovimiento

Reemplazando c1 y c2 y d2 en lasecuaciones (16) y (17) y ordenandoconvenientemente, el modelo de Lagrange delservomotor queda definido por:

Memorias - XVII CONIMERA

387

=

+

+

−+−

+

+

++

••

••

••

2

1

2222

2

1

222221222

22122112222211

2

1

2222

22

22111

cos

0

cos

cos)cos(

)(0

0)cos2(

u

u

qgLmR

q

q

NBRqsenqqHR

qsenqqHRNqsenqqHBR

q

q

HJR

qHIJR

xT

TeqTT

TTeqT

eqT

eqT

(18)

Que es de la forma:

uqdqqqPqqM =++••••

)(),()( (19)

Donde:

;2

1

=

q

qq

=

2

1

u

uu

+

++=

)(0

0)cos2()(

2222

22

22111

HJR

qHIJRqM

eqT

eqT

+

−+−

=

••

222221222

22122112222211

cos

cos)cos(

),(

TeqTT

TTeqT

NBRqsenqqHR

qsenqqHRNqsenqqHBR

qqP

=

2222 cos

0)(

qgLmRqd

xT

Programa en MATLAB (Ver anexo 1; tabla I)

md=0.4;mb=1;m2=0.1;h=0.01;Rd=0.07;B=0.21;A=0.044;%Ly1;L2=0.3;Lx2=0.14;I1=0.0013;I2=0.0273;Jm1=1.4628*10^(-6);Jm2=1.2055*10^(-6);Bm1=2.0143*10^(-7);Bm2=5.6877*10^(-8);Jg1=5.63*10^(-5);Jg2=5.63*10^(-5);Bg1=7.05*10^(-5);Bg2=7.05*10^(-5);n1=18.5;n1=18.5;Ra1=3.43;Ra2=3.43;

La1=1.5*10^(-3);La2=1.5*10^(-3);%Vb1;%Vb2;%Va1=Va2=24; maxima voltaje%Ia1=Ia2=0.7 maxima corrienteKA1=14.07;KA2=14.07;Kt1=0.0437;Km1=Kt1;Kt2=0.0437;Km2=Kt2;Kb1=0.0437;Kb2=0.0437;%u1= u2=1.4 voltios maximo voltajde de controlg=9.81;%funcion de transferencia en tiempo continuo:FT=q(s)/U1(s)%q: es el angulo de salida del servomotor.%u: es el voltaje de entrada al servomotor.Jeq1=n1^2*Jm1+Jg1;Beq1=n1^2*Bm1+Bg1;

num=KA1*n1*Km1; %den=[La1*Jeq1 Ra1*Jeq1+La1*Beq1Km1*Kb1*n1^2+Ra1*Beq1 0];%printsys(num,den);

%mostramos el comportamiento del servo%figure(1)%amp=1; % magnitud del escalon%step(amp*num,den); % repuesta del sistema sila entrada es un escalo unitario (1V)%figure(2)%amp=0.1;%step(amp*num,den);%———————————————————————————%convertimos a tiempo discreto la funciondetransferencia del servo(planta) .Ts = 0.04;% tiempo de muesreo% utlizamos retentor de orden cero a la enttrada.[numz,denz] = c2dm(num,den,Ts,’zoh’); % los expson decrecientes en Z: Z^2 Z^1 Z^0%———————————————————————————%Controlador PID discreto.Kp=1;Ki=4;Kd=0.00002; %los exp. de num son z^2 z^1z^0% Kd<0.0001numcz = [Kp+(Ki*Ts*0.5)+((2*Kd)/Ts) (Ki*Ts)-(4*(Kd/Ts)) -Kp+(Ki*Ts*0.5)+((2*Kd)/Ts)];dencz = [1 0 -1];

%Funcion de transferecia en lazo abierocontrolador-plantanumaz = conv(numz,numcz)denaz = conv(denz,dencz)

Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica

388

%funcion de transerencia en lazo cerrado .relimentado.% realimentación unitaria.% es decir el rango de voltaje de entrada y posicionde salida en rad es% el mismo[numlc,denlc]= feedback(numaz,denaz,1,1)

%mostramos el resultado para diversos voltajesde entrada.% se ve como la posicion de salida se estabilizat=0:Ts:5; ffin=size(t); fin=ffin(2)umag=1 % voltaje de referencia[x2] = dstep(umag*numlc,denlc,fin);

stairs(t,x2); grid on;xlabel(‘tiempo (seconds)’)ylabel(‘posicion (rad)’)title(‘Rspuesta del sistema en lazo cerrado’)

Respuesta del sistema en lazo cerradocuando la entrada de referencia es un escalónunitario (1 voltio.).

Figura 7: Servomotor desmontado

Como requerimos cambio de dirección de flujode corriente a través de las bobinas, entoncesusamos un puente H para cada bobina que constarade 2 TIP127 (PNP) y 2 TIP122 (NPN) ambos sonDarlington y soportan hasta 8 Amp.

Donde cada uno será puestos en corte ysaturación por medio de un transistor BC547(NPN).La base de cada transistor BC547 será conectadaa una patita del PIC por medio de un diodo, elpic da en cada patita 5v, el puente es alimentadocon 12v y 2 BC547 son alimentados con 5v. Conestas consideraciones hacemos los cálculos paraque los transistores trabajen en corte y saturación.

Figura 6: Posición y tiempo

Etapa de potencia

En la siguiente figura se muestra lacomposición interna de un servomotor. Se puedeobservar el motor, la circuitería de control, un juegode piñones, y la caja. También se pueden ver los3 cables de conexión externa:

El cable de color rojo es para alimentación,Vcc = +5volts.

• El cable de color negro para conexión atierra (GND).

• El cable de color blanco o amarillo es lalínea de control por la que se le envía laseñal codificada para comunicar el ánguloen el que se debe posicionar.

Figura 8: Puente H para cada bobina

Avvv

I 77.015

2.02.012 =Ω−−=

De la hoja técnica (Anexos 2 y 3: Hoja técnicatip122 y tip127)

Para hacer las pruebas programamos unasecuencia determinada en un PIC16F84 y loconectamos a nuestro circuito de potencia setendrá lo siguiente.

Memorias - XVII CONIMERA

389

Figura 9: Circuito de potencia

Etapa de control

Ahora ya podemos darle movimiento al Brazo,pero no es posible indicarle la dirección que tieneque seguir para tomar un objeto ya que los objetosserán colocados en forma aleatoria. Para que elbrazo pueda seguir la trayectoria correcta entoncesel PIC deberá de recibir la modulación por anchode pulso que debe de hacer cada motor para poderllegar al objeto una ves ahí el motor DC se accionaray se cogerá el objeto, luego llevara el objeto hastasu respectivo deposito y regresara a su posicióninicial, entonces en base a esto elaboramos unalógica para la programación del PIC16F877tomando en cuenta que el microcontrolador seráprogramado también para darle al brazo robóticoun movimiento armónico en el cual todos losmotores empiecen a moverse al mismo tiempo yterminen también en un mismo instante, esto leda al brazo una apariencia más real.

Procesamiento de imágenes

Esta imagen será la entrada para nuestroprocesamiento, esto en sí es una vista superiorde nuestro brazo y del objeto a mover, luegohaciendo un análisis de imágenes, este nospermitirá conocer el ángulo que se tiene desdeel brazo hacia el objeto y a su vez también ladistancia que separa estos elementos.

Figura 10: El brazo robótico

Ahora ¿De que manera haremos que el PICreciba la modulación?, para lograrlo usamos unaPC con el Software Labview 7.1 el cual recibirádatos por el puerto USB de las posiciones quetienen los objetos por medio de una Cámara Weby le comunicara serialmente la cantidad de queángulo hará cada motor y en que momento el motorDC se activara. Describiremos cual es la lógicapara la programación el Labview.

La captura por parte de la cámara Web tomaimágenes desde la parte superior del brazo, elsiguiente esquema nos muestra un ejemplo.(verfigura 12)

Figura 11. Vista superior encontradoparámetros d, α

Este es un ejemplo de captura por parte dela cámara Web toma imágenes desde la partesuperior del brazo, en esta figura se muestra.

El siguiente paso luego de obtener estos dosdatos es hacer en labview un programa que calculeel ángulo que deberá dar cada motor para poderllegar al correspondiente objetivo.

El ángulo que deberá girar el brazo no es unproblema complejo de resolver debido a quetenemos el motor base que nos permite hacer elgiro del brazo en cualquier ángulo con lo cual elángulo se encuentra en cada motor y luego semueve a un ángulo 1 el motor1 y esto se enviarael dato a la PC el valor del ángulo 1, por lo cualse necesitaría un algoritmo óptimo en laview, enla siguiente figura se muestran:

Figura 12: Esquema del brazo robótico

Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica

390

Figura 13: Esquema geométrico

Los procesos con la utilización de laherramienta de sotware LABVIEW

Para el desarrollo de captura, procesamientode imagen y comunicación con la tarjetacontroladora se indicara los procesos:

a) Captura la imagen.b) Procesamiento de imagen.c) Cálculo matemático para el movimiento.d) Envió de la data a la tarjeta controladora

de los servomotores.

A) Captura la imagen

En este proceso no se contaba con unhardware como el Compact Vision o tarjetasadecuadas de National Instrument, además decámaras digitales de buena resolución. Por motivode costos, esto fue reemplazado por libreríasdescargadas de la página de National Instrumentpara adquirir imágenes mediante cámaras Web conUSB, ya que son de relativamente de bajo costo,además que para el propósito del proyecto estoera suficiente. El esquema en Labview para lacaptura de imagen es el siguiente (ver figura 14):

Luego hacemos la capturación de imagen yhaciendo los pasos en labview, esto se hizo laexperiencia en un escritorio y colocamos unacartulina blanca sobre la mesa del escritorio y secoloco lo objetos sobre la cartulina y que lacámara web lo detecto como se ve en lassiguientes figuras.

En la figura 17 hay varios bloques quesignifica que son proceso que asigna una funcióntambién se le llama el numero de rejillas y queen ese bloque primero se encuentra activa que hacela operación de capturar la imagen y luegollevamos la imagen a escala de grises (paramodificar contraste) .

Y continuación se da los pasos el procesode captura, en la siguiente figura se ve elengrosamiento de bordes para que no quede lafigura partida.

Figura 14: Esquema de LABVIEWcaptura la imagen

Figura 15: Captura la imagen

Figura 16: Engrosamiento de bordes

Pasamos un primer filtro para quedarnos conlos tonos más intensos (contraste).

Figura 17: Primer filtro

Llevamos la imagen a «dos colores» el rojoes color y el negro es ausencia de color.

Memorias - XVII CONIMERA

391

Figura 18: Imagen a 2 colores rojo y negro

Detección de bordes (cambios de color)

Llenamos los interiores y mejoramos el área.

Figura 19: Detección de bordes

Aplicamos un filtro que elimina los bordes nocerrados.

FIigura 20: Filtro de bordes cerrados

Aplicamos un filtro de Particulas.

Figura 21: Filtros de partículas

Figura 22: Áreas llenadas

Finalmente hacemos el reconocimiento de losobjetos previamente definidos.

Figura 23: Reconocimiento de objetos

Presentación de Labview

Figura 24: Captura la imagen - presentación enLABVIEW

B) Procesamiento de imagen

Para el cual se dispondrá de un subVI dentrodel VI principal.

Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica

392

En este caso parte del procesamiento deimágenes se trabajó con el software de VisionAssistant 7.1, y la otra parte se trabajó con losVIs de Labview 7.1, ya que se tenían ciertaslimitaciones en el empleo de algunas funcionesdel primer software mencionado.

Como es sabido que para hacer un buenreconocimiento de imágenes sería ideal unacámara de buena resolución, para poder diferenciarbien los colores, los contornos y eliminar ladistorsión de la geometría que se pueda presentarpor la perspectiva y la posición como se dispongala cámara.

En nuestro caso al disponer de una cámaraWeb, se tuvo que hacer un mayor procesamientode imágenes con el fin de eliminar estosinconvenientes y reconocer el objeto a mover ala posición adecuada.

Aquí lo que se busca es ubicar lascoordenadas, en el plano XY, del objeto a mover;también encontrar las coordenadas (en el planoXY) del punto destino, dado por una plantilla, adonde se piensa llevar el objeto(ver figura 11) ytambién se observa a continuación en vi de labwiew.

Figura 25: Procesamiento de imágenes en VI

C) Cálculo matemático para elmovimiento

También se dispondrá de un subVI para esteproceso.

Aquí el subVI calculará los pasos y el sentidode giro que debería dar cada uno de los cincomotores, esto en función de las medidasgeométricas de cada parte del brazo, su ubicacióncon respecto al plano de referencia (ejes XY) yel ángulo en torno al eje Z medido desde la posicióninicial del brazo hasta la posición en que seencontrará el objeto y hasta donde se piensa moverlo,calculado ya en el subVI mencionado anteriormente

Figura 26 : Programa en labview que calcula elángulo de giro en cada motor

D) Envio de la data a la tarjetacontroladora de los servomotores

Existirá un subVI encargado de enviar losdatos, por el puerto serial COM1 medianteprotocolo RS232, al microcontrolador PIC16F877de la tarjeta de control, a una velocidad de 19200baudios.

Figura 27: Transmisión serial

Cálculo de los ángulos a distancias

Como se observa en la figura 12 se hace loscálculos:

Conocemos los 4 lados

Calculamos el valor de las diagonales d=sqrt((di-l4)*(di-l4)+h*h); m =sqrt((a*c+b*d)*(a*d+b*c)/(a*b+d*c)); n =sqrt((a*c+b*d)*(a*b+d*c)/(a*d+b*c));

Calculamos los ángulos internos aplicandoleyes geométricas:

r1=(a*a+b*b-m*m)/(2*a*b); r2=(b*b+c*c-n*n)/(2*b*c); r3=(c*c+d*d-m*m)/(2*c*d); r4=(a*a+d*d-n*n)/(2*a*d);

Finalmente los ángulos a girar cada motor serán: t1=180-(acos(r4)+atan((di-l4)/h))*180/pi; t2=180-acos(r1)*180/pi; t3=180-acos(r2)*180/pi; t4=(acos(r3)+atan(h/(di-l4)))*180/pi

Memorias - XVII CONIMERA

393

Detalle parte del algoritmo del PIC

#use delay(clock=20000000) #use

rs232(baud=19200,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

Dentro del MAIN for(i=0;i<16;i++) answer=getch(); motor[i]=answer; for(i=0;i<8;i++); recepción de signo answer=getch(); signo[i]=answer; inicio: //envio de la trama para verificar corrección for(i=0;i<16;i++) printf («%c»,motor[i]); for(i=0;i<8;i++) printf («%c»,signo[i]); answer=getch(); if (answer==’L’) //verificamos la trama goto continua; else goto inicio; continua:…….

Conclusiones

• Se piensa utilizar el DSPIC mejoraría larespuesta del sistema.

• Los algoritmos en labview, se tendrá quemejorar.

• Para proceso industriales se requerirá maspotencias por lo cual se usarían motoresindustriales.

Recomendaciones y bibliografías

OGATA KATSUHIKO, Sistema de control entiempo discreto, Prentice Hall, University ofMinnesota ,1996.

MARTINEZ VIDAL JOSE LUIS, Control deProcesos Industriales, Dpto. de Ing. DeSistemas y Automática, 1998.

OGATA KATSUHIKO, Designing Linear ControlSystem with MATLAB, Prentice Hall, 1994.

ERONINI-UMEZ-ERONINI, Dinámica deSistema y Control, Thomson Learning, 2001.

OLLERO BATURONE ANIBAL, Robótica,Manipuladores y robots móviles, Alfaomega,2001.

ANEXOS

ANEXO 1: TABLA I: VARIABLES YPARAMETROS ENCONTRADOS

ANEXO2: HOJA ESPECÍFICA TIP 127 PNP

Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica

394

ANEXO3: HOJA ESPECÍFICA TIP 122 NPN

ANEXO 4: DATASHETT PIC 16F877