Anda di halaman 1dari 199

Tecnolgico de Baja California

Diseo e Implementacin de un Sistema de Control para un


Manipulador Robtico Educativo de 4 Grados de Libertad tipo
RRR.R
Titulacin Mediante la Elaboracin de Tesis para Obtener el Ttulo de:

Ingeniero en Ciencias Computacionales y Telecomunicaciones


RVOE 005/2013
Fecha de autorizacin: 30 de Abril de 2013

Realizado por:
Santiago de Jesus Vega Len
Generacin 2009-2013
Direccin de Tesis:
Dr. Fernando Daniel Von Borstel Luna

La Paz B.C.S. Marzo de 2015

La Paz B.C.S. a 3 de Marzo de 2015

DECLARATORIA

El que suscribe pasante de la carrera de Ingeniera en Ciencias


Computacionales y Telecomunicaciones del Tecnolgico de Baja California,
Campus La Paz, hace constar que el contenido de la tesis presentada para
acreditar la titulacin de la mencionada carrera, contiene citas de diferentes
autores, referenciados en la misma obra, as mismo declara que es
responsable del contenido ntegro de dicha investigacin, en cada uno de sus
apartados.

ATENTAMENTE

Santiago de Jesus Vega Len

Agradecimientos

Cabe dar mencin y agradecimiento en el presente trabajo a las personas que


influyeron directa e indirectamente en l, brindando su apoyo para que este fuera posible.

Al Dr. Fernando Daniel Von Borstel Luna, por su direccin, orientacin y apoyo
tanto en cuestiones tcnicas como morales a lo largo de todo el proceso de
realizacin de la tesis.

Al Ingeniero Esteban Moreno Cervantes, por sus revisiones y orientacin en cuanto


a la metodologa del escrito de la tesis.

Al Centro de Investigaciones Biolgicas del Noroeste, S.C. (CIBNOR) por los


medios, espacios y materiales para llevar a cabo el presente trabajo.

Al personal del taller de maquinado del CIBNOR, Jorge Cobos Anaya y Alfonso
lvarez Casillas por su trabajo de fabricacin de piezas y modificaciones al
manipulador.

A mi alma mater por la formacin acadmica y moral, la base de los conocimientos


que hoy poseo.

A mi familia por su apoyo y formacin dentro de los valores que hoy hacen de m la
persona que soy.

Resumen

El presente trabajo tiene como objetivo el diseo e implementacin de un sistema


de control de lazo cerrado para un manipulador robtico de 4 grados de libertad, para ello
fue seleccionado el robot manipulador OWI-535 fabricado por la industria OWI Robots,
debido a su bajo costo y su mecanismo de movimiento de sus articulaciones.
El manipulador OWI-535 est diseado para uso didctico a un costo bastante
accesible econmicamente en comparacin con otros manipuladores, este brazo robtico
cuenta con un sistema de control de lazo abierto lo que impide un anlisis de la posicin
de cada una de las articulaciones y por la misma razn es imposible conocer el
posicionamiento del efector final sin la supervisin directa del usuario.
En este trabajo se describe a detalle el desarrollo del sistema de control para
mejorar al OWI-535, creando un sistema de lazo cerrado que le permitan al manipulador
realizar tareas con la mayor exactitud y precisin posible, implementando un sistema
basado en un microcontrolador PIC, manejadores de motores de CD, sensores pticos y
mecnicos, adems de software libre desarrollado en Matlab. Las modificaciones
realizadas al OWI-535 consistieron en adecuar las cajas reductoras de cada articulacin,
perforando uno de sus engranes para instalar un opto-interruptor, el cual posteriormente
ayuda a contabilizar las revoluciones de los motores de las articulaciones para conocer su
ngulo rotacional mediante el sistema electrnico basado en el microcontrolador PIC.
El sistema electrnico del microcontrolador permite comunicarse con una PC a
travs de un puerto USB, donde mediante una interfaz de usuario grfica y las libreras de
robtica de cdigo abierto, permite simular grficamente la posicin del manipulador,
controlarlo directamente introduciendo coordenadas tridimensionales dentro de su
espacio de trabajo y ejecutar tareas repetitivas previamente programadas en un archivo
de texto, entre otras cosas ms.
Diversas pruebas experimentales fueron realizadas para afinar al sistema de
control, dada las limitaciones dinmicas del robot. Los experimentos realizados
permitieron analizar estadsticamente los datos recabados, para efectuar una medicin
del rendimiento del manipulador. Parmetros como la exactitud y precisin del robot, que
permiten conocer el posicionamiento de su efector final en un ambiente simulado como
en el medio real, fueron medidos. Una comparacin con diversos trabajos realizados
anteriormente permitieron concluir las ventajas, beneficios, aplicaciones, y posible trabajo
a futuro para mejorar el prototipo implementado.

Abstract
This work aims at designing and implementing a system of feedback control for 4 degrees
of freedom robotic arm. The robotic arm OWI-535 was chosen to implement the system
prototype, due to its low cost and its mechanism of motion of its joints. OWI-535 is manufactured
by OWI Robots Corporation.
The OWI-535 is designed for educational purposes and has an economically affordable
cost compared to other manipulators. This robotic arm system has not a feedback control, which
prevents any analysis of the position of the joints, and for the same reason it is impossible to know
the end effector position without the direct supervision of the user.
This document describes in detail the development of the control system to improve the
OWI-535, creating a feedback system that allow the manipulator to do tasks as accurately and
precisely as possible, implementing a system based on a PIC microcontroller, DC motors drivers,
optical and mechanical sensors, plus free software developed in Matlab. Modifications to the OWI535 consisted of adapting the gearboxes of each joint, piercing one of its gears to install an optoswitch, which helps to count the revolutions of the joint motors to know its rotational angle using
an electronic system based on the PIC microcontroller.
The microcontroller system allows communication with a PC through an USB port, where a
graphical user interface and open source robotic libraries simulate the position of the manipulator,
control it directly by introducing three-dimensional coordinates within its workspace, and allow
perform repetitive tasks previously programmed in a text file, among other things.
Various experimental tests were performed to refine the control system, given the
limitations of the robot dynamics. Experiments led to statistically analyze the collected data, and
to measure the manipulator performance. Parameters such as accuracy and precision of the robot,
which allow to know the positioning of the end effector in simulated and real environments, were
measured. A comparison with several studies made possible to conclude the advantages, benefits,
applications, and future work to improve the implemented prototype.

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

ndice Temtico
ndice Temtico ................................................................................................................................ i
ndice de Figuras ............................................................................................................................. v
ndice de Tablas .............................................................................................................................. iix
Captulo 1: Introduccin ...................................................................................................................... 1
1.1 Justificacin ............................................................................................................................... 2
1.2 Objetivos ................................................................................................................................... 2
1.2.1 Objetivos particulares ........................................................................................................ 3
1.3 Planteamiento del problema .................................................................................................... 4
1.3.1 Definicin y antecedentes del problema ........................................................................... 4
1.3.2 Formulacin del problema ................................................................................................. 5
1.4 Hiptesis .................................................................................................................................... 5
1.5 Importancia del estudio y posibles aplicaciones ....................................................................... 5
1.6 Propuesta de la solucin ........................................................................................................... 6
1.7 Marco Terico ........................................................................................................................... 7
1.8 Alcances y lmites del proyecto ................................................................................................. 7
1.9 Validacin de la solucin ........................................................................................................... 7
1.10 Fases Metodolgicas ............................................................................................................... 8
1.8 Descripcin del Documento ...................................................................................................... 8
Captulo 2: Marco Terico ................................................................................................................... 9
2.1 Precisin y Exactitud ............................................................................................................... 10
2.2 Clasificacin de robots manipuladores ................................................................................... 10
2.3 Grados de libertad................................................................................................................... 11
2.3.1 Manipuladores con seis GDL ............................................................................................ 11
2.3.2 Manipuladores bajo actuados. ......................................................................................... 11
2.3.3 Manipuladores Redundantes ........................................................................................... 12
2.4 Ejes coordenados y transformaciones homogneas .............................................................. 12
2.5 Cinemtica directa .................................................................................................................. 15
2.6 Cinemtica inversa .................................................................................................................. 15
2.7 Representacin Denavit-Hartenberg ...................................................................................... 18

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

2.7.1 Algoritmo de Denavit-Hartenberg para obtener el modelo cinemtico directo ............. 19


2.8 Teora de control ..................................................................................................................... 20
2.8.1 Sistemas de control retroalimentados ............................................................................. 21
2.8.2 Sistemas de lazo de control abierto y cerrado ................................................................. 21
2.9 Sistemas embebidos................................................................................................................ 22
2.10 Electrnica digital y analgica; comunicacin serial y paralela ............................................ 23
2.11 Lenguajes de programacin matemticos de alto nivel ....................................................... 23
2.11.1 Simulacin grfica .......................................................................................................... 25
Captulo 3: Diseo e Implementacin del Sistema de Control para el Manipulador Robtico ........ 27
3.1: Caracterizacin Experimental y Anlisis del Manipulador OWI-535...................................... 28
3.1.1 Estructura del manipulador OWI-535 .............................................................................. 28
3.1.2 Espacio de trabajo ............................................................................................................ 29
3.1.3 Dimensiones del espacio de trabajo del manipulador ..................................................... 31
3.1.4 Sistema de Engranajes ..................................................................................................... 32
3.2 Diseo y Construccin del Sistema de Control para el OWI-535 ............................................ 33
3.2.1 Microcontrolador ............................................................................................................. 33
3.2.1.1 Tarjeta controladora ................................................................................................. 34
3.2.2 Circuito de transmisin y recepcin de datos .................................................................. 36
3.2.3 Modificacin del sistema de engranes de las articulaciones ........................................... 36
3.2.4 Instalacin de los opto-interruptores .............................................................................. 39
3.2.4.1 Adecuacin de la seal de los opto-interruptores .................................................... 41
3.2.5 Creacin de una posicin de inicio ................................................................................... 42
3.2.6 Diseo de circuitos de control para los motores ............................................................. 42
3.2.7 Diseo del sistema electrnico completo ........................................................................ 44
3.2.8 Diseo y montaje de circuitos impresos .......................................................................... 46
3.2.9 Montaje de la caja de circuitos electrnicos .................................................................... 49
3.2.10 Espacio de trabajo final del OWI-535 modificado.......................................................... 52
3.2.11 Fuente de alimentacin ................................................................................................. 53
3.3 Firmware ................................................................................................................................. 54
3.3.1 Bucle principal .................................................................................................................. 54
3.3.2 Subrutinas ........................................................................................................................ 56
3.3.2.1 Subrutina de Posicin Inicial ..................................................................................... 56
ii

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.3.2.2 Subrutina Mover ....................................................................................................... 56


3.3.2.3 Subrutinas de Conteo, Seleccin y Posicionamiento ............................................... 58
3.3.2.4 Subrutina de Clculo de Movimiento ....................................................................... 62
3.3.2.5 subrutinas de control de la herramienta .................................................................. 65
3.4 Software .................................................................................................................................. 65
3.4.1 Librera de robtica visin y control (RVC) ....................................................................... 66
3.4.2 Script principal OWI535.m ............................................................................................... 66
3.4.3 Modificacin de la funcin Teach.m ................................................................................ 71
3.4.4Comunicacin entre Software y Hardware ....................................................................... 73
3.4.4.1 Protocolo de Comunicacin entre Matlab y microcontrolador ................................ 73
Captulo 4: Resultados Experimentales ............................................................................................. 75
4.1 Resolucin prctica y frecuencia de muestreo ....................................................................... 76
4.2 Experimentos de precisin ...................................................................................................... 76
4.2.1 Precisin de la primera articulacin ................................................................................. 77
4.2.2 Precisin de la segunda articulacin ................................................................................ 80
4.2.3 Precisin de la tercera articulacin .................................................................................. 82
4.2.4 Precisin de la cuarta articulacin ................................................................................... 84
4.3 Experimentos de exactitud ..................................................................................................... 86
4.3.1 Exactitud de la primera articulacin ................................................................................ 88
4.3.2 Exactitud de la segunda articulacin ................................................................................ 90
4.3.3 Exactitud de la tercera articulacin.................................................................................. 93
4.3.4 Exactitud de la cuarta articulacin ................................................................................... 95
4.4 Experimentos finales de posicionamiento .............................................................................. 98
Captulo 5: Conclusiones ................................................................................................................. 100
5.1 Conclusin de la hiptesis ..................................................................................................... 101
5.2 Cumplimiento de objetivos ................................................................................................... 101
5.2.1 Conclusin de la investigacin documental ................................................................... 102
5.2.2 Conclusin de la investigacin de campo ...................................................................... 102
5.3 Conclusin de los resultados experimentales ....................................................................... 105
5.4 Recomendaciones ................................................................................................................. 106
5.5 Comparativa .......................................................................................................................... 106
5.6 Trabajo a futuro y posibles mejoras ...................................................................................... 109
iii

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Bibliografa ...................................................................................................................................... 110


Apndice.......................................................................................................................................... 112
A 1.- rea de trabajo del robot manipulador OWI-535 propuesta por el fabricante ..................... 112
A 2.- Caractersticas del microcontrolador PIC16F877A ................................................................. 113
A 3.- Caractersticas tcnicas del MAX232 ...................................................................................... 114
A 4.- Caractersticas del puente H L293 .......................................................................................... 115
A 5.- Cdigo fuente de Softwi V1.0 ................................................................................................. 116
A 6.- cdigo fuente de OWI535.m................................................................................................... 130
A 7.- Librera Teach.m modificada .................................................................................................. 132
A 8. Tablas de resultados del experimento 1 .................................................................................. 152
Resultados de la Base .................................................................................................................. 152
Resultados de la segunda articulacin ........................................................................................ 156
Resultados de la tercer articulacin ............................................................................................ 160
Resultados de la cuarta articulacin ........................................................................................... 164
A 9 Tablas de resultados de experimentos de exactitud ................................................................ 168
Resultados de la Base .................................................................................................................. 168
Direccin: Derecha .................................................................................................................. 168
Direccin: Izquierda ................................................................................................................ 168
Resultados de la segunda articulacin ........................................................................................ 169
Direccin: Abajo ...................................................................................................................... 169
Direccin: Arriba...................................................................................................................... 169
Resultados de la tercer articulacin ............................................................................................ 170
Direccin: Abajo ...................................................................................................................... 170
Direccin: Arriba...................................................................................................................... 170
Resultados de la tercer articulacin ............................................................................................ 171
Direccin: Abajo ...................................................................................................................... 171
Direccin: Arriba...................................................................................................................... 171
Resultados de la cuarta articulacin ........................................................................................... 172
Direccin: Abajo ...................................................................................................................... 172
Direccin: Arriba...................................................................................................................... 172
A 10.- Circuito Parallax acelermetro ............................................................................................. 173
A 11.- Resultados de experimento final de posicionamiento ......................................................... 178
iv

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

ndice de Figuras
Captulo 1: Introduccin
Figura 1.1 Robot manipulador educativo OWI-535 ........................................................................ 2
Figura 1.2 Ejemplo de transformaciones para describir la posicin del efector final o herramienta
en un plano cartesiano .................................................................................................................... 3
Figura 1.3 Esquema a bloques del sistema de control propuesto para el manipulador................. 6
Figura 1.4 Diagrama a bloques del sistema manipulador empleando la cinemtica inversa y
directa para mejorar la precisin en el espacio de trabajo............................................................. 7
Captulo 2: Marco Terico
Figura 2.1 Diversas categoras de robots ...................................................................................... 10
Figura 2.2 a). El robot Puma 560 ................................................................................................... 11
Figura 2.2 b). El brazo Stanford .................................................................................................... 11
Figura 2.3 Robot SCARA Cobra S600 con 4 GDL ............................................................................ 12
Figura 2.4 Robot articular .............................................................................................................. 17
Figura 2.5 Sistemas de coordenadas de elementos y sus parametros ........................................ 18
Figura 2.3 Establecimiento del sistema de coordenadas de elementos para un robot
manipulador de 6 GDL ................................................................................................................... 19
Figura 2.4 Robot que usa un proceso de reconocimiento de patrones ........................................ 21
Figura 2.5 Ejemplo de transmisin de datos, paralelo y serial...................................................... 24
Captulo 3: Diseo e Implementacin del Sistema de Control para el Manipulador Robtico
Figura 3.1 Dimensiones longitudinales del OWI-535 .................................................................... 28
Figura 3.2 Longitudes de cada articulacin del OWI-535; desde la base hasta la punta de la
herramienta................................................................................................................................... 28
Figura 3.3 Movimiento de rotacin de la articulacin de la base del OWI-535 ............................ 29
Figura 3.4 Giro angular mximo de la articulacin que genera un movimiento vertical de la base
en superficie plana ........................................................................................................................ 29
Figura 3.5 Movimiento de la articulacin del codo del OWI-535, con el giro angular mximo
determinado experimentalmente ................................................................................................. 30
Figura 3.6 La figura presenta el movimiento mximo de mueca producido por la ltima
articulacin del manipulador ........................................................................................................ 30
Figura 3. 7 Apertura mxima de la pinza, la cual es la herramienta del manipulador.................. 30
v

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.8 rea de trabajo en el plano horizontal, efectiva del OWI-535 de acuerdo a las
mediciones realizadas ................................................................................................................... 31
Figura 3.9 rea de trabajo en el plano vertical efectiva del OWI-535 en el borde de mesa ........ 31
Figura 3.10 Caja de engranajes de reduccin del OWI-535 .......................................................... 32
Figura 3.11 Terminales del microcontrolador PIC16F877a ........................................................... 33
Figura 3.12 Diagrama recomendado por Microchip para la conexin del cristal oscilador y los
capacitores .................................................................................................................................... 34
Figura 3.13 Tarjeta controladora DIR-735, utilizada como plataforma bsica para el PIC
PIC16F877a .................................................................................................................................... 35
Figura 3.14 Diagrama de circuito para la instalacin del botn de reinicio de programa ............ 35
Figura 3.15 Diagrama del circuito de trasmisin y recepcin de datos ........................................ 36
Figura 3.16 Esquemtico de las perforaciones realizadas al engrane P4-M ................................. 38
Figura 3.17 Opto-interruptor encapsulado y su diagrama ............................................................ 39
Figura 3.18 Instalacin del opto-interruptor dentro de la caja de engranes ................................ 40
Figura 3.19 Modificacin recomendada para la instalacin del opto-interruptor ....................... 40
Figura 3.20 Instalacin final del opto-interruptor en una caja de reduccin ............................... 41
Figura 3.21 Diagrama del 74LS14, circuito inversor con disparador Schmitt ............................... 41
Figura 3.22 Posicin inicial del OWI-535 modificado .................................................................... 42
Figura 3.23 Representacin de un puente H con interruptores ................................................... 43
Figura 3. 24 Diagrama del circuito de control de motores para el OWI-535 modificado ............. 44
Figura 3.25 Diagrama del circuito del sistema de control para el OWI-535 modificado .............. 46
Figura 3.26 Placa 1 con circuitos de comunicacin serial y recepcin de seales de optointerruptores ................................................................................................................................. 47
Figura 3.27 Placa 2 con circuitos Puente H para controlar los motores de CD ............................. 48
Figura 3.28 Placa 1 finalizada con los componentes correspondientes ....................................... 48
Figura 3.29 Placa 2 finalizada con los correspondientes componentes electrnicos ................... 48
Figura 3.30 a) Diseo de la placa 3 para micro-interruptores ...................................................... 49
Figura 3.31 b) Placa 3 ensamblada ............................................................................................... 49
Figura 3. 32 Vista frontal de la caja, medidas reales de la caja de circuitos ................................. 49
Figura 3.33 Vista lateral derecha y vista lateral izquierda ........................................................... 50
Figura 3. 34 Vista superior de la caja, botn de paro de emergencia ........................................... 50
Figura 3. 35 Vista trasera de la caja, sus componentes y medidas calculadas ............................. 51

vi

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.36 Tarjetas electrnicas instaladas en el interior de la caja contenedora ...................... 51


Figura 3.37 OWI-535 modificado con la caja de circuitos y dems dispositivos mencionados
anteriormente ............................................................................................................................... 51
Figura 3.38 Espacio de trabajo horizontal del OWI-535 modificado ............................................ 52
Figura 3.39 Espacio de trabajo vertical del OWI-535 modificado ................................................. 52
Figura 3.40 Conectores de seguridad utilizados en la carcasa y el cable de energa .................... 53
Figura 3.41 Rutina principal del Softwi ......................................................................................... 55
Figura 3. 42 Diagrama de bloques de la subrutina Mover ............................................................ 57
Figura 3.43 Diagrama a bloques del funcionamiento de la subrutina de posicionamiento ......... 59
Figura 3. 44 Diagrama a bloques de la subrutina Seleccin .......................................................... 61
Figura 3.45 Diagrama a bloques de la subrutina de Conteo ......................................................... 62
Figura 3.46 Diagrama a bloques de la subrutina Calculo de Movimiento .................................... 64
Figura 3.47 Diagrama de flujo de la subrutina abrir pinza y diagrama de flujo de la subrutina
cerrar pinza.................................................................................................................................... 65
Figura 3.48 Asignacin de ternas (X, Y, Z) de los ejes de referencia de cada articulacin del OWI535 ................................................................................................................................................. 66
Figura 3.49 Grfica en vectores de la simulacin del manipulador OWI-535 en su Posicin Inicial
(Home)........................................................................................................................................... 70
Figura 3.50 GUI de la funcin Teach.m para el robot OWI-535 .................................................... 71
Figura 3.51 GUI de la funcin modificada Teach.m para el robot OWI-535 modificado .............. 72
Figura 3.52 Diagrama a bloques del protocolo de comunicacin Matlab PIC ........................... 73
Captulo 4: Resultados Experimentales
Figura 4.1a Grfica representativa de la desviacin estndar en la base para movimientos
negativos ....................................................................................................................................... 79
Figura 4.1b Grfica representativa de la desviacin estndar en la base para movimientos
positivos ........................................................................................................................................ 79
Figura 4.2a Grfica representativa de la desviacin estndar en la segunda articulacin para
movimientos positivos (hacia abajo)............................................................................................. 81
Figura 4.2b Grfica representativa de la desviacin estndar en la segunda articulacin para
movimientos negativos (hacia arriba) ........................................................................................... 81
Figura 4.3a Grfica representativa de la desviacin estndar en la tercera articulacin en
movimientos positivos (hacia abajo)............................................................................................. 83
Figura 4.3b Grfica representativa de la desviacin estndar en la tercera articulacin en
movimientos negativos (hacia arriba) ........................................................................................... 83
vii

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 4.4a Grfica representativa de la desviacin estndar en la cuarta articulacin para


movimientos positivos (hacia abajo)............................................................................................. 85
Figura 4.4b Grfica representativa de la desviacin estndar en la cuarta articulacin para
movimientos negativos (hacia arriba) ........................................................................................... 85
Figura 4.5 Ejemplo del comportamiento de la amplitud de los pulsos PWM en comparacin con
el voltaje efectivo Vrms ................................................................................................................. 86
Figura 4.6 Montaje del acelermetro en el OWI-535, en este caso especfico est montado para
realizar mediciones en la tercera articulacin del manipulador ................................................... 88
Figura 4.7 Ejemplo del comportamiento del Vrms en los movimientos angulares de la base,
medidos de 0 a -10 ..................................................................................................................... 89
Figura 4.8 Comportamiento del Vrms en los movimientos positivos (hacia abajo) de la segunda
articulacin .................................................................................................................................... 90
Figura 4.9 Comportamiento del Vrms en los movimientos negativos (hacia arriba) de la segunda
articulacin .................................................................................................................................... 92
Figura 4.10 Comportamiento del Vrms en los movimientos negativos (hacia abajo) de la tercera
articulacin .................................................................................................................................... 93
Figura 4.11 Comportamiento del Vrms en los movimientos angulares negativos (hacia arriba) de
la tercera articulacin.................................................................................................................... 94
Figura 4.12 Comportamiento del Vrms en los movimientos positivos (hacia abajo) de la cuarta
articulacin .................................................................................................................................... 95
Figura 4. 13 Comportamiento del Vrms en los movimientos negativos (hacia arriba) de la cuarta
articulacin .................................................................................................................................... 96
Figura 4.14 Representacin por puntos en un espacio tridimensional de 50 cm x 25 cm x 25 cm
de la exactitud con cdigo de colores ........................................................................................... 99

viii

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

ndice de Tablas
Captulo 3: Diseo e Implementacin del Sistema de Control para el Manipulador Robtico
Tabla 3.1 Identificador y figuras de los engranes de las cajas de reduccin del OWI-535 ........... 38
Tabla 3. 2 Tabla de verdad del CI L293 .......................................................................................... 44
Tabla 3.3 Asignacin de las terminales de cada puerto del PIC16F877a en el sistema electrnico
de control ...................................................................................................................................... 45
Tabla 3.4 Comandos validos en el Softwi V1.0 .............................................................................. 54
Tabla 3.5 Nmero de identificacin de motores del OWI-535 ..................................................... 56
Tabla 3.6 Lgica de movimientos del firmware para cada articulacin del manipulador ............ 60
Captulo 4: Resultados Experimentales
Tabla 4.1 Resultados del clculo de la resolucin con tiempo de muestreo de 5 ms en
movimientos negativos y positivos de cada articulacin .............................................................. 76
Tabla 4.2 Datos estadsticos de la primera articulacin (Base) ..................................................... 78
Tabla 4.3 Datos estadsticos de la segunda articulacin ............................................................... 80
Tabla 4.4 Datos estadsticos de la tercera articulacin ................................................................. 82
Tabla 4.5 Datos estadsticos de la cuarta articulacin .................................................................. 84
Tabla 4.6 Resultados de los experimentos de exactitud en movimientos positivos (derecha) de la
base ............................................................................................................................................... 89
Tabla 4.7 Resultados de los experimentos de exactitud en movimientos negativos (izquierda) de
la base............................................................................................................................................ 90
Tabla 4.8 Resultados de los experimentos de exactitud en movimientos hacia abajo de la
segunda articulacin ..................................................................................................................... 91
Tabla 4.9 Resultados de los experimentos de exactitud en movimientos angulares hacia arriba
de la segunda articulacin............................................................................................................. 92
Tabla 4.10 Resultados de los experimentos de exactitud en movimientos hacia abajo de la
tercera articulacin ....................................................................................................................... 93
Tabla 4. 11 Resultados de los experimentos de exactitud en movimientos hacia arriba de la
tercera articulacin ....................................................................................................................... 94
Tabla 4.12 Resultados de los experimentos de exactitud en movimientos hacia abajo de la
cuarta articulacin......................................................................................................................... 96
Tabla 4.13 Resultados de los experimentos de exactitud en movimientos hacia arriba de la
cuarta articulacin......................................................................................................................... 97

ix

ndices

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Tabla 4. 14 Compensaciones de movimiento de las articulaciones del OWI-535 por rangos de


movimientos angulares ................................................................................................................. 98
Captulo 5: Conclusiones
Tabla 5.1 Comparativa de las Versiones del OWI-535 modificada por distintos autores y los
fabricantes del manipulador ....................................................................................................... 107

Captulo 1: Introduccin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Captulo 1: Introduccion
Actualmente en la industria, en el rea cientfica y de desarrollo, la automatizacin de
procesos ha tenido mucho xito, facilitando los trabajos, hacindolos ms precisos y exactos. Pero
como toda tecnologa, al iniciar tiene un alto costo de adquisicin que deben cubrir las
instituciones o empresas.
Desde la dcada de los 60s, la robtica ha marcado un cambio en las lneas de produccin,
un claro ejemplo son las empresas automotrices, las cuales son pioneras en la automatizacin de
lneas de produccin. Los beneficios que dicha rea de la tecnologa proporciona, no solo son los
de facilitar y optimizar los procesos, tambin permite realizar tareas en ambientes hostiles que
pueden afectar la salud del ser humano.
Existen distintos tipos de robots, desde los operados a distancia, que necesitan la
supervisin y el control de una persona hasta los automticos que se programan para distintas
tareas e incluso para imitar habilidades del ser humano, por ejemplo los androides (Craig, 2006).
Los robots de inters en esta investigacin sern los de tipo manipulador que se clasifican
de acuerdo sus movimientos bsicos los cuales se pueden definir como: cartesianos (tres ejes
lineales), cilndricos (dos ejes lineales y un eje rotacional), esfricos (un eje lineal y dos
rotacionales) y de revolucin o articuladas. Las fuentes de energa utilizadas para manejar las
articulaciones del robot pueden ser: elctricas, neumticas o hidrulicas. Dichos robots pueden
tener mltiples articulaciones tanto con movimientos rotacionales, como de traslacin, y cuentan
con una herramienta que va montada al final del brazo con la cual manipulan objetos.
En el caso del brazo entrenador OWI-535 (Owi Robot, 2013), es un robot manipulador con
cuatro grados de libertad rotacionales (RRR.R) operado por motores de corriente directa para uso
educativo, por lo que su costo es econmico y accesible, aunque por sus mismas caractersticas
intrnsecas de diseo y la falta de una retroalimentacin de la posicin del mismo, no permite que
el robot muestre precisin y exactitud en sus movimientos. En esta investigacin se pretende
demostrar que el OWI-535 puede mejorar su precisin y exactitud desarrollando un sistema
completo de hardware y software que en conjunto permita calcular su cinemtica para determinar
su posicin en su plano de trabajo tridimensional, as el robot podr realizar tareas que impliquen
la manipulacin precisa de objetos de peso no mayor a 100 g, tanto en el rea cientfica, como en
la educativa.

Captulo 1: Introduccin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 1.5 Robot manipulador educativo OWI-535, tiene 4 grados de libertad y es clasificado por ser tipo RRR.R: tiene
4 articulaciones rotacionales y una pinza como herramienta final.

1.1 Justificacin
Como toda tecnologa en sus inicios su precio es inaccesible para algunas instituciones
cientficas y educativas, por lo que en muchas ocasiones se prefiere mantener el trabajo manual o
incluso artesanal de los procesos. Adems la tecnologa ms barata no siempre es la ideal para
cumplir con el trabajo, por lo que este proyecto propone la mejora de tecnologa de bajo costo
para que su precisin y exactitud sea confiable para desarrollar algn trabajo en especfico dentro
del rea cientfica y educativa.
Con este proyecto se pretende crear un brazo robtico de bajo costo de adquisicin, para
que pueda desarrollar tareas precisas en el rea de desarrollo e investigacin del CIBNOR o en
instituciones de educacin media y superior. En este trabajo se implementaran mtodos de
robtica, control, electrnica digital, programacin y creacin de firmware.

1.2 Objetivos
El objetivo principal del proyecto es disear y construir un sistema completo (hardware y
software) para controlar el robot manipulador educativo OWI-535. Desarrollando software de
control que calcule la cinemtica, sin considerar su dinmica, con el cual se pretende describir su
posicin y orientacin en un espacio tridimensional que representa el rea de trabajo del robot
manipulador OWI-535 empleando para ello conceptos tericos de robtica fundamental, tal como
el mtodo Denavit Hartenberg, el cual permite calcular la posicin de sus articulaciones con el fin
de conocer la posicin del efector final o herramienta.

Captulo 1: Introduccin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 1.6 Ejemplo de transformaciones para describir la posicin del efector final o herramienta en un plano
cartesiano (Barrientos, Pein, Balaguer, & Aracil, 1997).

Por otro lado, mediante el diseo y construccin de una plataforma de hardware, utilizando un
microcontrolador PIC16F877A, se pretende controlar los actuadores de cada articulacin y
aumentar su grado de precisin con la ayuda de sensores pticos, de manera que se pueda
comunicar con una computadora, y pueda realizar trabajos precisos con el mnimo error
permisible en cuanto a las posiciones del robot. El sistema de control completo, hardware y
software, permitir que el manipulador robtico realice automticamente trabajos de
manipulacin de objetos de pesos menores a los 100 g, de manera repetitiva y con la mayor
precisin posible.
1.2.1 Objetivos Particulares
De manera resumida podemos describir que el objetivo principal es mejorar la precisin y
exactitud del robot manipulador OWI-535 basndose en un sistema que permita el clculo de la
cinemtica del mismo y permita introducir comandos en coordenadas en un plano tridimensional;
as como la creacin de un sistema embebido que le permita funcionar de manera automtica
mediante la programacin de tareas y su ejecucin de manera precisa. Desde esta perspectiva,
podemos precisar los objetivos particulares de investigacin documental y de campo.
Objetivos de investigacin documental:
a) Familiarizacin con trminos relacionados a travs de la lectura de bibliografa.
b) Revisin de tcnicas avanzadas de robtica, para la determinacin de la cinemtica del
robot manipulador a travs del mtodo Denavit Hartenberg.
c) Revisin de libreras de software especficas para robtica en lenguajes de cuarta
generacin.
Objetivos de investigacin de campo:

Captulo 1: Introduccin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

a) Validacin de las especificaciones del manipulador OWI-535 a travs de la medicin


experimental y descripcin de los movimientos de cada actuador, tal y como viene de
fbrica.
b) Diseo y construccin de un sistema mnimo de microcontrolador que permita la
comunicacin con una computadora, controle los actuadores de un manipulador robtico,
y reciba informacin de los movimientos realizados por los actuadores, a travs de
sensores pticos.
c) Desarrollo de un sistema embebido de control para el manipulador que considere la
cinemtica del mismo, para poder comandarlo a travs de coordenadas cartesianas o
polares en un espacio tridimensional.
d) Validacin del sistema completo a travs de pruebas experimentales que midan la
precisin y la exactitud de los movimientos del manipulador.
e) Desarrollo de software de comunicacin serial e interfaz grfica que permitan utilizar
libreras especficas de robtica en lenguajes de cuarta generacin, con las cuales se
pueda realizar tareas de manera simulada, para visualizacin previa, y posteriormente
sean realizadas por el manipulador OWI-535.

1.3 Planteamiento del problema


En la actualidad la automatizacin de procesos es una parte importante para el desarrollo,
pero la tecnologa necesaria no siempre est al alcance de todos, esto se debe a elevados costos
en el equipo. Aunque la robtica y la automatizacin ha incrementado su uso en mayor escala en
la industria, sus precios an siguen altos debido a su ingeniera y su fabricacin. Los robots
manipuladores son un claro ejemplo de herramientas para la automatizacin de procesos, pero un
robot de alta resolucin con una precisin y exactitud aceptable puede representarnos un alto
costo de adquisicin.
El robot manipulador OWI-535 est diseado para uso didctico a un costo relativamente
accesible en comparacin con otros manipuladores ms precisos. Este brazo robtico cuenta con
un programa que permite la fcil manipulacin del robot, pero debido a sus caractersticas no
cuenta con una precisin y exactitud confiable para trabajar en algn proceso automatizado por
lo que no puede ser implementado en el rea de investigacin y desarrollo cientfico con las
caractersticas de fbrica, por lo que se pretende mejorar estos aspectos para obtener de esta
forma un manipulador de bajo costo y una calidad aceptable para trabajar dentro del rea antes
mencionada.
1.3.1 Definicin y antecedentes del problema
El robot manipulador OWI-535 es aplicado para uso didctico, debido a sus caractersticas
el robot maneja poca precisin y exactitud pero por sus cuatro grados de libertad (RRR.R) puede
realizar una variedad de movimientos dentro de un espacio de trabajo esfrico. El OWI-535 puede
ser mejorado para aprovecharse dentro del rea de investigacin que requiera trabajar con pesos
menores a los de 100 g El problema principal que presenta el OWI-535 es que no cuenta con
sensores que le permitan tener una precisin ptima para realizar un trabajo confiable. Debido a
lo mencionado anteriormente no existe un sistema de lazo cerrado por lo que no se puede
4

Captulo 1: Introduccin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

implementar un control adecuado del manipulador con las caractersticas de fbrica. Adems, los
accesorios complementarios comerciales para controlarlo a travs de una computadora solo le
permiten mover las articulaciones, pero no cuenta con un sistema operativo propio para calcular
su cinemtica.
Para este proyecto ser necesario investigar y calcular la cinemtica del manipulador OWI535 para determinar su posicin mediante un programa de computadora. Sensores pticos se
adaptaran al engranaje del manipulador para ayudar en el clculo de la cinemtica, creando un
lazo cerrado en el sistema. Esta solucin se plantea con el fin de mejorar la precisin en el
desempeo del manipulador el cual como ya se ha mencionado, carece de precisin debido a sus
caractersticas. La investigacin se llevara a cabo en las instalaciones del CIBNOR.
1.3.2 Formulacin del problema
La investigacin que se realizar, pretender resolver el problema de precisin del robot
manipulador OWI-535 por lo que la pregunta central de la investigacin es: se puede lograr una
mejor precisin y exactitud adecuando sensores que nos indiquen el estado y la posicin de cada
una de las articulaciones del robot?
Un sensor nos permite crear un lazo cerrado en cualquier sistema debido a la
retroalimentacin que se lleva a cabo mediante la lectura de las variables que se encuentren en el
entorno del robot, por lo que con dicha informacin y los clculos necesarios podremos conocer la
cinemtica del robot para hacer ms precisos y exactos sus movimientos.

1.4 Hiptesis
Implementando el uso de sensores en el robot manipulador OWI-535 para leer su posicin
y con la derivacin de las formulas de la cinemtica directa e inversa propia del manipulador, se
podr mejorar la precisin del robot puesto que se conocer con mayor certeza las coordenadas
que determinan su posicin actual o predecir una posicin futura.
Con la mejora ya mencionada el robot ser capaz de ser programado para llevar a cabo
trabajos en reas de investigacin cientfica o educacin que impliquen cargar pesos no mayores a
los 100 g con una mejor precisin y exactitud.

1.5 Importancia del estudio y posibles aplicaciones


Aunque en el mercado existen diversos robots manipuladores de alta precisin estos
suelen ser de precios elevados e inaccesibles para algunas instituciones con bajos presupuestos. Lo
que este proyecto propone es realizar un robot manipulador con una precisin y exactitud
aceptable y a un relativo bajo costo, por lo que el OWI-535 al ser un robot de uso didctico cumple
con las caractersticas en precio pero debido a su diseo no puede emplearse para tareas donde
sea necesario sostener objetos con un peso mayor a 100 gramos. Cabe mencionar que se pueden
encontrar diversos proyectos en la red que mejoran la precisin de dicho robot pero no existe
alguno que maneje un sistema operativo capaz de controlar el robot de manera autmata a travs
de algoritmos de control ms avanzados (Cnepa, 2010), (Vzques, 2005), (Yaguana, 2010).
5

Captulo 1: Introduccin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

En la Figura 3 se muestra el diagrama a bloques del sistema de control que se propone


disear e implementar para el manipulador robtico OWI-535. El sistema tendr un lazo de
control que ser cerrado a travs de la retroalimentacin de la informacin proporcionada por los
sensores que sern instalados en cada articulacin del manipulador.

Figura 1.7 Esquema a bloques del sistema de control propuesto para el manipulador.

Al mejorar la precisin, creando un sistema de control de lazo cerrado, el OWI-535 puede


ser implementado tanto en el rea educativa, como en laboratorios de robtica en escuelas de
nivel medio y superior as como para tareas de carcter repetitivas dentro del rea de la
investigacin, como la organizacin de tubos de ensayo, manipulacin de substancias riesgosas
para el ser humano, etctera, siempre y cuando dichos objetos a manipular cumplan con las
caractersticas con las cuales el robot puede trabajar.

1.6 Propuesta de la solucin


Se propone mejorar el robot manipulador OWI-535 mediante el uso un microcontrolador
con puertos de entrada/salida, y de sensores tipo interruptor y opto-interruptores de paso de luz
los cuales se instalaran en las articulaciones del robot para verificar sus estados y posiciones y
obtener mayor informacin de este, as como tambin crear un sistema operativo que permita al
robot llevar a cabo tareas programadas por el usuario, dichas tareas podrn ser de carcter
repetitivo, permitiendo mediante el clculo de la cinemtica directa e inversa del manipulador y
de los parmetros de Denavit Hartenberg para conocer la posicin y orientacin actual de su
efector final (herramienta) en el plano cartesiano principal (Corke, 2011). En La figura 4 se muestra
la aplicacin de la cinemtica directa e inversa en un diagrama de bloques.

Captulo 1: Introduccin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 1.8 Diagrama a bloques del sistema manipulador empleando la cinemtica inversa y directa para mejorar la
precisin en el espacio de trabajo (Chang, 1987).

1.7 Marco Terico


Para desarrollar este proyecto, se trabaj con los siguientes conceptos tericos de robtica,
computacin, control y desarrollo de sistemas embebidos: repetitividad, precisin y exactitud;
clasificacin de robots manipuladores, grados de libertad, ejes coordenados y transformaciones
homogneas (rotacin y traslacin); cinemtica directa e inversa de robots manipuladores;
representacin Denavit-Hartenberg; teora de control; sistemas de lazo de control abierto y
cerrado; programacin de sistemas embebidos; electrnica digital y analgica; comunicacin
serial; lenguajes de programacin matemticos de alto nivel y simulacin grfica utilizando
libreras de robtica.

1.8 Alcances y lmites del proyecto


Este proyecto tiene como alcances el diseo e implementacin de un sistema de control
completo, mediante el desarrollo de un sistema operativo del manipulador que considere la
cinemtica del mismo, y el hardware necesario para controlar los actuadores de cada articulacin
del brazo robtico, as como para recepcin de informacin proveniente de sensores que permitan
conocer de manera actualizada y precisa la posicin de cada articulacin.
El PIC16F877A es un microcontrolador bsico por lo que la fase de control estar limitada
por sus caractersticas. Dicho microcontrolador funciona con 5V de corriente directa, cuenta con
dos puertos bidireccionales de entradas puramente digitales por lo que no admitir datos
analgicos directamente al PIC16F877A (Angulo Usategui, Romero Yesa, & Angulo Martnez,
2006). El apndice A2 presenta ms detalles sobre las caractersticas del microcontrolador
PIC16F877A.

1.9 Validacin de la solucin


La validacin de la solucin del problema a la falta de precisin y exactitud del robot
manipulador OWI-535 se llevara a cabo mediante pruebas experimentales en reas marcadas para
verificar la precisin y exactitud as como su margen de error en su propio espacio de trabajo
esfrico tridimensional. Con dichas pruebas se pretende crear datos estadsticos por lo que se

Captulo 1: Introduccin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

realizaran al menos 10 pruebas sobre su precisin, dejando de lado las pruebas de funcionamiento
las cuales se realizaran hasta que el manipulador cumpla con la posicin especfica.
A partir de los resultados experimentales, se realizarn los clculos estadsticos necesarios
que nos permitan determinar la mejora de dichos parmetros a travs de la implementacin del
sistema de control completo.

1.10 Fases Metodolgicas


Las fases de diseo e implementacin se realizarn de la siguiente manera:
1) Familiarizacin con trminos relacionados a travs de la lectura de bibliografa.
2) Validacin de las especificaciones del manipulador OWI-535 a travs de la medicin
experimental y descripcin de los movimientos de cada actuador, tal y como viene de
fbrica.
3) Desarme y modificacin de cada unin del brazo robtico para incluir los sensores pticos
para obtener retroalimentacin de la posicin de cada uno de estos.
4) Diseo y construccin de una tarjeta con microcontrolador prototipo para el control de
cada uno de los actuadores y obtener informacin de cada uno de los sensores pticos.
5) Desarrollo del software para controlar el brazo robtico, y que permita determinar su
posicin y orientacin en tiempo real, as como introducir comandos en coordenadas
cartesianas o polares para efectuar movimientos precisos.
6) Validacin a travs de la medicin experimental de la precisin y exactitud del
manipulador, despus de la implementacin del sistema.
7) Finalmente, se realizar el documento de tesis que incluir la descripcin detallada de
cada uno de las fases de esta metodologa, presentando sus resultados respectivos.

1.8 Descripcin del Documento


Esta tesis presenta el anlisis, diseo, desarrollo, implementacin y validacin terica y
experimental de un sistema de control para un manipulador robtico educativo de 4 grados de
libertad tipo RRR.R.
El documento est constituido por 5 captulos. El captulo I describe una breve descripcin acerca
del objetivo y contenido de este trabajo. El captulo II muestra los antecedentes tericos utilizados
para desarrollar la tesis, conceptos generales para cualquier sistema de control robtico hasta su
representacin matemtica. El captulo III detalla la implementacin del sistema de control basado
en el robot manipulador OWI 353 y un sistema mnimo en base al PIC PIC16F877A, adems de la
descripcin del software embebido y para PC utilizado para controlar y simular los movimientos
del robot, basados en una librera libre de robtica para Matlab. El captulo IV muestra los
resultados experimentales obtenidos utilizando el sistema de control y el brazo robtico,
realizando pruebas estadsticas que permitan demostrar la repetitividad, precisin y exactitud del
brazo manipulador. Finalmente, el captulo V muestra las conclusiones que se obtuvieron como
resultado del trabajo de tesis, as como una discusin sobre el posible trabajo a futuro.

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Captulo 2: Marco Teorico


En este captulo se describirn los conceptos tericos necesarios para el desarrollo del
trabajo de investigacin realizada para esta tesis.
Para cumplir con el objetivo principal es necesario conocer los diferentes conceptos que
conforman esta tesis. En esencia la precisin y la exactitud juegan el papel ms importante en el
desarrollo, y para lograrlas es necesario conocer todos los aspectos tericos que conforman un
robot y ms especficamente un manipulador robtico. Adems, es necesario hacer una revisin
de las metodologas utilizadas actualmente para conocer la cinemtica del manipulador y realizar
un modelo matemtico representativo.
Por otro lado, tambin es necesario realizar una revisin de la teora de control y los tipos
de sistemas que existen, como implementarlos y programarlos en tarjetas electrnicas embebidas
y equipos de cmputo, as como lograr tambin simular grficamente su comportamiento a travs
de libreras de robtica sincronizadas con el robot manipulador real.

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

2.1 Precisin y Exactitud


Existen dos trminos que se utilizan ampliamente en las discusiones sobre la confiabilidad
de los datos, precisin y exactitud.
La precisin describe la repetitividad de los resultados; es decir, la concordancia entre los
valores numricos de dos o ms mediciones repetidas o que se han efectuado exactamente de la
misma forma. En general la precisin de un mtodo analtico se obtiene con facilidad mediante la
simple repeticin de la medida.
La exactitud describe si un resultado experimental es correcto expresado como la cercana
de la medicin a un valor verdadero o aceptado. La exactitud es un trmino relativo en el sentido
de que un mtodo es exacto o inexacto dependiendo en gran medida de las necesidades del
cientfico y de las dificultades del problema analtico (Skoog, Crouch, & Holle, 2008).

2.2 Clasificacin de robots manipuladores


Los brazos robticos o robots manipuladores son un tipo de robots muy comunes. Estamos
acostumbrados a ver fotos o video de ellos trabajando en fbricas haciendo tareas como montaje,
soldadura, o incluso en las salas de operaciones haciendo cirugas. Estos robots caen en una de las
cuatro categoras que se definen por sus movimientos bsicos. (Fu, Gonzlez, & Lee, 1998)

Coordenadas cartesianas (tres ejes lineales).


Coordenadas cilndricas (dos ejes lineales y un eje rotacional).
Coordenadas esfricas (un eje lineal y dos ejes rotacionales).
Coordenadas de revolucin o articuladas

Figura 2.1 Diversas categoras de robots. Imagen tomada del libro Robtica: visin, control e inteligencia.

10

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

2.3 Grados de libertad


Un manipulador comprende un conjunto de cuerpos, llamados enlaces o elementos, en
una cadena y conectados por articulaciones. Cada articulacin tiene un grado de libertad (GDL), ya
sea de traslacin (un deslizante o articulacin prismtica) o de rotacin (articulacin de
revoluciones). El movimiento de una articulacin cambia el ngulo relativo o la posicin de sus
enlaces vecinos. Las articulaciones ms comunes en un robot son de revolucin. La estructura de
la articulacin de un robot puede ser descrita por una cadena como "RRRRRR" para el Puma y
"RRPRRR" para el Stanford, donde cada carcter representa el tipo de articulacin, ya sea de
Revolucin o Prismtica.

Figura 2.2 a). El robot Puma 560 fue el primer robot industrial moderno. b). El brazo Stanford fue uno de los primeros
brazos de investigacin y es inusual que tuviera una articulacin prismtica. Ambos brazos fueron diseados por el
pionero en robtica Vctor Schei.

Una forma sistemtica de describir la geometra de una cadena de enlaces y articulaciones


fue propuesta por Denavit y Hartenberg en 1955 y se conoce hoy como la notacin DenavitHartenberg. (Corke, 2011)
2.3.1 Manipuladores con seis GDL
Robots verdaderamente tiles tienen un espacio de trabajo T SE(3), donde SE(3)
significa que T es representado por una matriz R44 que pertenece a un grupo especial Euclidiano
de dimensin 3, lo que les permite posiciones arbitrarias del efector final - el espacio de trabajo
tiene seis grados de libertad espaciales: tres de traslacin y tres rotacionales. Esto requiere un
robot con un espacio de configuracin C R6 que puede lograrse por un robot con seis
articulaciones. (Corke, 2011)
2.3.2 Manipuladores bajo actuados.
Un manipulador bajo actuado es aquel manipulador con menos de seis grados de libertad,
lo que limita al efector final en sus posiciones. Un ejemplo es el robot SCARA Cobra S600 (Corke,
2011)

11

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 2.3 Robot SCARA Cobra S600 con 4 GDL, tpicamente usado para ensamblado electrnico. Imagen tomada del
libro Robotics, Vision and Control (Corke, 2011).

2.3.3 Manipuladores Redundantes


Un manipulador redundante es un robot con ms de seis articulaciones. Como se
mencion anteriormente, seis articulaciones es tericamente suficiente para lograr cualquier
posicin deseada en un rea de trabajo cartesiana T SE (3). Sin embargo los problemas
prcticos tales como los lmites de las articulares y otras singularidades, significa que no todas las
posiciones dentro del espacio son accesibles para el robot. Aadir articulaciones adicionales es
una manera de resolver este problema. (Corke, 2011).

2.4 Ejes coordenados y transformaciones homogneas


Una matriz de rotacin de 3 x 3 no nos da ninguna posibilidad para la traslacin y el
escalado, por lo que se introduce una cuarta coordenada o componente al vector de posicin P =
(px, py, pz)T en un espacio tridimensional que lo transforma en = (wpx, wpy, wpz)T. Decimos que el
vector de posicin se expresa en coordenadas homogneas. Utilizamos un circunflejo (es decir,
) para indicar la representacin de un vector cartesiano en coordenadas homogneas. El
concepto de una representacin en coordenadas homogneas en un espacio euclidiano
tridimensional es til para desarrollar transformaciones matriciales que incluyan rotacin,
traslacin, escalado y transformacin de perspectiva. En general, la representacin de un vector
de posicin de N componentes por un vector de (N + 1) componentes se llama representacin en
coordenadas homogneas. En una representacin en coordenadas homogneas, la representacin
de un vector N-dimensional se efecta en el espacio (N + 1)-dimensional y el vector fsico Ndimensional se obtiene dividiendo las coordenadas homogneas por la coordenada N + 1 que es
w. As, en un espacio tridimensional, un vector de posicin P = (px, py, pz)T se representa por un
vector ampliado (wpx, wpy, wpz, w)T en la representacin de coordenadas homogneas. Las
coordenadas fsicas se relacionan a las coordenadas homogneas como sigue:
12

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

No existe una representacin en coordenadas homogneas nica para una representacin


en un espacio tridimensional. Por ejemplo, 1 = (w1px, w1py, w1pz, w1)T y 2 = (w2px, w2py, w2pz, w2)T
son todas coordenadas homogneas representando el mismo vector de posicin P = (px, py, pz)T.
as se puede ver a la cuarta componente de las coordenadas homogneas w como un factor de
escala. Si esta coordenada es la unidad (w = 1), entonces las coordenadas homogneas
transformadas de un vector de posicin son las mismas que las coordenadas fsicas del vector. En
aplicaciones de robtica, este factor de escala ser siempre igual a 1, aunque se utiliza
normalmente en informtica grafica como un factor de escala universal que toma cualquier valor
positivo.
La matriz de transformacin homognea es una matriz de 4x4 que transforma un vector
de posicin expresado en coordenadas homogneas desde un sistema de coordenadas hasta otro
sistema de coordenadas. Una matriz de transformacin homognea se puede considerar que
consiste de cuatro submatrices:

]
[

La submatriz 3 x 3 superior izquierda representa la matriz de rotacin; la submatriz superior


derecha 3 x 1 representa el vector de posicin del origen del sistema coordenado rotado con
respecto al sistema de referencia; la submatriz inferior izquierda 1 x 3 representa la
transformacin de perspectiva; y el cuarto elemento diagonal es el factor de escala global. La
matriz de transformacin homognea se puede utilizar para explicar la relacin geomtrica entre
el sistema ligado al cuerpo OUVW y el sistema de coordenadas de referencia OXYZ.
Si un vector de posicin P en un espacio tridimensional se expresa en coordenadas
homogneas [es decir
= (px, py, pz, 1)T], entonces, utilizando el concepto de matriz de
transformacin, una matriz de rotacin 3 x 3 se puede ampliar a una matriz de rotacin
homognea 4 x 4 Trot para operaciones de rotacin pura. As, las ecuaciones, expresadas como
matrices de rotacin homognea, se hacen

13

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Estas matrices de rotacin 4 x 4 se llaman matrices de rotacin homogneas bsicas.


La submatriz superior derecha 3 x 1 de la matriz de transformacin homognea tiene el
efecto de trasladar el sistema de coordenadas OUVW que tiene ejes paralelos al sistema de
coordenadas de referencia OXYZ, pero cuyo origen est en (dx, dy, dz) del sistema de coordenadas
de referencia:
[

Esta matriz de transformacin 4 x 4 se llama matriz de traslacin homognea bsica.


La submatriz inferior izquierda 1 x 3 de la matriz de transformacin homognea
representa la transformacin de perspectiva, que es til para visin por computadora y la
calibracin de modelos de cmara. Por ahora, los elementos de esta matriz se fijan a cero para
indicar la transformacin de perspectiva nula.
Los elementos de la diagonal principal de una matriz de transformacin homognea
producen escalado local y global. Los primeros tres elementos diagonales producen un
alargamiento o escalado local, como en

][ ]

As, los valores de las coordenadas se alargan mediante los escalares a, b y c, respectivamente.
Obsrvese que las matrices de rotacin bsicas, Trot, no producen ningn efecto de escalado local.
El cuarto elemento diagonal produce escalado global como en
[

][ ]

[ ]

Donde s > 0. Las coordenadas cartesianas fsicas del vector son

Por tanto, el cuarto elemento diagonal en la matriz de transformacin homognea tiene el efecto
de globalmente reducir las coordenadas si s > 1 y de alargar las coordenadas si 0 < s < 1.
En resumen, una matriz de transformacin homognea 4 x 4 transforma un vector
expresado en coordenadas homogneas con respecto al sistema de coordenadas OUVW en el
sistema de coordenadas de referencia OXYZ. Esto es, con w = 1,
14

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
xyz=T

uvw

(Fu, Gonzlez, & Lee, 1998).

2.5 Cinemtica directa


La cinemtica es la ciencia del movimiento sin considerar las fuerzas que lo ocasionan. Es
un mtodo para calcular la posicin y la orientacin del efector final del manipulador relativo a la
base del mismo, como una funcin de las variables de las articulaciones.
Un manipulador puede considerarse como un conjunto de cuerpos conectados en una
cadena mediante articulaciones. Estos cuerpos se llaman vnculos o elementos. Las articulaciones
forman una conexin entre un par adyacente de vnculos.
Cualquier robot puede describirse en forma cinemtica proporcionando los valores de
cuatro cantidades para cada vnculo. Dos describen el vnculo en s, y los otros dos describen la
conexin del vnculo con un vnculo adyacente. En el caso de una articulacin angular, i se llama
variable de articulacin y las otras tres cantidades son parmetros de vnculo fijos. Para las
articulaciones prismticas, di es la variable de articulacin y las otras tres cantidades es una
convencin que generalmente se le conoce como notacin Denavit-Hartenberg (D-H) (Craig,
2006).

2.6 Cinemtica inversa


El objetivo del problema cinemtico inverso consiste en encontrar los valores que deben
adoptar las coordenadas articulares del robot q = [q1, q2, , qn]T para que su extremo se posicione
y oriente segn una determinada localizacin espacial.
As cmo es posible abordar el problema cinemtico directo de una manera sistemtica a
partir de la utilizacin de matrices de transformacin homogneas, e independientemente de la
configuracin del robot, no ocurre lo mismo con el problema cinemtico inverso, siendo el
procedimiento de obtencin de las ecuaciones fuertemente dependiente de la configuracin del
robot.
Se han desarrollado algunos procedimientos genricos susceptibles de ser programados,
de modo que una computadora pueda, a partir del conocimiento de la cinemtica del robot (con
sus parmetros D-H, por ejemplo) obtener la n-upla de valores articulares que posicionan y
orientan su extremo. El inconveniente de estos procedimientos es que se trata de mtodos
numricos iterativos, cuya velocidad de convergencia e incluso su convergencia en si no est
garantizada.

15

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A la hora de resolver el problema cinemtico inverso es mucho ms adecuado encontrar


una solucin cerrada. Esto es, encontrar una relacin matemtica explcita de la forma:
(

)
(

Este tipo de solucin presenta, entre otras, las siguientes ventajas:


1. En muchas aplicaciones, el problema cinemtico inverso ha de resolverse en tiempo real
(por ejemplo, en el seguimiento de una determinada trayectoria). Una solucin de tipo
iterativo no garantiza tener la solucin en el momento adecuado.
2. Al contrario de lo que ocurra con el problema cinemtico directo, con cierta frecuencia la
solucin del problema cinemtico inverso no es nica; existiendo diferentes n-uplas [q1,,
qn]T que posicionan y orientan el extremo del robot del mismo modo. En estos casos una
solucin cerrada permite incluir determinadas reglas o restricciones que aseguren que la
solucin obtenida sea la ms adecuada de entre las posibles.
No obstante, a pesar de las dificultades comentadas, la mayor parte de los robots poseen
cinemticas relativamente simples que facilitan en cierta medida la resolucin de su problema
cinemtico inverso. Por ejemplo, si se consideran solo los tres primeros grados de libertad de
muchos robots, estos tienen una estructura planar, esto es, los tres primeros elementos quedan
contenidos en un plano. Esta circunstancia facilita la resolucin del problema. Asimismo, en
muchos robots se da la circunstancia de que los tres GDL ltimos, dedicados fundamentalmente
en orientar el extremo del robot, corresponden a giros sobre ejes que se cortan en un punto. De
nuevo esta situacin facilita el clculo de la n-upla [q1,, qn]T correspondiente a la posicin y
orientacin deseadas. Por lo tanto, para los casos citados y otros, es posible establecer ciertas
pautas generales que permitan plantear y resolver el problema cinemtico inverso de una manera
sistemtica.
Los mtodos geomtricos permiten obtener normalmente los valores de las primeras
variables articulares, que son las que consiguen posicionar el robot (prescindiendo de la
orientacin de su extremo). Para ello utilizan relaciones trigonomtricas y geomtricas sobre los
elementos del robot. Se suele recurrir a la resolucin de tringulos formados por los elementos y
articulaciones del robot.
Como alternativa para resolver el mismo problema se puede recurrir a manipular
directamente las ecuaciones correspondientes al problema cinemtico directo. Es decir, puesto
que ste establece la relacin:
[

16

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 2.4 Robot articular. La figura muestra los ejes de referencia sobre una articulacin (X0, Y0, Z0) y las longitudes
de los enlaces y las proyecciones (px, py, pz) del ltimo elemento, entre otras referencias.

Donde los elementos tij son funcin de las coordenadas articulares [q1,, qn]T, es posible
pensar que mediante ciertas, combinaciones de las 12 ecuaciones planteadas anteriormente se
pueden despejar las n variables articulares qi en funcin de las componentes de los vectores n, o, a
y p.
Por ltimo, si se consideran robots con capacidad de posicionar y orientar su extremo en
el espacio, esto es, robots con 6 GDL, el mtodo de desacoplamiento cinemtico permite, para
determinados tipos de robots, resolver los primeros grados de libertad, dedicados al
posicionamiento de manera independiente a la resolucin de los ltimos grados de libertad,
dedicados a la orientacin. Cada uno de estos dos problemas ms simples podr ser tratado y
resuelto por cualquier procedimiento (Barrientos, Pen, Aracil, & Balaguer, 1997).

17

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

2.7 Representacin Denavit-Hartenberg


Para describir la relacin traslacional y rotacional entre elementos adyacentes, Denavit y
Hartenberg (Denavit & Hartenberg, 1955) propusieron un mtodo matricial de establecer de
forma sistemtica un sistema de coordenadas para cada elemento de una cadena articulada. La
representacin D-H resulta en una matriz de transformacin homognea 4 x 4 que representa
cada uno de los sistemas de coordenadas del elemento previo.
Se puede establecer para cada elemento en sus ejes de articulacin un sistema de
coordenadas cartesiano ortonormales (xi, yi, zi) donde i = 1, 2 n, siendo n el nmero de grados de
libertad, ms el sistema de coordenadas de la base al cual llamaremos (x0, y0, z0)
Cada sistema de coordenadas se determina y establece sobre la base de tres reglas:
1. El eje zi 1 yace a lo largo del eje de la articulacin.
2. El eje xi es normal al eje zi 1 y apunta hacia afuera de l.
3. El eje yi completa el sistema de coordenadas dextrgiro segn se requiera.
La representacin D-H de un elemento rgido depende de cuatro parmetros geomtricos
asociados con cada elemento. Estos cuatro parmetros describen completamente cualquier
articulacin prismtica o de revolucin. Refirindonos a la Figura 2.5 estos cuatro parmetros se
definen como:
i: Es el ngulo de la articulacin del eje xi 1 al eje xi respecto al eje zi 1
di: es la distancia desde el origen del sistema de coordenadas (i 1)-simo hasta la
interseccin del eje zi 1 con el eje xi a lo largo del eje zi 1.
ai: es la distancia de separacin desde la interseccin del eje zi 1 con el eje xi hasta el
origen del sistema i-simo a lo largo del eje xi.
i: es el ngulo de separacin del eje zi 1 al eje zi respecto del eje xi.
(Fu, Gonzlez, & Lee, 1998)

Figura 2.5 Sistemas de coordenadas de elementos y sus parametros.

18

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 2.6 Establecimiento del sistema de coordenadas de elementos para un robot manipulador de 6 GDL (Fu,
Gonzlez, & Lee, 1998).

2.7.1 Algoritmo de Denavit-Hartenberg para obtener el modelo cinemtico directo


1. Numerar los eslabones comenzando con 1 (primer eslabn mvil de la cadena) y acabando
con n (ltimo eslabn mvil). Se numera como eslabn 0 a la base fija del robot.
2. Numerar cada articulacin comenzando por 1 (la correspondiente al primer grado de
libertad) y acabando en n.
3. Localizar el eje de cada articulacin. Si sta es rotativa, el eje ser su propio eje de giro. Si
es prismtica, ser el eje a lo largo del cual se produce el desplazamiento.
4. Para i de 0 a n 1 situar el eje zi sobre el eje de la articulacin i + 1.
5. Situar el origen del sistema de la base {S0} en cualquier punto del eje z0. Los ejes x0 e y0 se
situaran de modo que formen un sistema dextrgiro con z0.
6. Para i de 1 a n 1, situar el sistema {Si} en la direccin del eje zi con la lnea normal comn
a zi 1 y zi. Si ambos puntos se cortan, se situar {Si} en el punto de corte. Si fuesen
paralelos {Si} se situara en la articulacin i + 1.
7. Situar xi en la lnea normal comn a zi 1 y zi.
8. Situar yi de modo que forme un sistema dextrgiro con xi y zi.
9. Situar el sistema {Sn} en el extremo del robot de modo que zn coincida con la direccin zn 1
y xn sea normal a zn 1 y zn.
10. Obtener i como el ngulo que hay que girar en torno a zi 1 para que xi 1 y xi queden
paralelos
11. Obtener di como la distancia medida a lo largo de zi 1, que habra que desplazar {Si 1} para
que xi y xi 1 queden alineados
19

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

12. Obtener ai como la distancia medida a lo largo de xi (que coincidir con xi 1) que habra
que desplazar el nuevo {Si 1} para que su origen coincidiese con {Si}.
13. Obtener i como el ngulo que habra que girar a en torno a xi (que ahora coincidira con
xi 1), para que el nuevo {Si 1} coincidiese totalmente con {Si}.
14. Obtener las matrices de transformacin i 1Ai
15. Obtener la matriz de transformacin que relaciona el sistema de la base con el extremo
del robot T = 0A1, 1A2 n 1An.
16. La matriz T define la orientacin y posicin del extremo referido a la base en funcin de las
n coordenadas articulares.
(Fu, Gonzlez, & Lee, 1998)

2.8 Teora de control


Los robots industriales se usan con frecuencia en la industria para mejorar la
productividad. Un robot puede realizar tareas montonas y complejas sin errores en la operacin.
Asimismo, puede trabajar en un ambiente intolerable para operadores humanos. Por ejemplo,
puede funcionar en temperaturas extremas (tanto altas como bajas), en un ambiente de presin
alta o baja, bajo el agua o en el espacio. Hay robots especiales para la extincin de incendios, las
exploraciones submarinas y espaciales, entre muchos otros. El robot industrial debe manejar
partes mecnicas que tengan una forma y un peso determinados. Por tanto, debe tener al menos
un brazo, una mueca y una mano. Debe tener la fuerza suficiente para realizar la tarea y la
capacidad para al menos una movilidad limitada. De hecho, algunos robots actuales son capaces
de moverse libremente por s mismos en un espacio limitado en una fbrica. El robot industrial
debe tener algunos dispositivos sensores. A los robots de nivel bajo, se les instalan
microinterruptores en los brazos como dispositivos sensores. El robot toca primero un objeto y
despus, mediante los microinterruptores, confirma la existencia del objeto en el espacio y avanza
al paso siguiente para asirlo.
En un robot de nivel alto se usa un medio ptico (como un sistema de televisin) para
rastrear el fondo del objeto. El robot reconoce el patrn y determina la presencia y orientacin del
objeto. Se requiere de una computadora para procesar las seales del proceso de reconocimiento
de patrones (Figura 2.7). En algunas aplicaciones, el robot computarizado reconoce la presencia y
orientacin de cada parte mecnica mediante un proceso de reconocimiento de patrones que
consiste en la lectura de los nmeros de cdigo que se fijan a cada parte. A continuacin, el robot
levanta la parte y la mueve a un lugar conveniente para su ensamble, y despus ensambla varias
partes para formar un componente. Una computadora digital bien programada funciona como
controlador.

20

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 2.7 Robot que usa un proceso de reconocimiento de patrones.

2.8.1 Sistemas de control retroalimentados


Un sistema que mantiene una relacin prescrita entre la salida y la entrada de referencia,
comparndolas y usando la diferencia como medio de control, se denomina sistema de control
retroalimentado. Un ejemplo sera el sistema de control de temperatura de una habitacin.
Midiendo la temperatura real y comparndola con la temperatura de referencia (la temperatura
deseada), el termostato activa o desactiva el equipo de calefaccin o de enfriamiento para
asegurar que la temperatura de la habitacin se conserve en un nivel cmodo sin considerar las
condiciones externas, Los sistemas de control retroalimentados no se limitan a la ingeniera, sino
que tambin se encuentran en diversos campos ajenos a ella. Por ejemplo, el cuerpo humano es
un sistema de control retroalimentado muy avanzado.Tanto la temperatura corporal como la
presin sangunea se conservan constantes mediante una retroalimentacin fisiolgica. De hecho,
la retroalimentacin realiza una funcin vital: vuelve el cuerpo humano relativamente insensible a
las perturbaciones externas, por lo cual lo habilita para funcionar en forma adecuada en un
ambiente cambiante.
2.8.2 Sistemas de lazo de control abierto y cerrado
Los sistemas de control retroalimentados se denominan tambin sistemas de control en
lazo cerrado. En la prctica, los trminos control retroalimentado y control en lazo cerrado se usan
indistintamente. En un sistema de control en lazo cerrado, se alimenta al controlador la seal de
error de actuacin, que es la diferencia entre la seal de entrada y la seal de retroalimentacin
(que puede ser la seal de salida misma o una funcin de la seal de salida y sus derivadas y/o
integrales), a fin de reducir el error y llevar la salida del sistema a un valor conveniente. El trmino
control en lazo cerrado siempre implica el uso de una accin de control realimentado para reducir
el error del sistema.
Los sistemas en los cuales la salida no afecta la accin de control se denominan sistemas
de control en lazo abierto. En otras palabras, en un sistema de control en lazo abierto no se mide
la salida ni se retroalimenta para compararla con la entrada. Un ejemplo practico es una lavadora.
El remojo, el lavado y el enjuague en la lavadora operan con una base de tiempo. La mquina no
mide la seal de salida, que es la limpieza de la ropa.
21

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

En cualquier sistema de control en lazo abierto, la salida no se compara con la entrada de


referencia. Por tanto, a cada entrada de referencia le corresponde una condicin operativa fija;
como resultado, la precisin del sistema depende de la calibracin. Ante la presencia de
perturbaciones, un sistema de control en lazo abierto no realiza la tarea deseada.
En la prctica, el control en lazo abierto slo se usa si se conoce la relacin entre la entrada y la
salida y si no hay perturbaciones internas ni externas. Es evidente que estos sistemas no son de
control retroalimentado. Observe que cualquier sistema de control que opere con una base de
tiempo es en lazo abierto. Por ejemplo, el control del trnsito mediante seales operadas con una
base de tiempo es otro ejemplo de control en lazo abierto.
Una ventaja del sistema de control en lazo cerrado es que el uso de la retroalimentacin
vuelve la respuesta del sistema relativamente insensible a las perturbaciones externas y a las
variaciones internas en los parmetros del sistema. Por tanto, es posible usar componentes
relativamente precisos y baratos para obtener el control adecuado de una planta determinada, en
tanto que hacer eso es imposible en el caso de un sistema en lazo abierto.
Desde el punto de vista de la estabilidad, el sistema de control en lazo abierto es ms fcil de
desarrollar, porque la estabilidad del sistema no es un problema importante. Por otra parte, la
estabilidad es una funcin principal en el sistema de control en lazo cerrado, lo cual puede
conducir a corregir en exceso errores que producen oscilaciones de amplitud constante o
cambiante (Ogata, 1998).

2.9 Sistemas embebidos


Un sistema embebido (S.E.) es un sistema computador destinado a una aplicacin en
particular (Universidad de la Repblica - Uruguay, 2013).
Son sistemas diseados para cumplir una o pocas funciones dedicadas y que estn
embebidas como parte de algn dispositivo de hardware completo. Por ejemplo:

Embebidos en industria automotriz : navegador GPS, de la aviacin: piloto automtico,


control de aterrizaje
Embebidos en telecomunicaciones: routers, modems
Embebidos en comunicaciones: telfonos celulares
Embebidos en el hogar: control de heladeras, microondas, robots que aspiran, cortan
pasto.

Todos (o casi todos) estn compuestos por software y hardware diseados especficamente para
la tarea que tienen que cumplir, e interactuando muy cercanamente (Pedre, 2012).
El diseo de un sistema embebido est muy fuertemente influenciado por las
interacciones del sistema con su entorno. Los sistemas embebidos tambin poseen a menudo un
trato extraordinario de la concurrencia. Desafortunadamente, hay pocas herramientas y

22

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

metodologas para ayudar a un diseador a abordar el problema de diseo de un sistema


embebido complejo (Gajski, 2013).

2.10 Electrnica digital y analgica; comunicacin serial y paralela


La electrnica se divide en dos campos: la electrnica analgica y la electrnica digital,
segn el tipo de seal que utilice, y estas pueden ser de dos tipos.
Seales analgicas: son las seales que varan de forma continua en el tiempo entre dos
valores extremos, pudiendo adoptar cualquiera de los infinitos valores intermedios entre
los anteriores.
Seales digitales: son las seales que pueden adoptar slo algunos valores discretos.
Como se ha mencionado las seales digitales adoptan solo dos valores, por lo que tambin
son conocidas como seales binarias. Los circuitos digitales estarn compuestos por dispositivos
que distinguen y generan seales binarias; los dispositivos electrnicos digitales ms bsicos, y a
partir de los cuales estn constituidos todos los dems, se denominan compuertas lgicas. (IES
Bellavista, 2013)
La informacin binaria se puede transmitir de manera paralela o en serie. La transmisin
paralela se lleva a cabo cuando cada bit a transmitir tiene su propia lnea de transmisin. A
diferencia de la transmisin en serie en la cual existe una sola lnea de transmisin y, por lo tanto
solo un bit puede transmitirse a la vez. Consecuentemente, cada bit requiere un pulso de reloj
para transmitirse (Tomasi, 1996).

Figura 2.8 Ejemplo de transmisin de datos, paralelo (a) y serial (b)

2.11 Lenguajes de programacin matemticos de alto nivel


Un lenguaje de programacin consiste en un conjunto de rdenes o comandos que
describen el proceso deseado. Los lenguajes de programacin no son aplicaciones, sino
herramientas que permiten construir y adecuar aplicaciones.
23

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Existen muchos lenguajes de programacin con caractersticas y aptitudes muy


diferenciadas. Todo ello se encuentra en dos grandes grupos:

Lenguajes Mquina. La codificacin de estos lenguajes se hace utilizando un lenguaje


binario de unos y ceros.
Lenguajes Simblicos. Lenguajes de programacin en el que las instrucciones de los
diferentes programas se codifican utilizando los caracteres de las lenguas naturales.

A los lenguajes mquina le sucedieron los lenguajes simblicos, los cuales utilizan caracteres
naturales para escribir las instrucciones de los programas. Los lenguajes simblicos a su vez se
dividen en:

Lenguajes simblicos de bajo nivel o ensambladores


Lenguajes simblicos de alto nivel

Dentro de los segundos se puede distinguir a su vez los lenguajes procedurales y los relacionales.
1. Un lenguaje procedural es aquel lenguaje de programacin en el que hay que sealar
tanto lo que se quiere hacer como el modo de hacerlo.
2. Un lenguaje relacional es un tipo de lenguaje de programacin en el que solo hay que
especificar lo que se quiere obtener, sin necesidad de especificar a su vez el camino a
seguir para obtener los resultados deseados.
A los lenguajes maquina se les conoce como lenguajes de primera generacin. Los
ensambladores son los lenguajes de segunda generacin. Los simblicos de alto nivel de tipo
procedural se les denomina de tercera generacin y a los relacionales se considera que son de
cuarta generacin.
A la tercera generacin pertenecen lenguajes conocidos como el FORTRAN, COBOL, RPG,
BASIC, PASCAL, ADA, C, PROGOL, etc. Estos lenguajes de tercera generacin son de tipo universal.
A diferencia de los lenguajes de tercera generacin, los de cuarta generacin no son tan
universales y van asociados a determinados sistemas operativos y en muchos casos a
determinados sistemas de almacenamiento de informacin. La mayor ventaja de los lenguajes
relacionados es que son muy productivos en desarrollo hasta alcanzar niveles de productividad de
hasta 6 y 8 veces superior a los que alcanzan los de tercera generacin.
Entre los lenguajes de cuarta generacin tenemos el CSP de IBM asociado al sistema de
gestin de base de datos DB2; el NATURAL de SOFTWARE AG asociados al sistema de datos
ADABAS; el SQL que es un lenguaje convertido en estndar mundial como el lenguaje de cuarta
generacin para la consulta de bases relacionales; etc.
Adems de los lenguajes sealados hay que prestar una seria atencin al lenguaje de
programacin Java, desarrollado por SUN y cuya misin fundamental es dar la posibilidad de

24

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

desarrollar aplicaciones altamente interactivas bajo la modalidad de web, en el contexto de


internet (SUAyED, UNAM, 2013).
MATLAB es un lenguaje de alto nivel y con un entorno interactivo para el clculo
numrico, visualizacin y programacin. MATLAB, puede analizar los datos, desarrollar algoritmos
y crear modelos y aplicaciones. El lenguaje, las herramientas y funciones matemticas integradas
permiten explorar mltiples enfoques y llegar a una solucin ms rpida que con hojas de clculo
o lenguajes de programacin tradicionales, como C / C + + o Java .
Se puede utilizar MATLAB para una amplia gama de aplicaciones, incluyendo el
procesamiento de seales y comunicaciones, procesamiento de imgenes y vdeo, sistemas de
control, pruebas y medidas, finanzas computacionales, y biologa. Ms de un milln de ingenieros
y cientficos en la industria y el mundo acadmico usan MATLAB, el lenguaje del clculo tcnico
(Mathworks, 2014).
2.11.1 Simulacin grfica
El modelaje y simulacin se ha constituido en una poderosa herramienta para el diseo,
anlisis y optimizacin sistemas y procesos industriales. La disponibilidad de computadores
personales cada vez ms poderosos, de menor costo y de fcil uso, acompaados por software o
programas de aplicacin y lenguajes de programacin altamente flexibles, ha permitido la
masificacin del uso de diferentes tcnicas de simulacin y control de procesos.
La simulacin de sistemas se ha convertido entonces en una poderosa herramienta para la
toma de decisiones que nos permite, entre otras cosas:

Predecir el resultado de las acciones que se tomen sobre el proceso o sistema de control.
Comprender el porqu de los eventos.
Identificar reas problemticas antes de la implantacin del sistema.
Explorar los efectos de las modificaciones.
Evaluar ideas y su viabilidad, e identificar sus ineficiencias.
Estimular el pensamiento creativo y entrenar al personal.
Optimizar los procesos (ahorros de energa, cuellos de botella, mejoras de los
rendimientos, etc.).

Para poder simular un sistema de control, se debe contar con un modelo matemtico de la
planta o proceso que se quiere controlar, el cual puede optimizarse va interacciones mltiples,
bajo mltiples escenarios, variables, parmetros que se evalan individual o simultneamente.
En un modelo matemtico, las entidades del sistema y sus atributos se representan mediante
variables matemticas. Las actividades se describen mediante funciones matemticas que
interrelacionan las variables. Los modelos matemticos dinmicos normalmente se resuelven
mediante mtodos numricos, y la simulacin es una de las herramientas ms comunes.

25

Captulo 2: Marco Terico

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Un modelo no es solo el sustituto de un sistema, sino tambin una simplificacin del mismo. Para
obtener un modelo se debe al menos:

Determinar su estructura (entidades, atributos, actividades y fronteras).


Definir los datos (valores de los atributos y relaciones involucradas en las actividades).

Existe una estrecha interrelacin entre el proceso de recoleccin de datos para el modelo, y el
anlisis de los mismos: las suposiciones relativas al sistema orientan la recoleccin de datos y el
anlisis de stos confirma o refuta las suposiciones.
Los pasos bsicos para modelar un sistema de control son:

Definir el modelo matemtico y programar el sistema de control.


Seleccionar los parmetros y los valores iniciales.
Ejecutar el modelo.
Procesar los resultados (incluye la visualizacin y la investigacin adicional).
Interactuar con el modelo hasta lograr optimizacin.

Con el modelaje y simulacin de los sistemas de control, se busca satisfacer la necesidad de


controlar la fabricacin de los productos mediante el mantenimiento de las variables de proceso
en los valores ms estables posibles. Los controladores comparan las variables de proceso con el
punto de consigna (setpoint) y a partir de su diferencia o error calculan cual debe ser la seal de
salida al elemento final de control (Alvarado, 1999).

26

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Captulo 3: Diseno e Implementacion


del Sistema de Control para el
Manipulador Robotico
En este captulo se describe paso a paso el desarrollo del proyecto. Iniciando desde la
obtencin experimental de las caractersticas de fbrica del OWI535, el anlisis de su espacio de
trabajo, y la determinacin de las ecuaciones matemticas de los sistemas de engranaje de cada
articulacin. Posteriormente, se detalla el sistema electrnico implementado y las modificaciones
realizadas al manipulador para un adecuado control de sus articulaciones, se muestra el diseo de
las tarjetas electrnicas construidas, la caja que los contiene y el espacio de trabajo resultante
despus de dichas modificaciones. Asimismo, se describen los algoritmos utilizados en el firmware
del sistema electrnico embebido. Finalmente, se muestra el funcionamiento del software y de las
libreras de robtica que permiten implementar el mtodo de Denavit-Hartenberg en la
computadora, as como la simulacin grfica del OWI535 en tiempo real, y el protocolo de
comunicacin entre la computadora y la tarjeta electrnica de control para llevar a cabo los
comandos introducidos por el operador.

27

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.1: Caracterizacin Experimental y Anlisis del Manipulador OWI-535


El robot manipulador OWI 535 posee caractersticas de fbrica que sern analizadas
experimentalmente y descritas en las siguientes subsecciones. Para ver las caractersticas de los
movimientos proporcionadas por el fabricante revisar Apndice A1.
3.1.1 Estructura del manipulador OWI-535
El OWI-535 se compone de tres eslabones interconectados por cuatro articulaciones
rotacionales a una base, adems tiene una pinza mecnica sin movimiento giratorio como
herramienta. Las mediciones longitudinales obtenidas, se pueden observar en las Figuras 3.1 y
3.2.

Figura 3.53 Dimensiones longitudinales del OWI-535; la base se extiende en un rea de 16.1 cm por 22 cm, mientras
que completamente erguido, verticalmente se extiende hasta 38.5 cm.

Figura 3.54 Longitudes de cada articulacin del OWI-535; desde la base hasta la punta de la herramienta, cuando la
herramienta se encuentra completamente cerrada, el manipulador mide verticalmente un mximo de 38.5 cm.

Para identificar el rea de trabajo del manipulador, es importante tener en cuenta el


margen de error que presenta experimentalmente ante las caractersticas que el fabricante nos
otorga, para ello a continuacin se analizan los grados angulares de movimiento de cada
articulacin.

28

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.1.2 Espacio de trabajo


La base del manipulador puede hacer un movimiento rotacional de 270 tal como lo
describe el fabricante. El OWI-535 no puede girar 360 debido a que en su diseo se le incorporo
una pequea pestaa en la parte frontal de la base como medida de proteccin para evitar daos
en el cableado a la hora de girar el manipulador. En la Figura 2.3 se muestra la rotacin que puede
llevar a cabo el manipulador OWI-535.

Figura 3.55 Movimiento de rotacin de la articulacin de la base del OWI-535; a) rotacin de la articulacin de la base,
o
haciendo un giro de 270 hacia el frente de la base del manipulador; b) rotacin de la articulacin de la base haciendo
o
un giro de 270 hacia atrs.

A partir de la base tambin se puede realizar un giro ortogonal al mencionado


anteriormente. Dicho giro se puede hacer hasta por un ngulo de 180, considerando que el
manipulador se encuentra en una base plana. En la Figura 3.4 se muestra el movimiento de la
articulacin ortogonal a la articulacin de la base sobre una superficie plana.

Figura 3.56 Giro angular mximo de la articulacin que genera un movimiento vertical de la base en superficie plana.

La siguiente articulacin (codo) nos muestra un movimiento diferente al especificado por


el fabricante. Segn el fabricante la articulacin del codo tiene una especificacin mxima de 300
de giro, el giro que se obtuvo experimentalmente fue de 262. El movimiento del codo se puede
observar en la Figura 3.5.

29

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.57 Movimiento de la articulacin del codo del OWI-535, con el giro angular mximo determinado
experimentalmente.

La articulacin que genera el movimiento de mueca, tambin presenta una diferencia


con la especificada por el fabricante, siendo 90 el mximo especificado por el fabricante y 125 el
valor angular medido.

Figura 3.58 La figura presenta el movimiento mximo de mueca producido por la ltima articulacin del
manipulador.

La apertura de la pinza tambien varia con respecto a la especificada por el fabricante, en


este caso el fabricante especifica 45 mm de apertura maxima para la pinza, mientras que el valor
que se obtuvo experimentalmente fue de 41 mm.

Figura 3. 59 Apertura mxima de la pinza, la cual es la herramienta del manipulador.

30

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.1.3 Dimensiones del espacio de trabajo del manipulador


El brazo manipulador OWI-535 idealmente podra considerar un espacio de trabajo
esfrico, pero debido a sus limitantes en cuanto a sus dimensiones y los grados de movimiento de
sus articulaciones, dicho espacio de trabajo se reduce. En la Figura 3.8 podemos observar el rea
de trabajo en el plano horizontal del OWI-535, medido experimentalmente.

Figura 3.60 rea de trabajo en el plano horizontal, efectiva del OWI-535 de acuerdo a las mediciones realizadas, el
rea azul representa la zona en la cual el manipulador puede alcanzar un objeto, mientras que el rea blanca
representa la zona fuera del alcance.

Tambin se mencion que el OWI-535 tiene la capacidad realizar un movimiento vertical


desde su base, lo que permite ubicar el efector final o herramienta por debajo de la base si se est
trabajando en el borde de una superficie, por ejemplo una mesa. En la Figura 3.9 observamos el
rea de trabajo en el plano vertical del manipulador, en un borde.

Figura 3.61 rea de trabajo en el plano vertical efectiva del OWI-535 en el borde de mesa.

31

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.1.4 Sistema de Engranajes


Cada elemento del OWI-535 esta interconectado con otro mediante articulaciones
rotatorias que constan de una caja plstica con un motor de corriente directa y un sistema de
cuatro engranes que se encargan de transmitir la potencia mecnica del actuador hasta la
articulacin.

Figura 3.62 Caja de engranajes de reduccin del OWI-535.

Como se puede observar en la Figura 3.10, la caja de engranajes de reduccin contiene dos
tipos de engranes: tres engranes cuya relacin de dientes exteriores e interiores es de 32/10 y un
engrane de relacin 40/10. Teniendo en cuenta que la relacin del motor con el primer engrane es
de 32/1 podemos determinar el factor de reduccin Ns:
(3.1)

Con dicho factor de reduccin podemos calcular la relacin entre la entrada y salida, de velocidad
y momento de torsin respectivamente, las cuales estn dadas por:
(3.2)
(3.3)
Donde:
Ns

: Es el factor de reduccin de la caja.

MS

: Es la velocidad del motor.

: Es la velocidad a la salida de la reduccin.

MS

: Es el momento de torsin del motor.

: Es el momento de torsin a la salida de la reduccin.

32

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Dadas las ecuaciones anteriores, podemos decir que el momento de torsin MS a la salida de la
caja de engranajes de reduccin aumenta en un factor de Ns = 4,194, mientras que la velocidad del
motor MS disminuye con el mismo factor a la salida (Cnepa, 2010).

3.2 Diseo y Construccin del Sistema de Control para el OWI-535


Para mejorar la precisin y la exactitud en un robot manipulador es necesario un sistema
de control con retroalimentacin que nos permita conocer el estado actual de cada una de sus
articulaciones. En el robot manipulador OWI-535, esto se logr mediante el diseo y construccin
de un sistema electrnico embebido que contiene un microcontrolador como unidad de
procesamiento central, el cual realizar las tareas solicitadas por el operador enviando los voltajes
apropiados a los motores, y conocer el estado actual de las articulaciones mediante sensores
instalados en el brazo robtico. Debido a que fue necesaria la alteracin del mecanismo original,
se describe la instalacin de sensores opto-interruptores en las cajas de engranaje de reduccin de
cada articulacin, as como la instalacin de sensores micro-interruptores externos que permiten
definir una posicin inicial del brazo robtico.
3.2.1Microcontrolador
Todo sistema embebido necesita de una unidad de procesamiento central para interpretar
las instrucciones y procesar los datos recibidos. Como unidad de procesamiento central para el
OWI-535 se utilizar un PIC16F877a, el cual tiene una arquitectura Harvard, 8Kb de memoria de
programa, como se puede observar en la Figura 3.11 el PIC16F877A cuenta con 40 terminales de
las cuales 33 son de entrada/salida, dos canales de PWM y se puede alimentar con un voltaje de
5V (Para ms caractersticas del PIC16F877a ver Apndice A2).

Figura 3.63 Terminales del microcontrolador PIC16F877a.

Los microcontroladores PIC fabricados por MICROCHIP tienen tres principales ventajas que
fueron fundamentales para su eleccin, debido a que los PICs son muy utilizados, son fciles de
encontrar en el mercado y por lo tanto existe abundante informacin sobre su funcionamiento,
solucin a problemas y proyectos. Como se ha mencionado los PICs cuentan con una arquitectura
tipo Harvard que separa la memoria de programa de la memoria de datos. Poseen un procesador
33

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

RISC (por sus siglas en ingls Reduced Instruction Set Computing), el cual debido a su reducido
set de instrucciones facilita la programacin de dichos dispositivos.
3.2.1.1 Tarjeta controladora
Al igual que otros microcontroladores de Microchip, el PIC16F877a necesita de un
dispositivo que genere un pulso de reloj para funcionar. Dicho dispositivo puede implementarse
mediante un arreglo de un capacitor y una resistencia o bien puede emplearse un cristal que
genere el pulso. Para el OWI-535 modificado se utiliz un cristal de 4MHz. Teniendo en cuenta que
segn el fabricante cada ciclo de instruccin consiste en cuatro periodos de reloj podemos calcular
el tiempo que toma llevar a cabo cada instruccin con la siguiente formula:
(3.4)
Donde:
T:

tiempo por instruccin

CI:

ciclo por instruccin

F:

frecuencia

Por lo tanto, si sustituimos en la ecuacin 3.4 los datos reales de los valores a utilizar obtenemos:

En resumen, el microcontrolador puede ejecutar una instruccin en 1s, con un cristal de 4 MHz.
El fabricante tambin recomienda un arreglo de capacitores para la instalacin del cristal
como el que se puede observar en la Figura 3.12.

Figura 3.64 Diagrama recomendado por Microchip para la conexin del cristal oscilador y los capacitores.

Los valores de C1 y C2 recomendados por el fabricante para el cristal de 4 MHz deben ser
de 15pF (PIC16f877a datasheet tabla 14-2). La resistencia en serie Rs puede emplearse para un
cristal de baja frecuencia, en esta ocasin para uno de 4 MHz no es necesario. La resistencia
interna del PIC denominada RF vara dependiendo el cristal.

34

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Para no implementar el circuito que se muestra en la Figura 3.12, se adquiri una tarjeta
ensamblada. La tarjeta DIR-735 est diseada para un microcontrolador PICKAXE de 40 terminales,
pero tambin puede utilizarse con un PIC de las mismas dimensiones. La tarjeta cuenta con el
arreglo necesario de un cristal oscilador y sus respectivos capacitores as como un regulador de
voltaje de 5 VCD LM7805, por lo que la tarjeta DIR-735 puede ser alimentada con voltajes desde
5.5 VCD hasta 12 VCD para su correcto funcionamiento y evitar daos a la tarjeta. La tarjeta DIR735 se adquiri con el proveedor Electrnica Estudio (Electronica Estudio, 2015). La tarjeta DIR735 se puede observar en la Figura 3.13.

Figura 3.65 Tarjeta controladora DIR-735, utilizada como plataforma bsica para el PIC PIC16F877a.

La tarjeta DIR-735 cuenta con una terminal tipo extensin de la terminal Master Clear
(MCLR) el cual permite mediante un pulso reiniciar el programa. Debido a que esta terminal es
solo de entrada y se encuentra en negacin lgica el fabricante recomienda el circuito que
podemos observar en la Figura 3.14 para una correcta instalacin del botn de reinicio o reset.

Figura 3.66 Diagrama de circuito para la instalacin del botn de reinicio de programa.

Como nica modificacin a la tarjeta se retir el LED indicador rojo de 3 mm y se remplaz


por un LED verde de 5 mm con un cable a manera de extensin para que este pudiera sobresalir
de la caja contenedora de los circuitos.

35

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.2.2 Circuito de transmisin y recepcin de datos


El PIC16F877a cuenta con transmisin de datos de manera serial mediante el estndar RS232. Para poder llevar a cabo una comunicacin con una gama ms amplia de computadoras se
utiliz el puerto USB, el cual utiliza valores TTL, por lo que es necesario adecuar la seal para la
correcta comunicacin del microcontrolador con la computadora. Para esta tarea se utiliz un CI
MAX232, ver Apndice A3 para revisar caractersticas tcnicas, el cual permite adecuar los voltajes
y traducir la informacin de TTL a RS-232 y viceversa.

Figura 3.67 Diagrama del circuito de trasmisin y recepcin de datos.

En la Figura 3.15 se muestra el diagrama del circuito para la transmisin y la recepcin de


datos, se omitieron los LEDs indicadores en las terminales 10 y 12 as como sus correspondientes
resistencias.
Como interfaz USB para la comunicacin con la computadora se utiliza un cable adaptador
DB-9 a USB marca Steren el cual se conectara a un DB-9 tipo hembra, el cual estar conectado a su
vez con el MAX232 para realizar el envo y recepcin de datos.
3.2.3 Modificacin del sistema de engranes de las articulaciones
El OWI-535 cuenta con cuatro cajas de engranajes para cada una de sus articulaciones, las
cuales le permiten moverse para alcanzar la posicin deseada. Dichas cajas contienen un motor de
CD de baja potencia y cinco engranes, estas cajas de engranaje son reductoras de velocidad y
proporcionan el par necesario para realizar los movimientos de las articulaciones.
Como se ha mencionado, el OWI-535 originalmente carece de una retroalimentacin que
permita crear un lazo cerrado en el sistema de control, para ello fue necesario emplear una forma
de conocer la posicin de cada elemento. Por lo que se propuso utilizar opto-interruptores para
contabilizar el movimiento de giro de un engrane de la caja de reduccin, al cual se le realizaran
perforaciones que permitieran el paso de luz del LED emisor al receptor del opto-interruptor.

36

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Para obtener la mayor resolucin posible en las lecturas del opto-interruptor, sin debilitar
los engranes plsticos, se propuso hacer ocho perforaciones en el segundo engrane contando a
partir del engrane que est en contacto directo con el motor, puesto que a su velocidad se
facilitan ms las mediciones, a diferencia del primero cuya velocidad es superior y dificult dicha
medicin experimentalmente; tambin se tom en cuenta que los orificios deberan tener la
misma medida que en las partes intermedias slidas, esto permiti segmentar el engrane en
partes iguales y no tener problemas de diferencias en la duracin de los pulsos entregados por el
sensor.
Cada engrane tiene un radio de 8.5 cm, cada perforacin se realizaron a 5 cm del radio
para evitar debilitar el engrane o daar el engrane interior, sabiendo lo anterior se puede calcular
el dimetro aproximado de las perforaciones, teniendo en cuenta que la circunferencia de un
crculo es:
(3.5)
(3.6)
Donde:
C

: Circunferencia del crculo

: Dimetro del crculo

: Radio del crculo

Sustituyendo los valores en la formula obtenemos la medida de la circunferencia en la cual se


realizaran las perforaciones:
( )
(

Una vez que conocemos la circunferencia esta se divide en la cantidad de segmentos


deseados, en este caso se pretende hacer ocho perforaciones lo cual nos segmenta el engrane en
diecisis partes

Dicho resultado se redondea a 1.96 cm para su aplicacin real. En la Figura 3.16 se muestra el
diagrama esquemtico de los engranes modificados llamados ahora P4-M, siguiendo la
nomenclatura proporcionada por el fabricante.

37

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.68 Esquemtico de las perforaciones realizadas al engrane P4-M, donde se presentan las medidas calculadas
de cada radio: del centro de cada perforacin al centro del engrane (5 cm), de cada perforacin (0.98 cm), y del
engrane (8.5 cm).

Matemticamente es posible calcular la equivalencia entre un pulso y el ngulo de


movimiento de la articulacin. En la Tabla 3.1 podemos observar el identificador de los engranes
contenidos en la caja de reduccin. El engrane F7 se encarga de mover directamente al elemento
de la articulacin, este engrane cuenta con 40 dientes, lo que significa que al moverse los 40
dientes se estar moviendo 360.

Pieza

P4

P5

P4-M

P6

P7

P8

F7

Figura
Tabla 3.7 Identificador y figuras de los engranes de las cajas de reduccin del OWI-535.

De acuerdo a la analoga anterior, significa que al moverse el engrane F7 10 dientes el


elemento estar movindose 90 y por ende El engrane P6 (azul) estar girando una vuelta
completa debido a que cuenta con 10 dientes. El engrane consecutivo P7 o P8 estar girando
igualmente 1 vuelta completa debido a que en conjunto con el engrane P6 hacen una misma
pieza, esto quiere decir que el engrane P7 o P8 estar movindose 32 dientes, este movimiento
estar haciendo girar al engrane P4-M (gris perforado) 32 dientes, o 3.2 vueltas debido a que su
engrane interno cuenta con 10 dientes, por lo tanto su engrane externo estar movindose 102.4
dientes. Con esto podemos deducir entonces que cuando el elemento gire 90 el engrane P4-M
estar movindose 102.4 dientes; por lo tanto, si el engrane P4-M se moviera solo un diente, el
elemento girara aproximadamente 0.878. Teniendo en cuenta que el engrane se fragmento en
16 partes (8 perforaciones y 8 partes solidas) y la parte superior del engrane cuenta con 32
dientes, a cada perforacin le corresponderan dos dientes aproximadamente, por lo que
podemos deducir que cada pulso generado equivaldra a 1.75. Podemos observar la analoga
anterior por medio de las siguientes ecuaciones.

38

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Aplicando una regla de tres para resolver el valor en grados de un diente del engrane P4-M

Cabe mencionar que esta analoga tendra valores exactos en situaciones ideales, debido al error
existente en los motores, las cajas de reduccin y la elaboracin artesanal de las perforaciones
puede ocasionar variacin en los resultados reales.

3.2.4 Instalacin de los opto-interruptores


La finalidad de las modificaciones efectuadas en el sistema de engranes se llevaron a cabo
para contabilizar el movimiento de giro del engrane perforado. De acuerdo a los datos recabados
se pretende calcular la posicin de cualquier elemento del OWI-535.
Podemos deducir del nombre opto-interruptor su funcionamiento, estos dispositivos
comnmente constituidos por un LED emisor de un rayo infrarrojo y un fototransistor que
funciona como receptor del rayo infrarrojo, el cual abre y cierra el paso de corriente a travs de l
dependiendo de la luz recibida. Comnmente este dispositivo viene encapsulado en una pieza de
plstico que coloca ambos dispositivos de frente y solo permite el paso de luz a travs de una
pequea rejilla. En la Figura 3.17 podemos observar el opto-interruptor.

Figura 3.69 Opto-interruptor encapsulado y su diagrama.

La instalacin de este encapsulado en la caja de reduccin se dificulto debido al poco


espacio, por lo que se retiraron de su encapsulado y se pint el LED infrarrojo con tinta negra, de
tal manera que solo permitiera el paso de luz por una pequea franja, para poder as, dirigir la luz

39

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

en un solo sentido. En la Figura 3.18 se muestra el esquema del funcionamiento de los optointerruptores en el sistema de engranaje de las cajas de reduccin.

Figura 3.70 Instalacin del opto-interruptor dentro de la caja de engranes de las articulaciones.

Para la instalacin del opto interruptor se realiz una modificacin a la caja retirando un
fragmento de plstico como lo sugiere la Figura 3.19.

Figura 3.71 Modificacin recomendada para la instalacin del opto-interruptor.

Ambos dispositivos del opto-interruptor se instalaron con pegamento, en este caso silicn
caliente cuidando que la posicin fuera fija y centrada, uno frente al otro para que la recepcin de
la luz sea correcta. En la Figura 3.20 se puede observar la instalacin del opto-interruptor en una
caja de reduccin.

40

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.72 Instalacin final del opto-interruptor en una caja de reduccin.

3.2.4.1 Adecuacin de la seal de los opto-interruptores


Debido a que las perforaciones en los engranes son redondas, crean un error en la lectura
puesto que en determinados puntos permite el paso de solo la mitad de la luz infrarroja, esto
provoca una seal de salida con forma de dientes de sierra lo que podra perjudicar la lectura e
interpretarse como un tren de pulsos. Para corregir este problema se realizaron diversos
experimentos para obtener mltiples muestras de la seal obtenida de los opto-interruptores con
determinadas frecuencias de muestreo, las lecturas ms precisas se obtuvieron cuando se aplic
una frecuencia de muestreo de 200 ms, por lo que el microcontrolador deber realizar lecturas del
opto-interruptor cada lapso de tiempo equivalente al mencionado.
Dejando de lado el problema anterior, debemos considerar que el microcontrolador utiliza
seales TTL para funcionar y cualquier variacin en el voltaje podra considerarse una lectura
errnea. Para evitar estas variaciones en el voltaje, se conectaron los opto-interruptores a una
compuerta lgica NOT con disparador Schmitt para adecuar los valores de voltaje y obtener una
seal TTL cuadrada mejor definida. Se utiliz un CI 74LS14 para realizar dicha tarea. El diagrama
del circuito de los opto-interruptores y el 74LS14 se puede observar en la Figura 3.21.

Figura 3.73 Diagrama del 74LS14, circuito inversor con disparador Schmitt (Schmitt Trigger) y sus correspondientes
opto-interruptores.

41

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Las salidas del 74LS14 se conectaron directamente al microcontrolador, por lo que dichas
salidas solo podrn tener dos valores lgicos, cero y uno.
3.2.5 Creacin de una posicin de inicio
Como se ha mencionado anteriormente el OWI-535 puede llevar a cabo sus movimientos
mediante motores de corriente directa. Dichos motores no estn diseados para movimientos
precisos sino para un movimiento continuo, por esta razn el error que existe puede variar en
cada movimiento y ser acumulativo. Para evitar este problema se defini un punto de inicio
(Home) que permite al OWI-535 regresar a su posicin inicial cuando se reinicie el programa o
cuando uno se lo indique a travs del software. Se defini la posicin inicial del OWI-535
modificado como se muestra en la Figura 3.22.

Figura 3.74 Posicin inicial del OWI-535 modificado.

Para lograr una precisin en la posicin de inicio se instalaron micro-interruptores en los


lmites de movimiento de cada articulacin. Los micros-interruptores son interruptores mecnicos
que permiten el flujo de corriente cuando se activan, pueden contar con un mecanismo de palanca
para mejorar la presin sobre el botn y son de un tamao reducido, comnmente se les conoce
como interruptores de fin de carro puesto que son empleados para identificar el lmite de un
movimiento, como en el carro de una impresora.
3.2.6 Diseo de circuitos de control para los motores
Como se ha mencionado en capitulos anteriores el OWI-535 puede realizar su movimiento
gracias a motores de corriente directa (CD). Los motores de CD tienen la caracteristica de
funcionar con dos imanes permanentes y un embobinado que puede llegar a funcionar como un
electroiman, de esta manera con la atraccion y la repulsion de los imanes permanentes se produce
el movimiento del rotor. Esta caracteristica nos facilita el cambio de direccion del iman al cambiar
la polarizacion de sus terminales.

42

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Un puente H es un circuito que permite el cambio de la polaridad de un motor, estos


circuitos los podemos encontrar en el mercado como circuitos integrados (CI) o se pueden armar a
base de otros dispositivos electronicos. El funcionamiento del puente H es sencillo y se puede
interpretar con cuatro interruptores como en la Figura 3.23.

Figura 3.75 Representacin de un puente H con interruptores. Cuando S1 y S4 se activan el motor gira en una
direccin y cuando S2 y S3 son activados el motor gira en direccin contraria.

Para el circuito de control de los motores del OWI-535 se utilizaron circuitos integrados
L293D y L293B, ambos son puentes H. Dichos dispositivos funcionan con voltajes desde 4.5 VCD
hasta 36 VCD y permiten una seal de ancho de pulso modulado o PWM (por sus siglas en ingls
Pulse Width Modulation) para regular la velocidad del motor. Para consultar las caractersticas de
los CI L293D o L293B, ver Apndice A4.
El diseo del circuito es simple, se necesita un voltaje de 5 VCD para habilitar la terminal
de activacin (Enable) del circuito, dos entradas de 5 VCD (seal TTL) para controlar la direccin de
giro del motor y dos salidas que se conectan a las terminales del motor. El circuito ser alimentado
por un voltaje de 5 VCD.
Para el movimiento de las articulaciones, se controlaran los motores por medio de la
terminal Enable, la cual activa y desactiva el puente H correspondiente y la seal de control de
direccin de giro se enviar por igual a todas las terminales de cada L293. En resumen, la seal de
control de direccin de giro se enviara a todos los circuitos y se seleccionar por medio de la
terminal Enable, el motor correspondiente. En la Figura 3.24 se puede observar el diagrama del
circuito.

43

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3. 76 Diagrama del circuito de control de motores para el OWI-535 modificado. La seal de entrada X y la seal
de entrada Y son iguales para todos los circuitos, mientras que las terminales Enable se activan con diferente seal.

Como se puede observar en el diagrama anterior la direccin de giro se controla por dos
lneas que son llamadas: entrada X y entrada Y, estas entradas funcionan con una seal TTL. En la
Tabla 3.2 se puede observar la lgica del movimiento del motor en funcin de sus entradas.
Entrada X
L

Entrada Y
L

Salida
Sin
movimiento
Movimiento
X
Movimiento
Y
Sin
movimiento

Tabla 3. 8 Tabla de verdad del CI L293. H significa un pulso alto en voltaje TTL mientras que L un pulso bajo,
movimiento X y movimiento Y son movimientos giratorios en sentidos diferentes, el sentido del movimiento puede
variar dependiendo de la conexin de las terminales del motor.

3.2.7 Diseo del sistema electrnico completo


Los circuitos anteriormente descritos fueron integrados en una tarjeta prototipo donde
cada sistema aporta una pequea parte al sistema completo, y proporciona las interfaces
electrnicas necesarias al microcontrolador que es el cerebro del sistema, encargado de procesar
los datos de los sensores, y de enviar la seal a los actuadores para que estos desempeen su
trabajo mecnico.

44

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

El sistema electrnico del OWI-535 modificado se cre en base a las seales de los
diferentes circuitos que lo componen y de lo que dichos circuitos aportan. Por ejemplo, los
voltajes necesarios para la activacin de los motores, la lectura de los opto-interruptores, y el
estado de los micro-interruptores. El PIC16F877a cuenta con solo un ncleo de procesamiento, por
lo que solo puede realizar una accin a la vez. Debido a esto la organizacin del sistema es
fundamental para su correcto funcionamiento. La distribucin de las funciones para cada puerto
del PIC16F877A se asign como se muestra en la Tabla 3.3.
Pin
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RC1
RC2

RD1
RD2
RD3
RD4
RD5

Funcin

Elemento

Puerto B
Comunicacin serial
Lectura de la seal de cada
Opto-interruptor en las Cajas
de Engranaje

Puerto C
Definicin de la direccin de
giro en los circuitos Puente H
(PWM)
Puerto D
Salida de la seal Enable
(habilitacin del circuito
Puente H y movimiento del
motor de CD deseado)

Tx
Rx
Motor 5
Motor 4
Motor 3
Motor 2
Motor 1
Izquierda
Derecha

Motor 1
Motor 5
Motor 4
Motor 3
Motor 2

Puertos A y E
RA4
RA5
RE0
RE1
RE2

Lectura de las seales de los


micro-interruptores de
posicin de inicio o Home

Motor 5
Motor 4
Motor 3
Motor 2
Motor 1

Tabla 3.9 Asignacin de las terminales de cada puerto del PIC16F877a en el sistema electrnico de control.

Las conexiones a las terminales del PIC16F877a se realizaron de acuerdo a la Tabla 3.3, lo
cual podemos observar en el diagrama de la Figura 3.25.

45

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.77 Diagrama completo del circuito del sistema de control para el OWI-535 modificado.

Como se puede observar fueron incluidos tres CI Puente H (dos L293D y un L293B) para los 5
motores y 5 compuertas inversoras con disparador Schmitt para la adecuacin de la seal de los
opto-interruptores a una seal TTL cuadrada.
3.2.8 Diseo y montaje de circuitos impresos
El diagrama que se muestra en la Figura 3.25 fue validado en un protoboard con un
firmware de prueba. Debido a su tamao y sus frgiles conexiones, el circuito implementado no es
apropiado para una instalacin permanente en el sistema del OWI-535, por lo que los circuitos se
disearon e implementaron en tarjetas fenlicas donde se imprimieron y se soldaron
debidamente los dispositivos correspondientes.

46

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Se imprimieron dos tarjetas, una de 9 cm x 10 cm para el circuito de comunicacin serial a


la PC junto con el circuito de adecuacin de la seal de los opto-interruptores, y otra tarjeta de 8
cm x 8 cm para los circuitos controladores Puente H de los motores.
El diseo de las tarjetas se llev a cabo con el programa ARES 7 Proffesional el cual cuenta
con los dispositivos electrnicos necesarios para el proyecto, adems de una sencilla interfaz
grfica (Labcenter, 2014).
Se disearon dos placas para el montaje de los circuitos las cuales se construyeron para
montarse encima de la tarjeta controladora DIR-735 con el PIC16F877A. La placa 1 (Figura 3.26) se
dise para contener el sistema de comunicaciones constituido por el MAX-232 y el DB-9.
Tambin en la placa 1 se incluy el CI 74LS14, el cual contiene 6 compuertas NOT con disparo de
Schmitt para la adecuacin de la seal entregada por los opto-interruptores, as como los
conectores para dichos dispositivos. En la placa 2 (Figura 3.27) se instalaron los CI Puente H de los
motores del OWI-535, un CI L293B y dos CI L293D. De acuerdo a las especificaciones del
fabricante, se instalaron tambin cuatro diodos N4004 para el CI L293B.Ya que el CI L293D cuenta
con estos diodos internamente, no fue necesario instalar los diodos correspondientes para este CI.

Figura 3.78 Placa 1 con circuitos de comunicacin serial y recepcin de seales de opto-interruptores.

47

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.79 Placa 2 con circuitos Puente H para controlar los motores de CD.

En las Figuras 3.28 y 3.29 podemos observar las tarjetas ensambladas con sus
correspondientes componentes.

Figura 3.80 Placa 1 finalizada con los componentes correspondientes.

Figura 3.81 Placa 2 finalizada con los correspondientes componentes electrnicos.

Cuando se trata de manejar circuitos digitales debemos comprender el hecho de que un


cero lgico es el equivalente a conectar una determinada terminal a tierra. Para el caso de los
48

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

micro-interruptores no se debe ignorar lo antes mencionado puesto que al abrir el interruptor el


circuito simplemente quedara abierto y el micro-controlador podra interpretar esto como un uno
lgico en vez de un cero. Para evitar este error se implement un circuito cuya funcin es conectar
los micro-interruptores a resistencias de 2.2K para su salida a tierra y un puente para organizar
sus salidas al micro-controlador. En la Figura 3.30a se puede observar el diseo de la tarjeta
llamada placa 3, mientras que en la Figura 3.30b se observa la tarjeta ensamblada con sus
componentes electrnicos.

a.

b.

Figura 3.82 a) Diseo de la placa 3 para micro-interruptores. b) Placa 3 ensamblada.

3.2.9 Montaje de la caja de circuitos electrnicos


Para proteccin y organizacin de los circuitos electrnicos se instal un gabinete plstico
marca Steren cuyas medidas son: 22.3 x 14 x 9.2 cm. Dicho gabinete fue elegido con esas
medidas debido al tamao de las tarjetas y para que existiera suficiente ventilacin en los
circuitos. El gabinete se instal en la parte trasera del robot sustituyendo la pieza en donde se
encontraban los circuitos originales del OWI-535, y utilizando los mismos soportes y tornillos para
sostenerla.
Al gabinete se le realizaron modificaciones para que cumpliera con sus funciones, dichas
modificaciones consisten en:
Dos ranuras rectangulares de aproximadamente 5.5 cm de ancho por 1 cm de alto. En la
Figura 3.31se muestran las modificaciones a la caja por la vista frontal.

Figura 3. 83 Vista frontal de la caja, medidas reales de la caja de circuitos.

49

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Un orificio circular de 5.7 cm de dimetro en la cara lateral derecha, Figura 3.32a y una
rejilla de perforaciones de 5.5 cm x 5 cm en la parte lateral izquierda de la caja para la instalacin
de un ventilador como sistema de enfriamiento que permita el flujo de aire a los circuitos
electrnicos, como se puede observar en la Figura 3.32b.

(a)

(b)
Figura 3.84 a) Vista lateral derecha. b) Vista lateral izquierda.

Una perforacin en la tapadera que se encuentra en la parte superior de la caja para la


instalacin de un botn tipo push, el mismo que sirve de corta corriente como botn de paro de
emergencia. Los detalles se pueden observar en la Figura 3.33.

Figura 3. 85 Vista superior de la caja, botn de paro de emergencia.

En la parte trasera de la caja se realiz: una perforacin de 3 mm de dimetro para


introducir un LED que nos indique si el microcontrolador est encendido o apagado, una
perforacin de 7 mm de dimetro para un botn normalmente abierto para el reinicio del
firmware, una ranura de 3.2 cm x 1.3 cm para un puerto DB-9, una ranura de 2.5 cm x 3.1 cm para
el interruptor de encendido y una ltima perforacin de 6 mm de dimetro para el cable de
alimentacin, a dicho cable se le instalo un conector para evitar errores en los voltajes utilizados
que sern descritos posteriormente. La vista trasera de la caja se observa en la Figura 3.34.

50

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3. 86 Vista trasera de la caja, sus componentes y medidas calculadas.

Las tarjetas electrnicas fueron instaladas en el interior de la caja contenedora como se


observa en la Figura 3.35.

Figura 3.87 Tarjetas electrnicas instaladas en el interior de la caja contenedora.

El OWI-535 modificado con todo el sistema completo se puede observar en la Figura 3.36

Figura 3.88 OWI-535 modificado con la caja de circuitos y dems dispositivos mencionados anteriormente.

51

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.2.10 Espacio de trabajo final del OWI-535 modificado


Debido a las modificaciones realizadas al OWI-535, tambin se modific su espacio de
trabajo, reduciendo el ngulo de movimiento de algunas articulaciones. Cabe mencionar que el
espacio de trabajo podra ser mayor que lo que se le design, pero se consider un margen para
evitar daos en el mecanismo por si existiese algn error. En el caso de la orientacin horizontal
del OWI-535 se redujo el espacio de trabajo a un ngulo de 180 debido a la instalacin de la caja
que encapsula los circuitos electrnicos de control, en la parte trasera del manipulador. En la
Figura3.37 se puede observar el espacio de trabajo en el plano horizontal del OWI-535 modificado.

Figura 3.89 Espacio de trabajo horizontal del OWI-535 modificado.

Para el caso de los movimientos verticales tambin se vieron reducidos debido a la caja de
circuitos electrnicos. El espacio de trabajo en el plano vertical se puede observar en la Figura
3.38.

Figura 3.90 Espacio de trabajo vertical del OWI-535 modificado.

52

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.2.11 Fuente de alimentacin


El sistema electrnico est diseado para operar con dos voltajes de CD debido a que los
circuitos del microcontrolador demandan un voltaje mayor a 5 VCD, que actualmente se alimenta
con 12 VCD, mientras que los circuitos de control de los motores pueden funcionar con un voltaje
de 5 VCD por separado, esto evita un posible mal funcionamiento en el microcontrolador, por una
posible alta demanda de corriente de los motores. Para solucionar este problema se utiliz una
fuente de poder de computadora marca Acteck modelo AF-B500P de 500 W (Acteck, 2014). La cual
fue modificada para funcionar por s sola, sin la conexin a un CPU. A la carcasa se le realiz una
perforacin de 2.3 cm de dimetro para la instalacin de un conector de seguridad para chasis,
tipo hembra, modelo D-Series Flange, marca Neutrik (Newark, 2014), el cual es compatible con un
conector para cable macho, de la misma marca, utilizado en el cable de alimentacin del sistema
electrnico de control. Dichos conectores de seguridad, tienen una sola manera de conectarse, sin
correr el riesgo de cometer un error en la conexin de los voltajes. En la Figura 3.39 se puede
observar ambos conectores utilizados para enviar los voltajes correspondientes de la fuente de
poder al sistema de control electrnico.

Figura 3.91 Conectores de seguridad utilizados en la carcasa y el cable de energa, se envan 5 VCD y 12 VCD por el
mismo cable.

Se utiliz un voltaje de 12 VCD para la tarjeta DIR-735 con el microcontrolador, debido a


que cuenta con un regulador de voltaje a 5 VCD, por lo que el voltaje de alimentacin no puede
ser menor o igual a 5V. La tarjeta con los circuitos de adecuacin de la seal de los optointerruptores, y el MAX232 son alimentados con un voltaje de 5 VCD, el cual proviene del voltaje
regulado de la tarjeta DIR-735.

53

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.3 Firmware
El firmware para el control del OWI-535 modificado se basa en una estructura de un
proceso central, el cual es capaz de llamar a procesos secundarios como medida de accin a
determinadas lecturas y comandos que se le proporcione. El firmware, que fue denominado
Softwi, en su versin 1.0, est diseado para trabajar en conjunto con un software de
computadora, el cual transmitir los comandos de las acciones requeridas por el operador e
introducidas a travs de una interfaz grfica en la PC, al sistema de control electrnico del OWI535 modificado. A continuacin se describen los procesos y subprocesos que componen el
firmware. Para ver cdigo el fuente de Softwi V1.0, consultar Apndice A7.
3.3.1 Bucle principal
El bucle principal es el que se encarga del reconocimiento del comando para ejecutar la
accin. Bsicamente, este proceso se est ejecutando infinitamente hasta que un comando es
introducido, posteriormente el programa evala el comando, y si es correcto, ejecuta la accin
definida por el comando.
Existen cuatro comandos posibles dos se atribuyen a la herramienta, uno es para regresar
a la Posicin Inicial, y el ultimo es para indicar un determinado movimiento del OWI-535. Para
cada comando se transmite un carcter, en la Tabla 3.4 se observa el carcter asignado a cada
comando.
Comando
Home

Carcter
r

Descripcin
Regresa el OWI-535 a su Posicin Inicial

Cerrar

Abrir

Mover

Salir

Cierra la herramienta del OWI-535, este


movimiento se controla mediante
tiempo
Abre la herramienta del OWI-535 hasta
que se active el micro-interruptor
Mueve el OWI-535 a una posicin
determinada
Finaliza la ejecucin del firmware

Tabla 3.10 Comandos validos en el Softwi V1.0.

En la rutina principal del Softwi no se ejecuta ninguna accin puesto que su funcin es
tomar una decisin de que accin tomar dependiendo del comando recibido, por lo tanto las
acciones se ejecutan en subrutinas, las cuales son llamadas por la rutina principal. Podemos
observar el funcionamiento de la rutina principal del Softwi en la Figura 3.40.

54

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.92 Rutina principal del Softwi. Los ngulos son proporcionados por el software de la PC.

55

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.3.2 Subrutinas
La estructura del Softwi, como ya se ha mencionado, se basa en subrutinas las cuales son
llamadas por una rutina principal, esto facilita la identificacin de errores al dividir el
funcionamiento completo del firmware en pequeas tareas que se ejecutan una a una. Cada
subrutina es una tarea diferente y en ocasiones comparten datos en comn para el anlisis, y
ejecucin de las acciones que el OWI-535 puede llevar a cabo. A continuacin se describen las
subrutinas y su funcionamiento.
3.3.2.1 Subrutina de Posicin Inicial
Para llevar a cabo esta subrutina es importante estar atentos a las seales de entrada que
los micro-interruptores instalados enven al microprocesador, debido a que los movimientos de la
rutina de Posicin Inicial o Home, no se basan en el conteo de pulsos entregados por los sensores
opto-interruptores, sino en el contacto fsico de los elementos conectados a las articulaciones del
manipulador con dichos interruptores. El funcionamiento de esta subrutina se basa en una sola
ley, el motor se mover hasta que el micro-interruptor sea activado, esto enva un pulso de 5 VCD
al microcontrolador, el cual identifica que articulacin ha sido reestablecida a su Posicin Inicial.
Como podemos observar en la Figura 3.22, la mayora de los elementos del OWI-535 tocan
sus lmites, para ello se realiz una lgica en los movimientos a realizar, para evitar una posible
colisin. Se le dio a cada motor un nmero de identificacin el cual podemos observar en la Tabla
3.5.
Articulacin
Base
Hombro
Codo
Mueca

Nmero de
Identificacin
Motor 1
Motor 2
Motor 3
Motor 4

Abreviatura
M1
M2
M3
M4

Tabla 3.11 Nmero de identificacin de motores del OWI-535. El motor de la herramienta no se le asign un nmero
de identificacin, para hacer referencia a este, solo se mencionara como Herramienta o Efector final.

El orden de los movimientos para restablecer la Posicin Inicial del OWI-535 es: motor 2,
motor 4, motor 3, y por ltimo el motor 1 que define la orientacin del brazo manipulador.
3.3.2.2 Subrutina Mover
La funcin principal del OWI-535 se puede encontrar dentro de la subrutina Mover, esta
subrutina es la encargada de calcular el ngulo de movimiento para cada articulacin. La subrutina
tambin hace llamados a otras subrutinas que ayudan en el clculo y el posicionamiento de las
articulaciones del OWI-535, adems de las variables fundamentales para la operacin. En la Figura
3.41 se muestra el diagrama de bloques del funcionamiento de la subrutina Mover.

56

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3. 93 Diagrama de bloques de la subrutina Mover.

57

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

El funcionamiento de la subrutina Mover se basa en activar y desactivar los motores.


Podemos observar que son necesarias otras variables y subrutinas para que la subrutina pueda
ejecutarse correctamente. Las variables Parmetro y Bandera de Direccin son proporcionadas
por una subrutina de clculo de movimiento que se describe ms adelante. Con estas variables se
lleva a cabo un comparativo de los pulsos necesarios para completar el movimiento requerido y el
conteo de los pulsos entregados por los opto-interruptores que incrementan un contador, hasta
llegar a la cantidad de pulsos necesarios que nos permiten cumplir con el movimiento requerido y
finalizar la subrutina.
3.3.2.3 Subrutinas de Conteo, Seleccin y Posicionamiento
Los movimientos del OWI-535 modificado pueden ser controlados a travs de un conteo
del cambio de estado de los opto-interruptores instalados en las cajas de engranaje de reduccin,
por lo tanto cada cambio de estado del opto-interruptor genera un pulso. Con la ayuda de una
subrutina llamada Conteo se puede controlar el ngulo de movimiento de las articulaciones del
OWI-535. Fsicamente un pulso representara un segmento del engrane ya sea una perforacin o
una parte slida. Por lo tanto, estas subrutinas en conjunto se encargan de verificar si existe un
cambio de estado en el opto-interruptor seleccionado y aumentar un contador, el cual
posteriormente se compara en la subrutina Mover antes mencionada.
Cuando se genera un cambio de estado en el opto-interruptor se hace un llamado a otra
subrutina llamada Posiciona, la cual se encarga de aumentar o decrementar el contador de la
articulacin seleccionada, de acuerdo a la direccin del movimiento. En la Figura 3.42 se puede
observar el diagrama de bloques del funcionamiento de la subrutina de posicionamiento.

58

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.94 Diagrama a bloques del funcionamiento de la subrutina de posicionamiento.

59

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Dentro de la lgica del firmware existe solo una articulacin capaz de realizar movimientos
negativos y positivos: la orientacin (M1). Esto se debe a su posicin inicial, la cual se encuentra
justo al centro del rango de movimientos que dicha articulacin puede realizar. Por lo que el
posicionamiento de M1 es el ms complejo dentro de la lgica del firmware. Como se puede
observar en el diagrama de la Figura 3.42, existen tres variables para el posicionamiento de la
articulacin M1: la bandera de Cambio de Signo, la Direccin del Movimiento, y la Direccin del
Motor. Toda la decisin se basa en la bandera de Cambio de Signo, puesto que define el conteo
dependiendo de la direccin; por ejemplo, cuando la bandera de Cambio de Signo se activa, el
conteo en vez de ser progresivo ahora ser regresivo. Como decisin secundaria se tomara en
cuenta si la articulacin se encuentra en su posicin inicial, puesto que en esta posicin es cuando
ocurre el cambio de signo, de otra manera no existe forma alguna de que se produzca un cambio
de signo. Por ltimo, se hace una comparacin entre el signo del movimiento a la posicin deseada
y la posicin actual, para esto necesitamos visualizar el rango de movimientos como una serie de
nmeros negativos y positivos, donde el cero es la posicin inicial de la articulacin, suponiendo
que la articulacin se encuentra en una posicin positiva y se requiere mover a una posicin
negativa; es entonces donde nos encontraremos con este cambio de signo descrito en el
diagrama.
Aunque las articulaciones del hombro (M2) y mueca (M4) realicen movimientos
negativos dentro de la lgica del firmware, estos son tomados como positivos con la diferencia de
que los clculos del movimiento se realizaran con signos invertidos para su correcto
posicionamiento. Gracias a que estas articulaciones no sobrepasan su lmite cero no existe la
necesidad de realizar operaciones de cambio de signo. En la Tabla 3.6 se muestra la lgica de los
movimientos para cada articulacin segn el firmware.
M1

M2

M3

M4

Tabla 3.12 Lgica de movimientos del firmware para cada articulacin del manipulador.

Para hacer una comparacin, la variable del contador de cada articulacin se almacena en
una variable diferente, esto permite al firmware saber cundo se genera un cambio de estado
mediante la comparacin de estas dos variables. Esta tarea es realizada por otra subrutina llamada
Seleccin. En la Figura 3.43 se muestra el funcionamiento de la subrutina seleccin, ntese que la
variable Info es utilizada como una variable de trabajo, mientras que las dems variables llevan a
cabo una funcin de almacenamiento.

60

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3. 95 Diagrama a bloques de la subrutina Seleccin.

Con ayuda de las subrutinas anteriores se lleva a cabo la subrutina de Conteo de Pulsos;
podemos observar en la Figura 3.44 el diagrama de bloques de su funcionamiento.

61

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.96 Diagrama a bloques de la subrutina de Conteo.

Esta subrutina se basa en la comparacin de una variable de trabajo para verificar cuando
cambia el estado de una determinada articulacin, esta subrutina necesita de las dos subrutinas
anidadas de Posiciona y Seleccin.
3.3.2.4 Subrutina de Clculo de Movimiento
Como se ha visto anteriormente la subrutina de reinicio de posicin se encarga de regresar
el ngulo de las articulaciones a una posicin inicial o estado cero. El estado cero como su nombre
lo indica es la posicin 0 de cada articulacin. Como se puede observar en la Tabla 3.6 (lgica de
movimientos del firmware) se defini la direccin de rotacin con signos + y -, siendo el signo
positivo para determinar movimientos a la derecha en el caso de la orientacin, y hacia abajo para
las dems articulaciones, y el signo negativo para movimientos a la izquierda y hacia arriba.
Definida la lgica anterior y teniendo en cuenta las posiciones iniciales de cada articulacin
podemos deducir que se presentaran tres posibles casos en las decisiones de movimientos. Como
se ha mencionado la posicin inicial de la primera articulacin se encuentra en el centro del rango
de movimiento, por lo que ser necesario deducir precisamente la direccin del movimiento, en
62

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

este caso se pueden presentar tanto signos positivos como negativos, por lo que es necesario
definir una bandera de signo para facilitar al microcontrolador el clculo del movimiento. Por otro
lado, la tercer articulacin ubica su posicin cero completamente en el lmite inferior de su rango
de movimiento, esto provoca que los posibles movimientos que esta articulacin efecte sean
negativos dentro de la lgica de movimientos, puesto que todos los movimientos sern en
direccin hacia arriba y teniendo como lmite superior 0. Por ltimo, se encuentra la segunda y
cuarta articulacin, las cuales debido a su posicin cero en la parte superior del rango de
movimiento, pueden realizar movimientos positivos (hacia la parte inferior del rango de
movimientos).
Cada transmisin recibida del software contendr los ngulos y signos necesarios para
cada articulacin, el firmware es capaz de reconocer cuando es necesario mover una articulacin y
cuando no, esto se realiza gracias a una pregunta lgica, el ngulo de la articulacin seleccionada
es igual al ngulo que se desea mover? Si la respuesta a esta pregunta es afirmativa entonces se
pueden presentar dos casos, el ngulo de la articulacin es mayor o menor al ngulo que se desea
mover .Para ambos casos, la solucin es una sustraccin de los ngulos la cual nos permite calcular
el movimiento de cada articulacin, el hecho de que el ngulo de la articulacin sea mayor o
menor al ngulo de movimiento, solo nos define el minuendo y el sustraendo de la operacin, esto
se hace para limitarnos a utilizar banderas de signos en lugar de trabajar con nmeros negativos
que requieran otra operacin dentro del microcontrolador. En la Figura 3.45 se puede observar la
lgica del rbol de decisiones en un diagrama a bloques de la subrutina de Clculo de Movimiento.

63

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 3.97 Diagrama a bloques de la subrutina Clculo de Movimiento.

Como se puede observar en la Figura3.45 esta subrutina define dos variables importantes
para el proceso de movimiento que son el parmetro de movimiento (Cantidad de Pulsos a Mover)
y la Direccin del Movimiento.

64

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.3.2.5 subrutinas de control de la herramienta


Existen dos operaciones que el efector final puede realizar debido a sus caractersticas:
abrir y cerrar. Para controlar estas acciones se requiere el micro-interruptor instalado en dicha
herramienta. Ambas operaciones llevan a cabo una lgica distinta. Cuando se realiza la operacin
abrir sta realiza un movimiento similar al restablecer posicin, el micro-interruptor acta como
un fin de carro y el movimiento de la pinza contina hasta alcanzar el lmite y activar el
interruptor. Por otro lado, la operacin cerrar es controlada calculando el tiempo que le toma
cerrarse completamente o hasta determinado punto y el movimiento se detiene cuando termine
el tiempo determinado. Ambos diagramas para las subrutinas de control de la pinza se pueden
observar en la Figura 3.46.

Figura 3.98 a) diagrama de flujo de la subrutina abrir pinza. b) diagrama de flujo de la subrutina cerrar pinza.

3.4 Software
Hasta este punto la programacin mencionada ha sido del firmware para el
microcontrolador, en adelante se explicarn los algoritmos y libreras utilizadas para la
programacin del software para la PC. Cabe mencionar que el software se program en Matlab
(Mathworks, 2014) debido a su facilidad para realizar clculos con matrices y de integrar libreras
de software libre y gratuito para robtica en el proyecto; en especial aquellas que permiten
realizar el clculo de la cinemtica de un robot manipulador y su simulacin. En este caso, estamos
haciendo referencia a la librera de Robtica Visin y Control (RVC) del Dr. Peter Corke (Corke,
Robotics Toolbox, 2014).

65

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.4.1 Librera de robtica visin y control (RVC)


El software controlador del OWI-535 modificado est basado en la librera RVC, y es necesario
tenerla correctamente instalada para que funcione. La librera RVC contiene un grupo de funciones
para Matlab desarrolladas por el Dr. Peter Corke para anlisis, control y clculo de parmetros
relacionados con robtica. En este proyecto, nos enfocaremos nicamente al estudio de la
cinemtica de manipuladores, utilizando el mtodo de determinacin de los parmetros DenavitHartenberg (D-H) descrito en la seccin 7.5.2, del libro Robotics: vision & control (Corke, 2011), el
cual representa dichos parmetros como una serie de rotaciones y translaciones que componen la
estructura cinemtica de un manipulador robtico.
A partir de la librera RVC se escribi un script o programa principal, el cual dentro de su
funcionamiento, hace un llamado a una funcin contenida dentro de la misma librera RVC
llamada Teach.m, esta funcin fue modificada para cumplir con los objetivos especficos del
proyecto.
3.4.2 Script principal OWI535.m
El script principal (OWI535.m) realiza la iniciacin de la librera RVC y la definicin de los
parmetros D-H, ver Apndice A5 para revisar el cdigo fuente, tal como lo propone el mtodo de
determinacin de D-H. Segn el mtodo se forma una serie de rotaciones y translaciones para
conformar cada elemento del robot. Para una mejor comprensin del cdigo primero es necesario
analizar la estructura cinemtica del OWI-535.
Como se ha mencionado, el manipulador OWI-535 cuenta con 4 GDL, debido a esto se le
considera un manipulador bajo actuado lo que representa relativa sencillez para determinar sus
parmetros D-H. Siguiendo el algoritmo D-H vamos a empezar a determinar las ternas (X, Y, Z) de
los ejes de referencia para cada articulacin, tal como se muestra en la Figura 3.47.

Figura 3.99 Asignacin de ternas (X, Y, Z) de los ejes de referencia de cada articulacin del OWI-535, los elementos X0,
Z1, Z2, Z3 y Z4 apuntan hacia el lector.

Definidas las ternas podemos llevar a cabo el primer paso del mtodo, la definicin de una
cadena que contenga dichas ternas empezando por la base y finalizando en la herramienta.
Utilizando Matlab y las funciones de translacin y rotacin dela librera RVC, podemos definir:
>>s = 'Tz(L0).Rz(q1).Ry(q2).Tz(L1).Ry(q3).Tz(L2).Ry(q4).Ty(L4).Tz(L3)'

66

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

La cual arroja como resultado las siguientes lneas


s =
Tz(L0).Rz(q1).Ry(q2).Tz(L1).Ry(q3).Tz(L2).Ry(q4).Ty(L4).Tz(L3)

Siguiendo la cadena de principio a fin, tenemos:


1. Una translacin en el eje Z0 (Tz) que eleva la base de donde se origina el movimiento de la
base del robot.
2. Rotacin en el eje Z0 (Rz), el cual representa el movimiento rotacional de la primera
articulacin.
3. Rotacin en el eje Y1 (Ry), representando el movimiento rotacional de la segunda
articulacin.
4. Translacin en el eje Z1 (Tz), representa la distancia entre la segunda y tercera
articulacin.
5. Rotacin en el eje Y2 (Ry), el cual representa el movimiento rotacional de la tercera
articulacin.
6. Translacin en el eje Z2 (Tz), que es la distancia entre la tercera y la cuarta articulacin.
7. Rotacin en el eje Y3 (Ry), representando al movimiento rotacional de la cuarta
articulacin
8. Translacin en el eje Y3 (Ty), que representa la distancia entre el ejeX3 de la cuarta
articulacin y el eje X4 de la herramienta.
9. Translacin en el eje Z3 (Tz), el cual representa la distancia entre la cuarta articulacin y la
herramienta.
Como se observa en la ecuacin las variables q1, q2, q3 y q4 son los ngulos de rotacin
mientras que L0, L1, L2, L3 y L4 son las distancias de cada articulacin, dichas distancias las
podemos observar en la Figura 3.2.
Despus de declarar y analizar la cadena se procede a calcular los parmetros D-H, los cuales
se hacen automticamente mediante la funcin DHFactor.
>>dh = DHFactor(s)

Las siguientes lneas presentan los clculos y resultados mostrados al ejecutar la librera DHFactor
de RVC.
Tz(L0).Rz(q1).Ry(q2).Tz(L1).Ry(q3).Tz(L2).Ry(q4).Tz(L4).Tz(L3)
Tz(L0).Rz(q1).Ry(q2).Tz(L1).Ry(q3).Tz(L2).Ry(q4).Tz(L4).Tz(L3)
Merge: Tz(L4) Tz(L3) := Tz(L4+L3)
Swap: Tz(L0) <->Rz(q1)
Rz(q1).Tz(L0).Ry(q2).Tz(L1).Ry(q3).Tz(L2).Ry(q4).Tz(L4+L3)
initialmerge + swap
Rz(q1).Tz(L0).Ry(q2).Tz(L1).Ry(q3).Tz(L2).Ry(q4).Tz(L4+L3)
ReplaceToZ: Ry(q2) := Rx(-90)Rz(q2)Rx(+90)
ReplaceToZ: Ry(q3) := Rx(-90)Rz(q3)Rx(+90)
ReplaceToZ: Ry(q4) := Rx(-90)Rz(q4)Rx(+90)
jointvars to Z

67

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Rz(q1).Tz(L0).Rx(-90).Rz(q2).Rx(+90).Tz(L1).Rx(90).Rz(q3).Rx(+90).Tz(L2).Rx(-90).Rz(q4).Rx(+90).Tz(L4+L3)
0--------------------------------------ReplaceY: Rx(+90)Tz(L1) := Ty(-L1)Rx(+90)
ReplaceY: Rx(+90)Tz(L2) := Ty(-L2)Rx(+90)
ReplaceY: Rx(+90)Tz(L4+L3) := Ty(-L4-L3)Rx(+90)
Eliminate: Rx(+90) Rx(-90)
Eliminate: Rx(+90) Rx(-90)
Rz(q1).Tz(L0).Rx(-90).Rz(q2).Ty(-L1).Rz(q3).Ty(-L2).Rz(q4).Ty(-L4L3).Rx(+90)
1--------------------------------------Rz(q1).Tz(L0).Rx(-90).Rz(q2).Ty(-L1).Rz(q3).Ty(-L2).Rz(q4).Ty(-L4L3).Rx(+90)
1--------------------------------------** deal with Ry/Ty
ReplaceToZ2: Ty(-L1) := Rz(+90)Tx(-L1)Rz(-90)
ReplaceToZ2: Ty(-L2) := Rz(+90)Tx(-L2)Rz(-90)
ReplaceToZ2: Ty(-L4-L3) := Rz(+90)Tx(-L4-L3)Rz(-90)
Merge: Rz(q2) Rz(+90) := Rz(q2+90)
Merge: Rz(-90) Rz(q3) := Rz(q3-90)
Merge: Rz(-90) Rz(q4) := Rz(q4-90)
Merge: Rz(q3-90) Rz(+90) := Rz(q3)
Merge: Rz(q4-90) Rz(+90) := Rz(q4)
Rz(q1).Tz(L0).Rx(-90).Rz(q2+90).Tx(-L1).Rz(q3).Tx(-L2).Rz(q4).Tx(L4-L3).Rz(-90).Rx(+90)
1--------------------------------------Rz(q1).Tz(L0).Rx(-90).Rz(q2+90).Tx(-L1).Rz(q3).Tx(-L2).Rz(q4).Tx(L4-L3).Rz(-90).Rx(+90)
1--------------------------------------** dealwithRy/Ty
Rz(q1).Tz(L0).Rx(-90).Rz(q2+90).Tx(-L1).Rz(q3).Tx(-L2).Rz(q4).Tx(L4-L3).Rz(-90).Rx(+90)
adding: DH(null, 0, 0, 0) += Rz(q1)
adding: DH(q1, 0, 0, 0) += Tz(L0)
adding: DH(q1, L0, 0, 0) += Rx(-90)
adding: DH(null, 0, 0, 0) += Rz(q2+90)
adding: DH(q2+90, 0, 0, 0) += Tx(-L1)
adding: DH(null, 0, 0, 0) += Rz(q3)
adding: DH(q3, 0, 0, 0) += Tx(-L2)
adding: DH(null, 0, 0, 0) += Rz(q4)
adding: DH(q4, 0, 0, 0) += Tx(-L4-L3)
DH(q1, L0, 0, -90).DH(q2+90, 0, -L1, 0).DH(q3, 0, -L2, 0).DH(q4, 0, -L4L3, 0).Rz(-90).Rx(+90)

Mostramos esta informacin de una manera ms sencilla de leer con la funcin:


>>dh.display
ans =
DH(q1, L0, 0, -90).DH(q2+90, 0, -L1, 0).DH(q3, 0, -L2, 0).DH(q4, 0, -L4L3, 0).Rz(-90).Rx(+90)

68

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

El cual nos muestra los parmetros D-H para cada articulacin en el orden de , d, a y (Corke,
2011).
Creamos una clase de objeto, el cual contiene los comandos para el robot OWI-535.
>>cmd = dh.command('OWI535')

El comando presenta los datos del objeto creado denominado OWI535:


cmd =
SerialLink([0, L0, 0, -pi/2, 0; 0, 0, -L1, 0, 0; 0, 0, -L2, 0, 0;
0, 0, -L4-L3, 0, 0; ], 'name', 'OWI535', 'base', eye(4,4), 'tool',
trotz(-pi/2)*trotx(pi/2), 'offset', [0 pi/2 0 0 ])

Los cuales se ejecutan con el comando:


>>robot = eval(cmd)

Y se presenta la siguiente tabla de los parmetros DH del robot


robot =
OWI535 (4 axis, RRRR, stdDH)
+---+-----------+-----------+-----------+-----------+
| j |
theta |
d |
a |
alpha |
+---+-----------+-----------+-----------+-----------+
| 1|
q1|
4.5|
0|
-1.571|
| 2|
q2|
0|
-9|
0|
| 3|
q3|
0|
-11.5|
0|
| 4|
q4|
0|
-11|
0|
+---+-----------+-----------+-----------+-----------+
grav =
9.81
0 0

0
0
0

base = 1 0 0 0
tool =
0 1 0 0
0 0 1 0
0 1
0 0 0 1

0 0 -1
-1 0 0
0 0

0
0

Lo cual crea un espacio de trabajo llamado robot, que es un objeto del tipo SerialLink de la librera
RVC.
La posicin cero de los ngulos de un robot es frecuentemente una pose muy inusual (o en
algunas ocasiones mecnicamente inalcanzable). El diseador de control del robot puede elegir la
configuracin del ngulo cero para que sea una posicin ms obvia para el robot (Corke, 2011).
En el caso del OWI-535, sus articulaciones tendran un ngulo cero los cuales posicionaran
al robot completamente vertical, lo cual nos provocara un aumento en la complejidad del
firmware debido a que ms de dos articulaciones manejaran nmeros positivos y negativos en sus
69

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

rangos de movimiento, por lo que la posicin cero se ajust como se puede ver en la Figura 3.22.
Observando la figura, podemos ver que solo las articulaciones 3 y 4 son modificadas en cuanto a
su ngulo cero. Esto se lleva a cabo mediante las siguientes funciones que definen la
compensacin u offset necesario de cada elemento para definir sus respectivos nuevos ngulos
cero.
>>robot.links(3).offset = 130*pi/180;
>>robot.links(4).offset = -60*pi/180;

Ntese que se realiza una conversin de grados a radianes debido a que la librera RVC
solo maneja radianes, y en este trabajo se expresan valores en grados.
Por ltimo se hace el llamado a la funcin Teach.m, la cual se encarga de representar
grficamente por medio de vectores al robot, adems de generar una ventana que contiene
controles para el movimiento de cada articulacin.
>>robot.teach('degrees')

Ntese que los ngulos sern determinados por grados y no por radianes, esto solo servir
para mostrar los datos, no para realizar operaciones.
En la Figura3.47 podemos observar la simulacin grfica del robot OWI-535

Figura 3.100 Grfica en vectores de la simulacin del manipulador OWI-535 en su Posicin Inicial (Home).

70

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.4.3 Modificacin de la funcin Teach.m


La funcin Teach, es una funcin incluida en la librera RVC, la cual permite realizar una
simulacin grfica de un robot manipulador definido y modificar la posicin de sus elementos
mediante barras deslizantes en una interfaz grfica de usuario (GUI) en la pantalla de la PC, as
como guardar en una matriz sus diferentes estados. Esta funcin simula un dispositivo Teach
Pendant en la GUI, la cual a su vez hace un llamado a otra ventana que grafica en vectores al
robot. En la Figura 3.49 se muestra la ventana de Teach.m para el OWI_535.

Figura 3.101 GUI de la funcin Teach.m para el robot OWI-535, en la parte superior se pueden observar las
coordenadas en los ejes x, y, z; as como los respectivos ngulos de la posicin y orientacin de la herramienta final
del manipulador. Las casillas a la derecha de las barras deslizantes, nos indican el ngulo de cada articulacin en
grados (q1, q2, q3, q4).

Para que dicha funcin cumpliera con los requerimientos del proyecto se agregaron cinco
botones ms al funcionamiento original:

Botn para restablecer la Posicin Inicial (Reset).- Este botn se encarga de enviar un
comando que le permite al firmware hacer un llamado a la subrutina de Posicin Inicial y
restablece el OWI-535 a su posicin de inicio. Esta posicin tambin puede ser utilizada
para calibrar los movimientos y reducir el error acumulado. La Posicin Inicial de la
herramienta es abierto, por lo que tambin restablece este valor en el Software.
Botn Ejecutar.- Este botn se encarga de enviar por el puerto serial el comando mover
al OWI-535 modificado, para posteriormente enviar uno a uno el contenido, por
renglones, de la matriz robot.qteach creada por la funcin Teach. Cada columna de la
matriz representa un ngulo de una articulacin, mientras que cada rengln representa
toda una posicin del OWI-535. Se envan cinco datos por cada posicin del OWI-535: q0,
signo de q0, q1, q2 y q3. Cuando las posiciones transmitidas por el programa llegan al
PIC16F877a, ste ejecuta las subrutinas necesarias y enva una seal para indicar que se
puede realizar el siguiente movimiento. Si la posicin deseada no es alcanzada por alguna
razn el PIC16F877a, enva una seal de error. En caso de un fallo en la comunicacin se
enva una alerta, si este error se produce por parte de Matlab, se presentar en la consola
en letras rojas, sta alerta es propia de Matlab. Si el error se produce en el OWI-535 cada
71

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

subrutina est protegida con un timeout que al ser alcanzado, enva una seal de error, la
cual es desplegada en letras negras en la consola de Matlab.
Botones de control de herramienta: Abrir y Cerrar.- Estos botones llevan a cabo la funcin
para mover la pinza, no existe otra validacin que la misma interfaz grfica, solo un botn
puede estar activo a la vez, cuando se pulsa un botn ya sea abrir o cerrar, se enva el
comando correspondiente al OWI-535, el cual ejecuta la accin y devuelve un indicador de
xito o error segn sea el caso. Si un indicador de error es recibido, se indica en la consola
de Matlab, y no se presenta ningn cambio en los botones. Por el contrario, si se recibe un
indicador de xito en el movimiento el botn contrario se desactiva para seguir con el
funcionamiento.
Botn de borrado de memoria (Borrar).-Se encarga simplemente de limpiar los valores
que el botn guardar agrega a la matriz robot.qteach para as definir una nueva
trayectoria.

En la Figura 3.50 se puede observar la ventana de Teach.m modificada

Figura 3.102 GUI de la funcin modificada Teach.m para el robot OWI-535 modificado.

Para revisar el cdigo fuente de las modificaciones a Teach.m, ver Apndice A6.

72

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

3.4.4Comunicacin entre Software y Hardware


Tanto el firmware como el software necesitan transmitir y recibir datos para su correcto
funcionamiento, por esto el hecho de que exista una sincrona en la transmisin y recepcin de
datos es importante para que el sistema completo funcione.
3.4.4.1 Protocolo de Comunicacin entre Matlab y microcontrolador
En la Figura 3.50 se muestra un diagrama de bloques que muestra el funcionamiento del
protocolo de comunicacin.

Figura 3.103 Diagrama a bloques del protocolo de comunicacin Matlab PIC.

Como se observa en la Figura 3.51, la comunicacin se logra a base de una sincrona en el


envo y recepcin de datos, tal cual sucede en la realidad en una conversacin. Los programas

73

Captulo 3: Diseo e Implementacin

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

pueden empezar a ejecutarse al mismo tiempo debido que ambos esperaran un comando para
realizar la siguiente instruccin.
Cuando el software por parte de la PC es ejecutado este inicia con la definicin de las
variables y la creacin de la simulacin del robot. Posteriormente se define una posicin y se
almacena en una matriz (robot.qteach) donde cada columna representara un valor del ngulo de
cada articulacin. Cuando es necesario ejecutar un movimiento, el software enva un comando
valido para el firmware. Cuando se trata de un movimiento cuya posicin ya se encuentra definida
en el firmware, como es el caso de restablecer la Posicin Inicial o abrir/cerrar la pinza, el
firmware ejecuta la accin sin esperar otra transmisin, ya que debido a los microinterruptores
instalados en el brazo robtico, el firmware es capaz de conocer la posicin deseada. En otro caso,
cuando se requiera mover el OWI-535 a una posicin deseada por el usuario, el firmware esperar
por los elementos contenidos en cada columna de la matriz robot.qteach despus de recibir el
comando de movimiento. Posteriormente, el software esperar una respuesta del firmware para
enviar el siguiente movimiento, siempre y cuando no ocurra un error. Este proceso se repetir
dependiendo la cantidad de renglones contenidos en la matriz robot.qteach, y al finalizar el
software regresara a la etapa de definir la posicin.
La tarea del firmware es escuchar, ejecutar y responder. Siempre que el firmware es
iniciado se ejecuta una subrutina para iniciar los movimientos desde una Posicin Inicial y evitar el
error acumulativo. Despus de que se restablece a la Posicin Inicial el firmware esperara por un
comando valido, los cuales se mencionan en la Tabla 3.4. Cuando el comando es recibido, el
firmware ejecuta los movimientos necesarios hasta llegar a la posicin deseada. Como se ha
mencionado, solo cuando el comando de movimiento sea recibido, el firmware esperar por ms
datos, en este caso sern los ngulos requeridos de cada articulacin. Despus de cada
movimiento el firmware enva una bandera de finalizacin la cual puede contener un valor que
indica error (e) o xito (n), para posteriormente realizar el siguiente movimiento. Despus de
transmitir la bandera de finalizacin el firmware regresa a la etapa de espera del comando.
Todas las transmisiones se llevan a cabo con una velocidad de 9600 Baudios, un bit de
parada, ocho bits de datos, paridad nula, un carcter de finalizacin CR (retorno de carro) y un
timeout de 5 segundos.

74

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Captulo 4: Resultados Experimentales


Recordando lo mencionado en captulos anteriores, la precisin y la exactitud son dos
parmetros que pueden definir la eficiencia del desempeo de una maquina o instrumento de
medicin. El contenido de este captulo se basa en las pruebas experimentales de precisin y
exactitud del manipulador OWI-535 modificado, se describirn los experimentos realizados para
medir la resolucin, la precisin y exactitud inicial, as como el mtodo utilizado para mejorar
dichas caractersticas, hasta obtener una mayor eficiencia del brazo manipulador. Adicionalmente
en este captulo se calcular y se verificar el error en los movimientos y puntos en el espacio de
trabajo tridimensional del manipulador. Los resultados se detallan en tablas de estadsticas para
un fcil anlisis del rea efectiva de trabajo as como con grficas representativas.

75

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

4.1 Resolucin prctica y frecuencia de muestreo


En el captulo 3 se calcul la resolucin terica del OWI535. Para poder realizar los
experimentos se realiz el clculo prctico de la resolucin del OWI-535, indicndosele al
manipulador mover 1 pulso cada una de sus articulaciones, en diez repeticiones, mediante un
software de prueba para posteriormente medir el ngulo de movimiento, comparar con los
resultados tericos y tener un clculo preliminar del error. En la Tabla 4.1 observamos el resultado
de los experimentos del clculo prctico de la resolucin, teniendo en cuenta que la frecuencia de
muestreo = 0.0002 Hz, se bas en la revisin de los opto-interruptores cada 5 ms por parte del
microcontrolador. Mediante la experimentacin se observ que dicha frecuencia de muestreo era
la ideal para realizar las mediciones correctas.

Articulacin
1
2
3
4

Direccin de movimiento

Movimiento promedio

Positivo
Negativo
Positivo
Negativo
Positivo
Negativo
Positivo
Negativo

1.69
1.73
3.97
3.71
3.7
1.68
2.07
1.74

Error mximo presentado


con respecto al valor ideal
(1.7)
0.4
0.3
2.4
2.1
2.4
1.3
0.5
0.3

Tabla 4.15 Resultados del clculo de la resolucin con tiempo de muestreo de 5 ms en movimientos negativos y
positivos de cada articulacin.

Como se observa en la Tabla 4.1, los resultados preliminares de la articulacin 1 y la


articulacin 4 existen valores por debajo a la resolucin calculada en el captulo 3, que es 1.7 por
cada pulso, y con un error pequeo. A diferencia en las articulaciones 2 y 3 se observan valores
mayores a la resolucin calculada de 1.7 y con errores mximos de hasta 1.41 veces la resolucin
calculada, que podran afectar el correcto posicionamiento del OWI-535 modificado.

4.2 Experimentos de precisin


Por definicin, la precisin se refiere a la dispersin del conjunto de valores obtenidos de
mediciones repetidas de una magnitud. Cuanto menor es la dispersin mayor es la precisin. En
esta seccin utilizaremos la desviacin estndar como una medida de la variabilidad, que nos
permite estimar la precisin y de esta manera estimar la repetitividad o reproductibilidad del
movimiento con el sistema de control implementado para el manipulador OWI-535.
Para poder realizar un clculo ms detallado y adecuado del error existente conociendo
los resultados preliminares sobre el desempeo de resolucin del robot manipulador, se realizaron
pruebas en cuanto a la precisin de los movimientos del OWI-535 con su sistema ahora
modificado para obtener lecturas del movimiento angular.

76

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Para este experimento se efectuaron 60 movimientos por articulacin de distintas


magnitudes basadas en la resolucin que el OWI-535 es capaz de detectar (1 pulso = 1.7). Para el
movimiento de la base se realizaron 120 movimientos debido al manejo de movimientos con
ngulos negativos y positivos.
Los movimientos se repitieron 10 veces por cada magnitud de pulsos, siendo dichas
magnitudes de 1 pulso (1.7), 2 pulsos, 3 pulsos, 4 pulsos, 5 pulsos y 10 pulsos, midiendo el ngulo
creado por la articulacin tomando como referencia la Posicin Inicial (Home) de sta. Los datos
crudos se capturaron en la Tabla A8.1 (Apndice 8, Tabla de resultados del experimento 1).
A continuacin se describir el anlisis de los resultados para cada articulacin con sus
respectivos movimientos y sus datos estadsticos. Cabe mencionar que la desviacin estndar ( )
al representar la dispersin de los datos con respecto a la media aritmtica o promedio ( )
ayudar a conocer el grado de precisin que posee la articulacin en cuestin, donde una mayor
representa una mayor dispersin de los datos y una menor precisin y viceversa. Ambos
parmetros fueron calculados utilizando las siguientes ecuaciones:

Eq. 4.1
)

Eq.4.2

4.2.1 Precisin de la primera articulacin


Para el movimiento angular de la primera articulacin (base), la cual proporciona la
orientacin al manipulador OWI-535, se calcularon los datos estadsticos de la Tabla 4.2, a partir
de las mediciones experimentales. Como se puede observar en dicha tabla, los movimientos
realizados tienen una relativamente pequea lo que significa que la articulacin 1 presenta una
precisin alta, dado que la mxima desviacin estndar calculada con los datos experimentales (
= 0.95) es menor a la resolucin calculada para cada pulso aplicado a la articulacin y equivale
apenas a 0.55 veces dicha resolucin. En la Figura 4.1a y 4.1b se puede observar la grfica de
dichos resultados en diagramas de cajas para observar la dispersin de sus datos.

77

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Pulsos de
movimiento
1
2
3
4
5
6
7
8
9
10
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10

Equivalencia
terica en grados
1.7
3.4
5.1
6.8
8.5
10.2
11.9
13.6
15.3
17
-1.7
-3.4
-5.1
-6.8
-8.5
-10.2
-11.9
-13.6
-15.3
-17

ngulo promedio ( ) de
movimientos registrados
1.69
3.39
5.22
6.94
8.56
10.27
11.63
13.55
15.29
16.95
-1.73
-3.54
-5.18
-6.49
-8.52
-10.36
-11.72
-13.52
-15.38
-16.61

Desviacin estndar ( )
0.34
0.36
0.38
0.26
0.36
0.27
0.51
0.46
0.42
0.5
0.25
0.19
0.16
0.8
0.45
0.33
0.39
0.47
0.39
0.95

Tabla 4.16 Datos estadsticos de la primera articulacin (Base), ntese que los valores positivos representan un
movimiento hacia la derecha del punto inicial y los valores negativos representan un movimiento hacia la izquierda.

En la Figura 4.1a observamos una dispersin de los datos relativamente pequea, solo en
los casos de -10 pulsos y -4 pulsos se muestra una dispersin mayor. Observando los lmites del
caso de -10 pulsos podemos observar que los datos estn dispersos entre valores de 15.2 a 18.1,
la media, representada por la lnea roja al medio de la caja, se encuentra en 16.8 y la dispersin
de los datos es mayor entre el 25% y el 50% de la muestra. Los valores son cercanos a los valores
ideales, por lo que se puede ver una forma escalonada de los datos.

78

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 4.15a Grfica representativa de la desviacin estndar en la base para movimientos negativos.

Figura 4.1b Grfica representativa de la desviacin estndar en la base para movimientos positivos.

Para el caso de los movimientos positivos, que se observan en la Figura 4.1b, se observa
tambin una figura escalonada y una dispersin relativamente baja. Esto indica que la precisin en
la base es alta segn las figuras.

79

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

4.2.2 Precisin de la segunda articulacin


Para la segunda articulacin se generaron los datos estadsticos contenidos en la Tabla
4.3, en los cuales podemos encontrar un comportamiento diferente en el clculo de la desviacin
estndar, debido a las cuestiones de la dinmica que caracteriza a la articulacin en general, como
el peso que sostiene la articulacin en su eje, esto provoca que al generarse movimientos
angulares estos sean de menor precisin. En el caso de movimientos angulares positivos o hacia
arriba, tenemos una mxima equivalente a 1.24 veces la resolucin terica, mientras que en
movimientos negativos o hacia abajo, una
mxima equivalente a 1.74 veces la resolucin
calculada.
Pulsos de
movimiento
1
2
3
4
5
6
7
8
9
10
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10

Equivalencia
terica en grados
1.7
3.4
5.1
6.8
8.5
10.2
11.9
13.6
15.3
17
-1.7
-3.4
-5.1
-6.8
-8.5
-10.2
-11.9
-13.6
-15.3
-17

ngulo promedio ( ) de
movimientos registrados
2.45
3.39
6.7
7
10.57
11.06
12.9
14.55
16.92
16.66
-1.61
-3.26
-5.15
-7.06
-8.86
-10.62
-12.46
-13.87
-16.05
-16.96

Desviacin estndar ( )
1.01
0.32
0.68
0.93
2.11
0.92
0.78
0.94
1.18
1.49
0.49
0.48
0.48
0.76
0.8
0.79
1.05
1.54
1.21
2.96

Tabla 4.17 Datos estadsticos de la segunda articulacin, ntese que los valores positivos de pulsos son movimientos
hacia arriba a partir de la posicin de inicio (Home) y viceversa para los valores negativos.

En la Figura 4.2a y 4.2b se puede observar una representacin grfica de los valores obtenidos
para la articulacin 2 y su dispersin mediante diagramas de cajas.
En esta articulacin, para los movimientos positivos, que se observan en la Figura 4.2a, se
registr una dispersin ms alta de los datos por movimiento, e incluso datos fuera de lo comn,
representados por las cruces. Solo para el caso de movimientos de 2 pulsos se observa una alta
precisin y valores relativamente cercanos al valor ideal. Para los casos de 3 pulsos y 9 pulsos de
movimientos se observa la menor precisin debido a una mayor dispersin de los datos.

80

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 4.16a Grfica representativa de la desviacin estndar en la segunda articulacin para movimientos positivos
(hacia abajo).

Figura 4.2b Grfica representativa de la desviacin estndar en la segunda articulacin para movimientos negativos
(hacia arriba).

Para el caso de los movimientos negativos, representados en la Figura 4.2b, se puede


observar de manera contraria un alto grado de precisin, solo en los movimientos de -10 pulsos se
observa una alta dispersin, en la mayora de los casos se observan datos fuera de lo comn.

81

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

4.2.3 Precisin de la tercera articulacin


La tercera articulacin demostr tambin un menor grado de precisin debido a la misma
situacin de la dinmica misma de la articulacin antes descrita para la segunda articulacin. Los
datos obtenidos para la tercera articulacin se pueden observar en la Tabla 4.4.
En el caso de movimientos angulares positivos o hacia arriba, tenemos una mxima
equivalente a 0.84 veces la resolucin terica, mientras que en movimientos negativos o hacia
abajo, una mxima equivalente a 1.26 veces la resolucin calculada.
Pulsos de
movimiento
1
2
3
4
5
6
7
8
9
10
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10

Equivalencia en
grados
1.7
3.4
5.1
6.8
8.5
10.2
11.9
13.6
15.3
17
-1.7
-3.4
-5.1
-6.8
-8.5
-10.2
-11.9
-13.6
-15.3
-17

ngulo promedio ( ) de
movimientos registrados
3.28
3.79
5.34
7.2
7.47
10.58
12.48
14.12
16.35
17.09
-1.68
-3.04
-4.46
-6.35
-9.07
-10.75
-13.51
-14.88
-17
-16.86

Desviacin estndar ( )
0.82
0.39
1.19
0.96
1.23
0.72
0.94
0.47
1.41
1.43
1.00
0.57
0.89
0.95
1.08
0.84
2.15
1.46
1.42
2.11

Tabla 4.18 Datos estadsticos de la tercera articulacin del ngulo promedio de movimiento en cada caso y su
desviacin estndar para medir su precisin. Ntese que los valores negativos representan movimientos hacia arriba
de la posicin home.

Dichos datos de la tabla se pueden observar contenidos en el diagrama de cajas de las Figuras 4.3a
y 4.3b.
Para los movimientos positivos de la tercera articulacin se observa un mayor grado de
precisin comparado con la segunda articulacin, pero todava se observa una dispersin alta de
los datos, sin ningn caso de datos fuera de lo comn. La media de los datos se muestra
desplazada de los valores ideales para cada caso, por lo que existe un reducido grado de
precisin.

82

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 4.17a Grfica representativa de la desviacin estndar en la tercera articulacin en movimientos positivos
(hacia abajo).

Figura 4.3b Grfica representativa de la desviacin estndar en la tercera articulacin en movimientos negativos
(hacia arriba).

Para los movimientos negativos de esta articulacin no existe mucha diferencia en cuanto
a la precisin de los movimientos positivos y negativos, puesto que para ambos se observa una
alta dispersin de sus datos y por lo tanto un reducido grado de precisin.

83

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

4.2.4 Precisin de la cuarta articulacin


La articulacin cuatro present una precisin relativamente alta, en determinadas
posiciones, notablemente en posiciones de la mitad del rango de movimiento. En la Tabla 4.5 se
presentan los resultados del experimento para la articulacin nmero cuatro.
En el caso de movimientos angulares positivos o hacia arriba, tenemos una mxima equivalente
a 0.90 veces la resolucin terica, mientras que en movimientos negativos o hacia abajo, una
mxima equivalente a 0.74 veces la resolucin calculada.
Pulsos de
movimiento
1
2
3
4
5
6
7
8
9
10
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10

Equivalencia en
grados
1.7
3.4
5.1
6.8
8.5
10.2
11.9
13.6
15.3
17
-1.7
-3.4
-5.1
-6.8
-8.5
-10.2
-11.9
-13.6
-15.3
-17

ngulo promedio ( ) de
movimientos registrados
2.07
3.39
5.56
7.79
9.58
10.23
11.91
13.56
15.68
17.74
-1.74
-3.36
-5
-6.98
-8.79
-10.36
-12.08
-13.42
-15.54
-16.84

Desviacin estndar ( )
0.97
1.02
0.95
0.84
1.44
0.93
1.39
0.98
1.23
1.54
0.20
0.54
0.69
0.66
0.72
0.68
0.83
0.97
0.99
1.26

Tabla 4.19 Datos estadsticos de la cuarta articulacin del movimiento promedio registrado y su desviacin estndar
para medir la precisin. Ntese que los datos negativos representan un movimiento hacia arriba, empezando por el
ltimo grado del rango de movimiento.

El comportamiento de la desviacin estndar se puede observar en las Figuras 4.4a y


4.4b.Para los movimientos positivos de la cuarta articulacin en la Figura 4.4a se observan en
posiciones cuya media est cercana a los valores ideales, lo que describe un grado de exactitud
aceptable, y por lo tanto, un alto grado de precisin, debido a que su dispersin en cada caso es
menor.

84

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 4.18a Grfica representativa de la desviacin estndar en la cuarta articulacin para movimientos positivos
(hacia abajo).

Figura 4.4b Grfica representativa de la desviacin estndar en la cuarta articulacin para movimientos negativos
(hacia arriba).

Para los movimientos negativos, en la figura 4.4b, se observa un menor grado de precisin,
los datos en la mayora de los casos estn ms dispersos, aunque la media describe valores
cercanos a los ideales, por lo que puede llegar a tener valores muy precisos.

85

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

4.3 Experimentos de exactitud


La exactitud de los movimientos se refiere a que tan cerca del valor deseado se encuentra
el valor medido del movimiento angular realizado por cada articulacin, por lo que cuanto menor
sea la diferencia mayor ser la exactitud; se decidi realizar mediciones en todo el rango de
movimiento de cada una de las articulaciones, modificar el sistema de control, y realizar
mediciones directas con un sensor externo al sistema de control implementado.
Dado los errores observados en los experimentos de precisin, descritos en las Secciones
4.1 y 4.2 de este captulo, no es posible alcanzar un grado de exactitud en algunas articulaciones,
por lo que se realiz una modificacin a la amplitud de los pulsos enviados en el puerto de salida
de PWM del Microcontrolador hacia los puentes H. En resumen, al modificar dicha amplitud se
modific el voltaje efectivo (Vrms) lo cual reduce la velocidad de las revoluciones del motor,
haciendo los movimientos ms lentos de las articulaciones. En la Figura 4.5 se puede observar un
ejemplo de la disminucin de la amplitud de los pulsos PWM en comparacin con el voltaje
efectivo.

(a)

(b)

Figura 4.19 Ejemplo del comportamiento de la amplitud de los pulsos PWM (a) en comparacin con el voltaje efectivo
Vrms (b) .

86

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

En el lenguaje PICBASIC podemos regular tanto la frecuencia de una seal PWM como la
duracin del pulso alto de dicha seal con el comando HPWM (canal, ciclo de trabajo, frecuencia),
el cual mantiene un tren de pulsos de onda cuadrada activo en segundo plano, lo cual nos permite
ejecutar otras tareas. El argumento del comando HPWM llamado canal especfica el canal fsico
del PWM, en el caso especfico del PIC16f877a cuenta con dos canales de PWM, los cuales
podemos observar en la Figura 3.11 identificados por las terminales 16 y 17 (CCP1 y CCP2). Para
consultar caractersticas del PIC16f877a ver el Apndice A2. El argumento ciclo de trabajo se
refiere a la relacin alto-bajo de la seal y se expresa de 0 a 255, donde 255 es un pulso alto en la
duracin total del ciclo. El argumento Frecuencia determina la frecuencia del tren de pulsos, la
frecuencia mnima depende del oscilador utilizado en el circuito para el PIC16f877a, en este caso
especfico se utiliza un cristal de 4 MHz por lo que su frecuencia mnima ser de 245 Hz.
Como se puede observar en la Figura 4.5a se representa una seal a 250 Hz, por lo que
cada periodo equivale a 4 ms. El primer segmento de la seal se presenta de 0 ms a 12 ms con un
ciclo de trabajo de 192 el cual contiene tres periodos de un pulso bajo de 1 ms y un pulso alto de 3
ms, por lo tanto representa aproximadamente del voltaje total, teniendo en cuenta que se
trabaja con un voltaje total de 5 V, esto equivale a aproximadamente 3.75 V. Este segmento se
puede ver reflejado en los primeros 12 ms de la seal de voltaje en la Figura 4.5b. El segundo
segmento se presenta de 12 ms a 24 ms, con un ciclo de trabajo de 127, contiene tres periodos de
2 ms de un pulso bajo y 2 ms de un pulso alto cada uno, lo que representa del voltaje total, o en
este caso 2.5 V. Al igual que en el caso anterior el Vrms para estas condiciones se ve reflejado en el
tiempo de 12 ms a 24 ms de la Figura 4.5b. Por ltimo el segmento final de la seal comprende de
24 ms a 36 ms, se le asign un ciclo de trabajo de 64, el cual para cada uno de sus tres periodos
constara de un ciclo bajo de 3 ms y un ciclo alto de 1 ms, lo que representa solo del voltaje total
o 1.25 V aproximadamente. El Vrms para este ltimo caso se observa en el tiempo de 24 ms a 36 ms
de la Figura 4.5b.
Tambin se implement una funcin tipo rampa que disminuye el Vrms enviado a los
motores para crear una pendiente negativa o cada de voltaje y producir movimientos ms finos al
acercarse al ngulo deseado. Debido a que cada motor del OWI-535 soporta pesos diferentes es
necesario el manejo de diferentes voltajes mnimos necesarios para que cada motor rompa la
inercia. Experimentalmente se observ que el voltaje mnimo necesario para romper la inercia del
motor no es necesariamente el voltaje mnimo necesario que el motor necesita para poder
moverse sin problemas, por lo tanto, en distintas articulaciones se configuraron dos pendientes a
manera de hacer ms fino el posicionamiento de la articulacin en movimiento, esto se puede
resumir en dos voltajes: el voltaje mnimo para romper la inercia y el voltaje mnimo necesario
para mover el motor sin tener en cuenta la inercia.
Con estas modificaciones, se volvieron a realizar los experimentos que consistan en
realizar movimientos angulares de determinado nmero de grados, segn el rango de movimiento
de cada articulacin. Dichos experimentos se repitieron cinco veces cada uno. Para revisar los
resultados crudos de los experimentos revisar el Apndice A9 que contiene la tabla de resultados
de experimentos de exactitud. Ntese que a diferencia de los experimentos de precisin estos
87

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

movimientos no estarn basados en los pulsos que el microcontrolador reconoce de los optointerruptores, sino en la diferencia entre los grados de movimiento angular calculados y los grados
de movimiento medidos.
Para realizar la medicin del movimiento angular realizado por cada articulacin se
implement un sistema de medicin provisional, utilizando un microcontrolador Propeller
QuickStart P8X32A y un acelermetro Memsic 2125 Dual-axis. En la Figura 4.6 se muestra el
sistema de medicin montado en el lado derecho de la tercera articulacin. Para informacin ms
detallada, ver el Apndice A10.

Figura 4.20 Montaje del acelermetro en el OWI-535, en este caso especfico est montado para realizar mediciones
en la tercera articulacin del manipulador.

4.3.1 Exactitud de la primera articulacin


Para la base se utiliz un Vrms de aproximadamente 3.9 V y la rampa se produjo en los
ltimos 5 del movimiento angular con un Vrms inicial de 3.6 V, el cual se disminuy hasta 3.1 V. En
la Figura 4.7 podemos observar un ejemplo del comportamiento del voltaje para los movimientos
de la base.
Dicha configuracin del puerto PWM, se utiliz tanto en movimientos positivos como en
movimientos negativos, y se obtuvieron los siguientes resultados contenidos en la Tabla 4.6 y la
Tabla 4.7.

88

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 4.21 Ejemplo del comportamiento del Vrms en los movimientos angulares de la base, medidos de 0 a -10.

Ntese en la Figura 4.7, que en esta articulacin se observan dos pendientes debido a lo
antes mencionado con respecto al voltaje mnimo para romper la inercia y el voltaje mnimo
necesario para mover el motor, tambin se debe tener en cuenta que el voltaje se compara con
los grados avanzados y no con el tiempo transcurrido.
La Tabla 4.6 muestra que el mximo error promedio para los movimientos angulares de la
base a la derecha, es apenas 0.75 veces la resolucin calculada para cada articulacin. Mientras
que en la Tabla 4.7 muestra que el mximo error promedio para los movimientos angulares a la
izquierda, es 1.70 veces la resolucin calculada. Lo que nos indica que existe mayor exactitud en
los movimientos hacia el lado derecho de la base del manipulador.
Movimiento Deseado Movimiento promedio ( ) medido
5
10
15
20
25
30
40
50
60
70

4.88
9.82
15.16
20.22
25.2
30.24
41.28
49.72
59.8
70.46

Error
Promedio
0.12
0.18
-0.16
-0.22
-0.2
-0.24
-1.28
0.28
0.2
-0.46

Desviacin Estndar
( )
0.083
0.356
0.230
0.618
0.731
1.594
0.258
0.816
0.880
0.559

Tabla 4.20 Resultados de los experimentos de exactitud en movimientos positivos (derecha) de la base.

89

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Movimiento Deseado Movimiento promedio ( ) medido Error Promedio


-5
-10
-15
-20
-25
-30
-40
-50
-60
-70

-5.22
-10.7
-15.64
-21.06
-26.3
-31.72
-42.9
-51.26
-61.1
-71.82

0.22
0.7
0.64
1.06
1.3
1.72
2.9
1.26
1.1
1.82

Desviacin Estndar
( )
0.414
0.469
0.207
0.151
0.578
0.645
0.966
1.184
0.902
1.359

Tabla 4.21 Resultados de los experimentos de exactitud en movimientos negativos (izquierda) de la base.

Como se puede observar, el error presente en la base es relativamente mnimo y se puede


compensar mediante los clculos en el software, tambin se observa una desviacin estndar
relativamente baja, lo que demuestra un alto grado de precisin en los movimientos de la base.
4.3.2 Exactitud de la segunda articulacin
En la segunda articulacin Para los movimientos angulares negativos o movimientos
realizados hacia abajo, se configur un Vrms de 2.7 V y de igual forma la rampa se inici los ltimos
5 de movimiento con un voltaje de 2.5 V el disminuyo hasta 2.1 V como se puede observar en la
Figura 4.8.

Figura 4.22 Comportamiento del Vrms en los movimientos positivos (hacia abajo) de la segunda articulacin.

90

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Utilizando las configuraciones mencionadas se realizaron los experimentos, de los cuales


se obtuvieron los resultados de la Tabla 4.8. Dichos resultados muestran un error promedio
mximo para los movimientos negativos o hacia abajo de 1.83 veces la resolucin terica
calculada. Mostrando que existe menor exactitud en ambos extremos del rango de movimiento
negativo de la articulacin. Observando la desviacin estndar se puede concluir que realiza
movimientos menos precisos al extremo final del rango de movimiento cuando se generan
movimientos negativos.

Movimiento Deseado Movimiento promedio ( ) medido Error Promedio


-5
-10
-15
-20
-25
-30
-40
-50
-60
-70
-80
-90

-2.58
-10.3
-15.96
20.82
26.28
31.2
41.9
51.54
62
71.4
83.12
92.28

2.42
-0.3
-0.96
-0.82
-1.28
-1.2
-1.9
-1.54
-2
-1.4
-3.12
-2.28

Desviacin Estndar
( )
0.661
0.234
0.320
0.083
1.084
0.070
0.187
0.502
0.187
1.667
1.231
1.302

Tabla 4.22 Resultados de los experimentos de exactitud en movimientos hacia abajo de la segunda articulacin.

Para esta misma articulacin pero en movimientos positivos o hacia arriba se configur un
Vrms de 3.9 V creando de igual forma una pendiente negativa en su comportamiento en los ltimos
5 de movimiento con un voltaje inicial de 3.9 V y disminuyendo hasta 3.5 V. El comportamiento
del Vrms para movimientos hacia arriba en la segunda articulacin, se puede observar en la Figura
4.9.

91

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 4.23 Comportamiento del Vrms en los movimientos negativos (hacia arriba) de la segunda articulacin. Ntese
que en este caso se observa una sola pendiente, esto significa que el voltaje mnimo para romper la inercia y el voltaje
mnimo para mover el motor es igual.

Con dicha configuracin los experimentos arrojaron los resultados contenidos en la Tabla
4.9. Dichos resultados muestran un error promedio mximo para los movimientos negativos o
hacia abajo de 1.78 veces la resolucin terica calculada. Mostrando que existe menor exactitud
en el extremo inicial y de parte del rango medio del movimiento positivo de la articulacin,
mientras que mediante el anlisis de la desviacin estndar se observa que solo se presenta un
alto grado de precisin en los primeros 15 de movimiento.
Movimiento Deseado Movimiento promedio ( ) medido Error Promedio
85
80
75
70
65
60
50
40
30
20
10

85.6
80.32
75.32
71.44
65.98
59.52
49.8
39.96
29.1
16.96
7.12

-0.6
-0.32
-0.32
-1.44
-0.98
0.48
0.2
0.04
0.9
3.04
2.88

Desviacin Estndar
( )
0.441
0.294
0.889
1.194
1.475
1.169
0.1
1.335
1.673
0.789
1.667

Tabla 4.23 Resultados de los experimentos de exactitud en movimientos angulares hacia arriba de la segunda
articulacin.

92

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

4.3.3 Exactitud de la tercera articulacin


En la tercera articulacin, para sus movimientos angulares negativos o hacia abajo se
configur un Vrms de 2.8 V y una rampa en los ltimos 5 empezando con un voltaje de 1.9 V el cual
disminuye hasta 1.5 V. Este comportamiento lo podemos observar en la Figura 4.10.

Figura 4.24 Comportamiento del Vrms en los movimientos negativos (hacia abajo) de la tercera articulacin.

Los resultados de los experimentos con la configuracin mencionada se registraron en la


Tabla 4.10. Estos resultados muestran un error promedio mximo para los movimientos negativos
o hacia debajo de 2.07 veces la resolucin terica calculada. Mostrando que existe menor
exactitud que las anteriores articulaciones, en el movimiento negativo o hacia abajo de la tercera
articulacin. De la misma manera se puede observar que debido a la desviacin estndar medida,
que la precisin de dicha articulacin es menor en esta direccin.
Movimiento Deseado Movimiento promedio( ) medido Error Promedio Desviacin Estndar
125
125.5
-0.5
0.158
120
120.36
-0.36
1.477
115
112.74
2.26
2.150
110
107.24
2.76
1.765
105
103.66
1.34
1.879
100
98.2
1.8
0.254
95
92.14
2.86
0.527
90
87.58
2.42
0.148
80
78.74
1.26
1.659
70
69.06
0.94
1.256
60
57.56
2.44
0.181
50
46.74
3.26
2.753
40
37.46
2.54
1.522
30
29.66
0.34
2.291
20
17.5
2.5
1.757
10
6.48
3.52
1.872
0
-0.06
0.06
1.033
Tabla 4.24 Resultados de los experimentos de exactitud en movimientos hacia abajo de la tercera articulacin.

93

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Para los movimientos hacia arriba en la tercera articulacin se configur el Vrms a 3.5 V y
empezando a formar una rampa en los ltimos 5 con un voltaje de 2.9 V el cual desciende hasta
2.5 V, tal como se observa en la Figura 4.11.

Figura 4.25 Comportamiento del Vrms en los movimientos angulares negativos (hacia arriba) de la tercera
articulacin.

Con la configuracin mencionada se registraron los siguientes datos contenidos en la Tabla


4.11. Estos resultados muestran un error promedio mximo para los movimientos positivos o
hacia arriba de 3.90 veces la resolucin terica calculada. Mostrando que existe menor exactitud
que las anteriores articulaciones, principalmente en el final del rango de movimiento hacia arriba
de la tercera articulacin. Mediante la desviacin estndar se puede observar que se presenta un
alto grado de precisin en la primera mitad del rango de movimiento.
Movimiento Deseado Movimiento promedio ( ) medido Error Promedio
5
10
15
20
25
30
40
50
60
70
80
90
100
110
120
130

5.46
10.32
16.06
19.96
25.9
30.44
40.82
47.8
60.62
69.64
79.12
92.14
101.08
111.9
122.38
136.64

-0.46
-0.32
-1.06
0.04
-0.9
-0.44
-0.82
2.2
-0.62
0.36
0.88
-2.14
-1.08
-1.9
-2.38
-6.64

Desviacin Estndar
( )
0.378
0.083
0.207
0.378
0.122
0.545
0.432
1.242
2.798
2.646
3.972
1.340
0.657
2.808
3.063
3.782

Tabla 4. 25 Resultados de los experimentos de exactitud en movimientos hacia arriba de la tercera articulacin.

94

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Como se ha mencionado, el efecto de la gravedad se puede observar en los resultados de


los experimentos disminuyendo la exactitud en la segunda y tercera articulacin. Esta disminucin
de la exactitud se corregir mediante la introduccin de compensaciones en el clculo del
movimiento realizado por el software.
4.3.4 Exactitud de la cuarta articulacin
Para el caso de la cuarta articulacin, para movimientos angulares negativos o hacia abajo
se llev a cabo una configuracin del Vrms de 2.5 V y una rampa en los ltimos 5, como en casos
anteriores de 2.5 V, el cual disminuye hasta 2.1 V como se puede observar en la Figura 4.12.

Figura 4.26 Comportamiento del Vrms en los movimientos positivos (hacia abajo) de la cuarta articulacin.

Con esta configuracin se registraron los datos de la Tabla 4.12. Estos resultados muestran
que el error promedio mximo entre el movimiento deseado y el movimiento promedio medido es
de 2.23 veces la resolucin terica calculada para cada articulacin. Se puede observar tambin
que la desviacin estndar demuestra un alto grado de precisin al inicio del rango de movimiento
el cual disminuye despus de 25.

95

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Movimiento Deseado Movimiento promedio ( ) medido Error Promedio Desviacin Estndar


-5
-2.52
2.48
0.303
-10
-7.88
2.12
0.277
-15
-12.44
2.56
0.482
-20
-19.68
0.32
0.544
-25
-24.92
0.08
0.801
-30
-30.32
-0.32
1.293
-40
-40.24
-0.24
0.602
-50
-48.12
1.88
1.125
-60
-56.2
3.8
2.356
-70
-68.1
1.9
2.107
-80
-77.56
2.44
1.935
-90
-88.32
1.68
0.892
-100
-98.48
1.52
2.593
-110
-110.1
-0.1
1.462
-115
-115
-2.8422E-15= 0
2.343
Tabla 4.26 Resultados de los experimentos de exactitud en movimientos hacia abajo de la cuarta articulacin.

Por ultimo para los movimientos angulares positivos o hacia arriba de la cuarta
articulacin se utiliz un Vrms de 2.9 V, disminuyendo el voltaje en los ltimos 5 al igual que en los
casos anteriores, de 2.9 V hasta 2.5 V. Este comportamiento se puede observar en la Figura 4.13.

Figura 4. 27 Comportamiento del Vrms en los movimientos negativos (hacia arriba) de la cuarta articulacin.

96

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Los resultados se pueden observar en la Tabla 4.13. Estos resultados muestran que el error
promedio mximo entre el movimiento deseado y el movimiento promedio medido es de 1.16
veces la resolucin terica calculada para cada articulacin. En cuanto a la precisin, se observ en
menor grado en direccin hacia abajo, probablemente por la fuerza de gravedad y otros detalles
ya mencionados.
Movimiento Deseado Movimiento promedio ( ) medido Error Promedio
110
105
100
95
90
80
70
60
50
40
30
20
10
0

111.94
106.98
100.58
95.08
91.06
80.92
68.94
59.36
51
38.5
28.98
18.82
8.58
1.04

-1.94
-1.98
-0.58
-0.08
-1.06
-0.92
1.06
0.64
-1
1.5
1.02
1.18
1.42
-1.04

Desviacin Estndar
( )
2.023
1.779
2.259
1.889
1.217
1.782
2.005
1.186
2.913
1.258
2.268
1.634
2.977
1.028

Tabla 4.27 Resultados de los experimentos de exactitud en movimientos hacia arriba de la cuarta articulacin.

De acuerdo con los datos obtenidos en los experimentos anteriores y a la observacin del
comportamiento del OWI-535 modificado, se realizaron ajustes en los algoritmos del software que
calculan los movimientos de cada articulacin compensando como se muestra en la Tabla 4.14 en
los rangos de movimientos necesarios.

97

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Articulacin
1

Direccin
Derecha
Izquierda
Abajo

Arriba

Abajo
3
Arriba

Abajo
4

Arriba

Rango de Movimiento
> 50
> 50
< 10
10 - 50
50 - 70
70 - 90
> 70
10 - 30
30 - 40
70 - 90
110 - 120
90 - 110
110 - 120
120 - 130
< 15
50 - 60
60 - 70
70 - 80
80 - 90
> 90
< 10
> 75

Pulsos a Compensar
+6
+6
+1
+5
+3
+1
-2
+1
+2
+2
+2
-1
-2
-3
+1
+1
+2
+1
+2
+1
-1
-1

Tabla 4. 28 Compensaciones de movimiento de las articulaciones del OWI-535 por rangos de movimientos angulares.

4.4 Experimentos finales de posicionamiento


Con las compensaciones aplicadas se realizaron experimentos de posicionamiento en un
espacio de 50 cm x 25 cm x 25 cm utilizando la interfaz de Matlab para corroborar la posicin (x, y,
z) en el espacio tridimensional de acuerdo a los clculos de la cinemtica directa y la posicin
medida. Las posiciones a muestrear se realizaron cada 5 cm, formando una cuadricula como se
puede observar en la Figura 4.14.
Nuevamente el clculo de exactitud se realiz obteniendo la diferencia absoluta entre la posicin
deseada Pd = (xd, yd, zd) y la posicin medida Pm = (xm, ym, zm) en el espacio tridimensional antes
mencionado, utilizando la siguiente ecuacin:
(

Eq. 4.3

98

Captulo 4: Resultados Experimentales Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura 4.28 Representacin por puntos en un espacio tridimensional de 50 cm x 25 cm x 25 cm de la exactitud con


cdigo de colores, todas las unidades se encuentran en cm.

Como se puede observar en la Figura 4.14, los puntos estn representados por colores, de
los cuales el azul y verde representan un grado de exactitud ms alto que en los puntos marcados
con colores amarillo y rojo que representan un nivel de exactitud ms bajo, mientras que los
puntos negros representan las zonas fuera del alcance del manipulador. La lnea negra representa
el origen (0), donde se encuentra el centro del manipulador.
Analizando ms a detalle la Figura 4.14 podemos observar que las posiciones alcanzables
por el manipulador que muestran un mayor grado de exactitud se encuentran justo en frente de la
posicin inicial, esto se debe a que el manipulador necesita de menos movimientos de sus
articulaciones para poder alcanzar estos puntos puesto que el error acumulativo es menor. Para
ver los resultados del experimento final de posicionamiento consultar el Apndice A11.

99

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Captulo 5: Conclusiones
En este captulo se resumen todos los conceptos reunidos en el trabajo de investigacin
realizada para esta tesis que tiene por objetivo disear e implementar un sistema de control para
un robot manipulador de 4 grados de libertar tipo RRR.R. Asimismo se har mencin de los anlisis
de los resultados experimentales obtenidos para generar las conclusiones de la tesis. Tambin se
proporcionaran las posibles mejoras, recomendaciones de uso y trabajos a futuro que se puedan
aplicar al prototipo implementado permitiendo darle continuidad al trabajo realizado.

100

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

5.1 Conclusin de la hiptesis


De acuerdo con la hiptesis argumentada en el captulo 1, se propone la idea de
implementar mejoras a un robot manipulador OWI-535 mediante el uso de sensores y un sistema
de control para determinar su posicin actual o predecir una posicin futura operando con la
mayor precisin y exactitud posible. Evidentemente, el robot manipulador OWI-535 modificado
presenta una mejora en la precisin tanto como en la exactitud en comparacin con el robot
original debido a que el OWI-535 de fbrica no posee un sistema de lazo cerrado, por lo que no
existe comunicacin alguna con el usuario que lo controla, a excepcin de la percepcin visual del
mismo usuario. Con las modificaciones realizadas, la instalacin de un microcontrolador, los
circuitos electrnicos y de comunicacin serial, microinterruptores y sensores pticos, en conjunto
con el firmware del microcontrolador, el software de control y comunicaciones, las libreras de
robtica en Matlab, permitieron controlar al manipulador mediante un sistema de lazo cerrado.
Este sistema de lazo cerrado permite a una computadora realizar lecturas en tiempo real de la
posicin del manipulador y graficarlo para el usuario, quien solo debe indicar a la interfaz grfica
de la computadora, la posicin tridimensional deseada en un espacio de trabajo determinado,
para que el sistema ejecute los comandos necesarios para llevar la herramienta final del robot a
dicha posicin. El desarrollo de experimentos y los datos estadsticos obtenidos permitieron afinar
el firmware de control, utilizando tcnicas como PWM y el diseo de seales tipo rampa para
controlar el voltaje eficaz enviado a los motores de CD de las articulaciones, y as incrementar los
parmetros de precisin y exactitud del robot a pesar de sus limitaciones fsicas y dinmicas.

5.2 Cumplimiento de objetivos


El objetivo general del proyecto establece la realizacin de una mejora en la precisin y la
exactitud del robot manipulador OWI-535 mediante un sistema que permita el clculo de su
cinemtica e introducir coordenadas tridimensionales para la realizacin de tareas repetitivas de
manera automatizada. El objetivo general de este trabajo de tesis se logr mediante la
implementacin de tarjetas con diversos elementos electrnicos comunicados a los puertos de
entradas y salidas de una tarjeta de desarrollo con un microcontrolador PIC, el cual recibe los
pulsos generados por opto-interruptores instalados en la caja de reduccin de cada articulacin. El
segundo engrane fue modificado con perforaciones para permitir el paso de la luz infrarroja y de
esta manera realizar un conteo de las revoluciones para determinar la posicin angular de la
articulacin. Para realizar determinar la posicin angular se desarroll un firmware para el
microcontrolador, el cual detecta el cambio de estado del opto-interruptor y realiza un conteo que
almacena en una variable de posicin para cada articulacin. El firmware tambin cuenta con la
capacidad de controlar cada uno de los motores de CD, de cada articulacin, para modificar la
posicin de las articulaciones y el efector final o herramienta del robot, as como restablecer a una
posicin inicial (home) mediante microinterruptores, y establecer comunicacin serial con una
computadora, adems de enviar los datos de posicin para su anlisis y clculo de la cinemtica
directa, mediante el mtodo Denavit-Hartenberg por el software desarrollado en Matlab. Para
objetivos ms especficos, la investigacin se dividi en dos partes, la primera se refiere a la
investigacin documental, en la cual se determin los mtodos, formulas y herramientas a utilizar
para llevar a cabo el desarrollo del prototipo mientras que la segunda se refiere a la investigacin
101

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

de campo, en la cual se realizaron las caracterizaciones del manipulador as como sus pruebas e
implementacin de los circuitos.
5.2.1 Conclusin de la investigacin documental
Se realizaron los objetivos especficos de la investigacin documental, primeramente
mediante la familiarizacin con los trminos relacionados con la robtica, la clasificacin de los
robots y los mtodos avanzados de robtica existentes. Para el clculo de la cinemtica directa del
robot manipulador se investig y se implement el mtodo Denavit-Hartenberg, el cual utiliza un
algoritmo que permite conocer la posicin del efector final de un manipulador en un plano
tridimensional mediante la posicin angular actual de sus articulaciones.
En segunda instancia, se realiz una revisin completa de libreras de software y lenguajes
de programacin. Debido al uso de matrices para resolver la cinemtica directa se utiliz Matlab
para la interfaz de usuario y el clculo, implementando la librera de robtica (RVC) creada por el
Dr. Peter Corke. Los clculos se realizaron con funciones de la librera mientras que la interfaz de
usuario se modific de una funcin llamada teach.m, la cual permite graficar y simular los
movimientos de un manipulador mediante barras de desplazamiento similar a un teach pendant.
5.2.2 Conclusin de la investigacin de campo
Primeramente, se realiz la validacin de las especificaciones del robot manipulador. Se
determin el espacio de trabajo del OWI-535 y se compar con las especificaciones del manual
tcnico. Se encontraron ligeros errores que sirvieron para tener en cuenta el espacio de trabajo
real del manipulador. Con base a este espacio y a las modificaciones realizadas en el espacio de
trabajo final para el OWI-535, se obtuvieron los resultados experimentales que podemos observar
en la Figura 3.37 y Figura 3.38 del Captulo 3. Tambin de acuerdo a las medidas obtenidas de cada
articulacin, fue posible implementar el mtodo Denavit-Hartenberg y el clculo de la cinemtica
directa con ayuda de Matlab y la librera de robtica.
El segundo objetivo de la investigacin de campo fue realizado al disear y construir un
sistema de control que permite la comunicacin con una computadora, controle los actuadores
del robot y reciba informacin de los movimientos realizados por estos a travs de sensores
pticos.
Para cumplir este objetivo el robot manipulador fue modificado. Las cajas de reduccin
fueron adecuadas para la instalacin del opto-interruptor al igual que el segundo engrane, al cual
se le realizaron ocho perforaciones para obtener la mejor resolucin posible. Debido a las medidas
de la circunferencia en la cual se realizaron las perforaciones se calcul la resolucin, la cual
resulto en 1.7 por segmento de los dientes del engrane.
Para controlar la direccin de los motores actuadores fueron utilizados los C.I. L293B y
L293D los cuales contienen dos puentes H y son controlados mediante un microcontrolador
PICf877a. Debido a que el microcontrolador solo cuenta con un ncleo de procesamiento el OWI535 modificado es capaz de realizar solo un movimiento a la vez. Para controlar las direcciones de
movimiento se utilizaron los dos puertos, por lo que la seal de direccin se enva a todos los
102

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

puente H y se controla el movimiento de cada motor mediante una terminal de activacin (Enable)
con la que cada L293 cuenta.
Se utiliz el PIC16f877a para realizar la tarea del conteo de los segmentos para determinar
la posicin de las articulaciones del OWI-535 as como para su comunicacin serial asncrona con
una computadora. Para el conteo de revoluciones del engrane el firmware detecta los cambios de
estado del opto-interruptor para aprovechar todos los espacios del engrane y no solo contabilizar
los orificios. Para esto se tiene en cuenta que el dimetro de los orificios tanto la distancia de los
espacios solidos entre ellos es igual. Para realizar un movimiento el firmware se pone en un estado
de escucha, la computadora enva el comando correspondiente para mover, seguido de las
posiciones de cada articulacin, el firmware almacena en variables las posiciones actuales del
OWI-535 y realiza una resta, donde el resultado es la cantidad de pulsos a mover y el signo del
resultado es la direccin del movimiento.
El OWI-535 cuenta con motores de CD para mover cada una de sus articulaciones, lo cual
dificulta la tarea de la manipulacin de los movimientos debido a que las revoluciones de los
motores no son del todo precisas, aun siendo contabilizadas las revoluciones del engrane. Como
solucin se disminuy la velocidad de las revoluciones con el uso de pulsos de onda cuadrada
(PWM) emitido por el PIC16f877a e interpretado por el puente H L293. Este mtodo modifica el
Vrms dependiendo del ancho de los pulsos, lo cual disminuye o aumenta la aceleracin en el motor.
Para mejorar la precisin y exactitud se lleg a la conclusin de que el OWI-535 siempre
deber empezar a moverse desde un mismo punto, para ello se instalaron micro-interruptores a
manera de fin de carro para determinar una posicin inicial (Home), la cual se puede observar en
la Figura 3.22 (posicin Home del OWI-535 modificado). Para restablecer a la posicin Home, el
firmware enva una seal de 5 V directamente a los controladores de los motores hasta que el
micro-interruptor correspondiente sea activado.
El tercer objetivo especfico es el desarrollo de un sistema operativo de control que
considere la cinemtica del robot, para poder comandarlo introduciendo coordenadas cartesianas
en un espacio tridimensional. Otro objetivo especfico es el desarrollo de software de
comunicacin serial y la creacin de una interfaz grfica que permitan realizar tareas de manera
simulada, con una visualizacin previa, y posteriormente sean ejecutadas por el robot OWI-535.
Ambos objetivos fueron cumplidos a travs del desarrollo de una interfaz para controlar el
manipulador OWI-535 mediante la ayuda de un librera de Matlab llamada Robotics Vision and
Control (RVC), desarrollada por el Dr. Peter Corke. Dicha librera contiene mtodos para la
solucin de diversos problemas de robtica, entre los cuales se encuentra la cinemtica directa e
inversa, as como tambin una interfaz de usuario para simular los movimientos de robots
manipuladores. La librera almacena en una matriz los parmetros D-H para realizar los clculos de
la posicin del efector final en un plano tridimensional. Cada elemento del manipulador es
representado por un vector, mientras cada articulacin es representada por un cilindro en
posicin hacia donde se realiza la rotacin. La librera cuenta con una funcin que simula un teach
pendant, la cual fue especificada para crear una simulacin del control del OWI-535 modificado. La
103

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

interfaz fue adaptada para enviar los datos de las articulaciones al microcontrolador de forma
serial asncrona a 9600 Baudios. Entre otras cosas, esta interfaz tambin fue modificada para ser
capaz de leer scripts en archivos de texto con la extensin .txt, estos scripts pueden contener los
comandos y posiciones a mover y utilizan una palabra de terminacin fin para detectar el final
del script. Esta funcin se puede utilizar en movimientos secuenciales para realizar tareas
repetitivas de posicionamiento.
Finalmente, un ltimo objetivo especfico de la investigacin de campo, fue la validacin
del sistema completo a travs de pruebas experimentales que permitieran medir la precisin y la
exactitud de los movimientos del robot manipulador OWI-535 modificado. Este objetivo fue
cumplido cabalmente al realizar las diversas mediciones experimentales y el clculo estadstico,
que permitieron afinar los parmetros mencionados, mediante la utilizacin de tcnicas de control
de motores de CD, como PWM y la creacin de rampas en el voltaje eficaz introducido a los
motores, y de esta obtener los resultados presentados a travs del Captulo 4.

104

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

5.3 Conclusin de los resultados experimentales


Aun con el sistema modificado del OWI-535 fue necesario compensar movimientos en las
distintas articulaciones que conforman al manipulador, esta decisin se llev a cabo mediante la
observacin de los experimentos realizados. Claramente se observa en los resultados de los
primeros experimentos contenidos en la Tabla 4.1 de movimientos del valor de rotacin mnimo
posible, que en su mayora estos carecen de exactitud.
Para reducir los errores mencionados se tom la medida de disminuir la velocidad
disminuyendo el ancho de los pulsos cuadrados que el microcontrolador enva a los controladores
de los motores, lo que provoco una reduccin del Vrms, disminuyendo la velocidad del motor. Para
mejorar an ms la exactitud se implement una funcin tipo rampa en el Vrms en los ltimos 5
grados de movimiento, esta disminucin de Vrms provoco una desaceleracin antes de llegar a la
posicin de destino. Esta solucin result en movimientos ms exactos y con una precisin
aceptable para movimientos rotacionales pequeos y de alcance medio, aunque surgi otro
problema, por efectos de gravedad para las articulaciones dos y tres del manipulador result ms
difcil moverse en direcciones negativas (hacia arriba). Para solucionar este problema sin aumentar
por completo la velocidad del motor, puesto que esto reduce la exactitud, se utilizaron dos
voltajes de operacin. El primer el voltaje es el mnimo para romper la inercia del motor en un
movimiento constante, este voltaje seria el voltaje normal de operacin para mover el motor y fue
distinto para cada articulacin y para cada direccin del movimiento rotacional del motor. El
segundo voltaje es el mnimo para mover el motor una vez que la inercia se rompi, este voltaje se
utiliz para definir la funcin de la rampa descrita por el Vrms. Para reducir los errores en
posiciones especficas se compenso directamente aumentando o disminuyendo los grados a
moverse de cada articulacin segn fuese el caso.
Para determinar el espacio que demuestra mejor exactitud se realiz un experimento final,
el cual por medio de un cdigo de colores demuestra la exactitud en un espacio de trabajo de 50
cm x 25 cm x 25cm. Tal como se observa el resultado del experimento en la Figura 4.14 del
Captulo 4. En esta Figura se pueden observar las zonas donde se presenta ms exactitud en los
movimientos, como son la parte frontal del espacio de trabajo situado a 20 cm del origen del
espacio de trabajo y a una altura de 10 cm as como las partes laterales situadas a 20 cm en el eje
Y, tanto en el cuadrante negativo como en el positivo.

105

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

5.4 Recomendaciones
Cuando se habla de un manipulador robtico los dos factores ms importantes del tema es
la precisin y la exactitud, para mantener el correcto funcionamiento del OWI-535 modificado se
debe tomar en cuenta los siguientes puntos:
a) Respetar el espacio de trabajo indicado teniendo en cuenta las zonas donde se demuestra
mayor exactitud para realizar trabajos de posicionamiento ms exactos
b) Debido a la estructura del OWI-535 este puede cargar pesos no mayores a 100 g, levantar un
peso superior podra ocasionar un colapso por la falta de equilibrio o una falla en los
movimientos de las articulaciones
c) El ancho de los objetos a manipular estn limitados por el ancho de la apertura de la
herramienta, se debe tener en cuenta trabajar con objetos de un ancho no mayor a 3.8 cm.
d) El OWI-535 modificado no es capaz de detectar por si solo la presencia de obstculos hasta
ahora, por lo que los clculos de los movimientos y sus articulaciones se deben realizar a
criterio del usuario para evitar una colisin con los objetos u obstculos.
e) En cuestiones elctricas, los circuitos estn diseados para funcionar con 5 VCD, aunque la
tarjeta DIR-735 que contiene al PIC16f877a se debe alimentar con un voltaje entre 6 VCD y
12VCD debido a su regulador LM7805 ya instalado, cualquier voltaje igual o menor a 5VCD
provocara un mal funcionamiento del microcontrolador.
f) En caso de que un motor no reciba la corriente necesaria para romper la inercia el puente H
emitir un sonido a 250 Hz para este caso. No es necesario realizar accin alguna en estos
casos, el firmware est diseado para detectar este problema y enviar toda la potencia posible
para romper la inercia del motor y efectuar as el movimiento deseado. Sin embargo, esto
puede afectar la exactitud del movimiento.
g) Para evitar daos por movimientos errneos se puede utilizar el botn de paro de emergencia
situado en la parte superior de la caja contenedora de los circuitos electrnicos, esto abrir la
lnea de alimentacin hacia el microcontrolador y todo movimiento se detendr.
h) Es muy recomendable restablecer el OWI-535 a su posicin inicial despus de cada
posicionamiento para una mayor exactitud y precisin.
i) La simulacin del manipulador en la interfaz de usuario de Matlab no se presenta en tiempo
real, los movimientos son almacenados y enviados uno a uno.
j) Los scripts para realizar trabajos repetitivos siempre deben de llevar la palabra de terminacin
fin, de lo contrario el ciclo no podra ser terminado y el programa continuara su ejecucin
sin poder realizar otra accin.

5.5 Comparativa
Existen diversos robots manipuladores en el mercado con caractersticas muy superiores al
OWI-535 modificado pero tambin sus precios pueden ser muy elevados, incluso aquellos robots
utilizados para fines educativos. El OWI-535 por su bajo costo ha adquirido importancia en las
investigaciones para su uso educativo, aunque en el mercado el OWI-535 se encuentra a la venta
como un juguete didctico, este manipulador cuenta con una arquitectura funcional y sencilla la
cual le permite operar tal cual lo hara cualquier manipulador robtico a un costo ms accesible.
106

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Debido a estas ventajas, el OWI-535 se ha utilizado en diversos trabajos (Cnepa, 2010),


(Prenpraneerach & Kulvanit, 2010), (Yaguana, 2010) para modificar el mecanismo original, incluso
la misma empresa fabricante del manipulador cuenta con una versin de la tarjeta electrnica
modificada para su control mediante una PC.
En la Tabla 5.1 se observa una comparacin en cuanto a las principales caractersticas
entre los trabajos de modificacin al OWI-535 y las modificaciones mencionadas en este trabajo.

Caractersticas

OWI-535
Original

Sistema de
control
Costo

Lazo
Abierto

OWI-535
con
interfaz
USB
Lazo
Abierto

Bajo

Bajo

Motores
Sensores
Cdigo abierto

Microcontrolador

Software

Dispositivo de
control
Simulacin
Ejecucin de
Tareas
Repetitivas
Programadas
Tele-operado

CD
CD
(Originales) (Originales)

Versiones del OWI-535


OWI-535
Modificado
OWI-535
OWI-535
en este
(Yaguana)
(Cnepa)
trabajo
Lazo
Lazo Cerrado
Lazo Cerrado
Abierto

OWI-535
(PrenpraneerachKulvanit)
Lazo Cerrado

Bajo

Bajo

Medio

Alto

CD
(Originales)

CD
(Originales)

CD
(Originales)

CD 2224SR

No

Optointerruptores

Encoders
Magnticos IE2512

No

No

No

No

No

Optointerruptores

No

No

Si

No

No

PIC16f877a

PIC
18f4550

Propeller

Faulhaber
Motion
Controller MCDC
3006

No

OWI
Robotic
Arm

Basado en
Matlab con
Libreras de
Robtica

Basado en
Visual
Basic 6.0

Basado en
Matlab

Faulhaber
Motion Manager

Control
Cableado

PC

PC

PC

Joystick y PC

PC

No

No

Si

No

No

Si

No

No

Si

Si

No

No

No

No

Posible

No
especifica

No Especifica

No Especifica

Tabla 5.2 Comparativa de las Versiones del OWI-535 modificada por distintos autores y los fabricantes del
manipulador.

107

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Como se puede observar en la Tabla 5.1, este trabajo de tesis presenta ventajas y
beneficios a un costo econmico en comparacin a los dems trabajos existentes. El sistema de
control diseado e implementado en esta tesis tiene mltiples ventajas al ser un sistema de lazo
cerrado, el cual es manejado por un sistema basado en un microcontrolador PIC que controla
manejadores de motores de CD, para las articulaciones del robot, y entradas de sensores pticos e
interruptores como sensores de posicin, haciendo necesario realizar mnimas modificaciones al
robot manipulador OWI-535 para colocarlos. Todo el hardware utilizado es de bajo costo y al
alcance con cualquier proveedor local o nacional.
Adems, el sistema de control presenta las ventajas de comunicarse con una computadora
a travs del puerto USB, tiene una interfaz grfica de usuario donde se despliega la simulacin de
la posicin de los actuadores del manipulador y su herramienta final, en su espacio de trabajo
tridimensional, puede ejecutar scripts para que el robot pueda ser programado y realice tareas
repetitivas, entre otras ms. El software se desarroll de forma libre y utilizando libreras
gratuitas, de manera que pueda ser modificado a conveniencia, as como fueron modificadas las
libreras de robtica para definir la cinemtica del manipulador y la interfaz grfica de usuario,
entre otras cosas. Siendo codificado en un lenguaje de programacin acadmico como es Matlab.

108

Captulo 5: Conclusiones

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

5.6 Trabajo a futuro y posibles mejoras


Con este proyecto se pretende dejar las bases para la creacin de un prototipo ms
complejo del aqu presentado. Se pueden implementar mejoras en distintas reas abarcadas a lo
largo del proyecto, por ejemplo:
La implementacin de mejores motores para un mejor posicionamiento, ms preciso y
exacto. Esta mejora aunque representara un gasto monetario ms elevado, podra mejorar muy
notablemente la exactitud del manipulador as como su precisin. La mayora de los problemas de
posicionamiento que se dieron fueron a causa de los motores utilizados, por lo tanto, utilizando
motores ms precisos como son servomotores y motores de pasos, este problema se reducira al
mnimo.
Utilizar microcontroladores ms avanzados con ms ncleos de procesamiento, para
permitir al OWI-535 realizar movimientos en todas sus articulaciones al mismo tiempo. Esto dara
paso a nuevas posibilidades de maniobras para evitar obstculos as como una mejora en el
tiempo de ejecucin de los movimientos.
Instalar sensores de proximidad en los elementos del OWI-535 para poder ubicar objetos
con los cuales el manipulador pueda colisionar.
Realizar una mejora en los grficos de la simulacin. La simulacin del OWI-535
modificado se presenta mediante vectores y no se ve representado el OWI-535 tal cual es, por lo
que se puede mejorar los grficos de dicha simulacin para representar al manipulador de la
manera ms real posible, as como el movimiento de su efector final al cerrar o abrir la pinza.
Se ha propuesto tambin trabajar con procesamiento de imgenes, lo cual permitira al
usuario teleoperar el manipulador de una manera ms sencilla y confiable. Con esto tambin
supondra una mayor complejidad en los clculos, puesto que se deber utilizar parmetros de
perspectiva que ayuden al posicionamiento, as como tambin clculos de la cinemtica inversa.
Otra mejora a considerar es el desarrollo de software que permita la teleoperacin del
robot manipulador a travs de internet, para la creacin de laboratorios virtuales para la
enseanza bsica de la robtica.

109

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Bibliografa
Acteck. (2014). Fuentes de poder Acteck. Recuperado el 28 de Marzo de 2014, de Sitio web de
Acteck: http://www.acteck.com
Alvarado, I. (1999). Simulacin y Control de Procesos con Programacin Grfica.
Angulo Usategui, J. M., Romero Yesa, S., & Angulo Martnez, I. (2006). Microcontroladores PIC.
Diseo prctico de aplicaciones :segunda parte: PIC 16F87X. McGraw-Hill.
Barrientos, A., Pen, L. F., Aracil, R., & Balaguer, C. (1997). Fundamentos de Robtica. McGrawHill.
Cnepa, G. (2010). Diseo de un controlador para un brazo robtico a escala.
Chang, P. H. (1987). Technical Report 1022: Analysis and Control of Robot Manipulators with
Kinematic Redundancy. MIT Artificial Intelligence Laboratory.
Corke, P. (2011). Robotics, Vision and Control Fundamental Algorithms in MATLAB. Springer.
Corke, P. (2014). Robotics Toolbox. Recuperado el 2 de abril de 2014, de Pagina personal Dr. Peter
Corke: https://www.petercorke.com/Robotics_Toolbox.html
Craig, J. J. (2006). Robtica 3ra Edicin. PEARSON.
Denavit, J., & Hartenberg, R. S. (1955). A kinematic notation for lower-pair mechanisms based on
matrices.
Electronica Estudio. (2015). Productos PICAXE. Recuperado el 20 de Enero de 2015, de Sitio Web
de Electronica Estudio: www.electronicaestudio.com/picaxe.htm
Fu, K. S., Gonzlez, R. C., & Lee, C. S. (1998). Robtica: Control, Deteccin, Visin e Inteligencia.
McGraw-Hill.
Gajski, D. D. (2013). Specification and design of embedded software/hardware systems.
IES Bellavista. (2013). Introduccin a la Electrnica Digital.
Labcenter. (2014). Proteus. Recuperado el 2 de Abril de 2014, de Sitio web de Labcenter:
http://www.labcenter.com
Mathworks. (2014). Matlab. Recuperado el 2 de febrero de 2014, de Sitio Web de Matworks:
http://www.mathworks.com/products/matlab
Newark. (2014). Catlogo Neutrik. Recuperado el 28 de marzo de 2014, de Sitio Web de Newark:
http://www.newark.com/neutrik

110

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Ogata, K. (1998). Ingeniera de Control Moderna. Minnesota: PEARSON.


Pedre, S. (2012). Sistemas embebidos.
Prenpraneerach, P., & Kulvanit, P. (2010). Implementation of Resolved Motion Rate Controller with
5-Axis Robot Manipulator Arm. Ubon Ratchathani: The First TSME International
Conference of Mechanical Engineering .
Skoog, D. A., Crouch, S. R., & Holle, J. (2008). Principios de anlisis instrumental. CENGAGE
Learning.
SUAyED, UNAM. (2013). lenguajes de programacin .
Tomasi, W. (1996). Sistemas de comunicaciones electrnicas. PRENTICE HALL.
Universidad de la Repblica - Uruguay. (2013). Robtica embebida .
Vzques, R. A. (2005). Diseo de un brazo manipulador industrial robotico hidraulico (MIRH1) de
cinco grados de libertad. IPN.
Yaguana, S. (2010). Automatizacin y monitoreo de un brazo robtico para la manipulacin,
transporte y clasificacin de piezas en un rea de trabajo.

111

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Apendice
A 1.- rea de trabajo del robot manipulador OWI-535 propuesta por
el fabricante
El espacio de trabajo es el lmite de posiciones en el espacio que el robot puede alcanzar.

Figura A1.1 espacio de trabajo del manipulador OWI-535, de acuerdo a sus especificaciones de fbrica (parte 1).

Figura A1.2 espacio de trabajo del manipulador OWI-535, de acuerdo a sus especificaciones de fbrica (parte 2).

112

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 2.- Caractersticas del microcontrolador PIC16F877A


High-Performance RISC CPU:
Only 35 single-word instructions to learn
All single-cycle instructions except for program
branches, which are two-cycle
Operating speed: DC 20 MHz clock input
DC 200 ns instruction cycle
Up to 8K x 14 words of Flash Program Memory,
Up to 368 x 8 bytes of Data Memory (RAM),
Up to 256 x 8 bytes of EEPROM Data Memory
Pinout compatible to other 28-pin or 40/44-pin
PIC16CXXX and PIC16FXXX microcontrollers
Peripheral Features:
Timer0: 8-bit timer/counter with 8-bit prescaler
Timer1: 16-bit timer/counter with prescaler,
can be incremented during Sleep via external
crystal/clock
Timer2: 8-bit timer/counter with 8-bit period
register, prescaler and postscaler
Two Capture, Compare, PWM modules
- Capture is 16-bit, max. resolution is 12.5 ns
- Compare is 16-bit, max. resolution is 200 ns
- PWM max. resolution is 10-bit
Synchronous Serial Port (SSP) with SPI
(Master mode) and I2
C(Master/Slave)
Universal Synchronous Asynchronous Receiver
Transmitter (USART/SCI) with 9-bit address
detection
Parallel Slave Port (PSP) 8 bits wide with
external RD, WR and CS controls (40/44-pin only)
Brown-out detection circuitry for
Brown-out Reset (BOR)

Analog Features:
10-bit, up to 8-channel Analog-to-Digital
Converter (A/D)
Brown-out Reset (BOR)
Analog Comparator module with:
- Two analog comparators
- Programmable on-chip voltage reference
(VREF) module
- Programmable input multiplexing from device
inputs and internal voltage reference
- Comparator outputs are externally accessible
Special Microcontroller Features:
100,000 erase/write cycle Enhanced Flash
program memory typical
1,000,000 erase/write cycle Data EEPROM
memory typical
Data EEPROM Retention > 40 years
Self-reprogrammable under software control
In-Circuit Serial Programming (ICSP)
via two pins
Single-supply 5V In-Circuit Serial Programming
Watchdog Timer (WDT) with its own on-chip RC
oscillator for reliable operation
Programmable code protection
Power saving Sleep mode
Selectable oscillator options
In-Circuit Debug (ICD) via two pins
CMOS Technology:
Low-power, high-speed Flash/EEPROM
technology
Fully static design
Wide operating voltage range (2.0V to 5.5V)
Commercial and Industrial temperature ranges
Low-power consumptio

113

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 3.- Caractersticas tcnicas del MAX232


The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply
TIA/EIA-232-F voltage levels from a single 5-V supply. Each receiver converts TIA/EIA-232-F inputs
to 5-V TTL/CMOS levels. These receivers have a typical threshold of 1.3 V, a typical hysteresis of
0.5 V, and can accept 30-V inputs. Each driver converts TTL/CMOS input levels into TIA/EIA-232-F
levels. The driver, receiver, and voltage-generator functions are available as cells in the Texas
Instruments LinASIC library.

Meets or Exceeds TIA/EIA-232-F and ITU


Recommendation V.28
Operates From a Single 5 V Power Supply
With 1.0F Charge-Pump Capacitors
Operates Up To 120 kbit/s
Two Drivers and Two Receivers
30-V Input Levels
Low Supply Current . . . 8 mA Typical
ESD Protection Exceeds JESD 22
2000-V Human-Body Model (A114-A)
Upgrade With Improved ESD (15 kV HBM)
and 0.1-F Charge-Pump Capacitors is
available With the MAX202
Applications
TIA/EIA-232-F, Battery-Powered
Systems, Terminals, Modems, and
Computers

114

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 4.- Caractersticas del puente H L293


Featuring Unitrode L293B and L293D

Wide Supply-Voltage Range: 4.5 V to 36V

Separate Input-Logic Supply

Internal ESD Protection

Thermal Shutdown

High-Noise-Immunity Inputs

Functional Replacements for SGS L293 and

SGS L293D

Output Current 1 A Per Channel

(600 mA for L293D)

Peak Output Current 2 A Per Channel

(1.2 A for L293D)

Output Clamp Diodes for Inductive

Transient Suppression (L293D)


Description
The L293 and L293D are quadruple high-current
half-H drivers. The L293 is designed to provide
bidirectional drive currents of up to 1 A at voltages
from 4.5 V to 36 V. The L293D is designed to
provide bidirectional drive currents of up to
600-mA at voltages from 4.5 V to 36 V. Both
devices are designed to drive inductive loads such
as relays, solenoids, dc and bipolar stepping
motors, as well as other high-current/high-voltage
loads in positive-supply applications.
All inputs are TTL compatible. Each output is a
complete totem-pole drive circuit, with a Darlington
transistor
sink and a pseudo-Darlington source. Drivers are
enabled in pairs, with drivers 1 and 2 enabled by 1,2EN and
drivers 3 and 4 enabled by 3,4EN. When an enable input is high, the associated drivers are enabled and their
outputs are active and in phase with their inputs. When the enable input is low, those drivers are disabled and
their outputs are off and in the high-impedance state. With the proper data inputs, each pair of drivers forms
a full-H (or bridge) reversible drive suitable for solenoid or motor applications.
On the L293, external high-speed output clamp diodes should be used for inductive transient suppression.
A VCC1 terminal, separate from VCC2, is provided for the logic inputs to minimize device power dissipation.

The L293and L293D are characterized for operation from 0C to 70C.

115

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 5.- Cdigo fuente de Softwi V1.0


'****************************************************************
'* Name
: Softwi.BAS
*
'* Author : Santiago Vega Len
*
'* Notice : Copyright (c) 2013 [select VIEW...EDITOR OPTIONS] *
'*
: All Rights Reserved
*
'* Date
: 24/10/2013
*
'* Version : 1.0
*
'* Notes
: Firmware para controlar al OWI-535 modificado.
*
'*
: El firmware se encarga de recibir el comando a
*
'*
: ejecutar y los ngulos para posicionar la
*
'*
: herramienta del manipulador en un punto del
*
'*
: espacio de trabajo.
*
'*
:
*
'****************************************************************
define OSC 4
'-------------variables-----------------------------------------'cuenta de pulsos
contador
var byte
comando
var byte
'variable global de ngulo
angulo
var byte
'instruccin recibida desde matlab (pulsos a mover)
angulo1
var byte
angulo2
var byte
angulo3
var byte
angulo4
var byte
'comparador para ejecutar subrutina conteo
comparador var bit
'numero de motor a mover
motor
var byte
rx var portb.0
tx var portb.1

'pin de transmisin
'pin de recepcin

posmt
posm1
posm2
posm3
posm4

var
var
var
var
var

byte
byte
byte
byte
byte

'variable
'posicin
'posicin
'posicin
'posicin

sgn1
sgn4
sgnm1
sgnm4

var
var
var
var

bit
bit
bit
bit

global de posicin de motor


motor 1
motor 2
motor 3
motor 4

'bandera de signo recibida


'bandera de signo recibida
'bandera de signo de motor 1
'bandera de signo de motor 4

para
para
(1 =
(1 =

m1
m4
-, 0 = +)
-, 0 = +)

sgnm1 = 0
sgnm4 = 0
vim1
vim2
vim3
vim4

var
var
var
var

byte
byte
byte
byte

'posiciones iniciales de las articulaciones


vim1 = 1

116

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

vim2 = 1
vim3 = 1
vim4 = 1
'enable de
m1 var
m2 var
m3 var
m4 var
m5 var

motores
portd.1
portd.5
portd.4
portd.3
portd.2

'bandera de direccin (0 = derecha [+]/1 = izquierda [-])


flag var bit
'memoria de estado anterior de la bandera
flagmem var bit
'bandera de cambio de signo (subrutina posiciona)
fsg var bit
parametro var byte

'cantidad de pulsos a mover

info var bit


'variables para almacenar informacin de los encoder
info1 var portb.6
info2 var portb.5
info3 var portb.4
info4 var portb.3
izq var portc.1
der var portc.2
input
input
input
input
input
rst1
rst2
rst3
rst4
rst5

'movimiento a la izquierda
'movimiento a la derecha

porte.2
porte.1
porte.0
porta.5
porta.4
var
var
var
var
var

porte.2
porte.1
porte.0
porta.5
porta.4

'switch
'switch
'switch
'switch
'switch

reset
reset
reset
reset
reset

para
para
para
para
para

M1
M2
M3
M4
M5(pinza)

paro var byte

'variable de stop

error var bit

'bandera de error

espera var byte

'contador de tiempo de espera

potencia var byte


power var byte
power = 200
fm var byte
meta var byte

'potencia del pwm


'potencia de bajada
'frecuencia de muestreo
'variable de los pulsos restantes para
'llegar al destino

117

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

treal var bit


treal = 0

'bandera de movimientos en tiempo real

contador = 0

'---------------configuracin puerto analgico-------------------------adcon1=7


'deshabilita entradas analgicas
'----------------configuracin de rx de datos---------------------------input rx

'poner el bit 0 de port b como entrada

'----------------configuracin de tx de datos---------------------------high tx
'antes de transmitir enviar un valor alto
'de lo contrario enva basura

'----------------configuracin de HPWM----------------------------------output portc.1


' poner PORTC.1 (CCP2) como salida
output portc.2
' poner PORTC.2 (CCP1) como salida
'CCP1CON = %00001100
' poner CCP1 a PWM
'CCP2CON = %00001100
' poner CCP2 a PWM
'------------------------deshabilita motores----------------------------low m1
'(base)
low m2
'(hombro)
low m3
'(codo)
low m4
'(mueca)
low m5
'(pinza)
low izq
low der
'-----------------------------------------------------------------------'Reset inicial del OWI-535
gosub reset
angulo1 = vim1
angulo2 = vim2
angulo3 = vim3
angulo4 = vim4
inicio:
fsg = 0
serin2 rx,84, 500, inicio,[str comando\3\13]
'espera y recibe el comando a ejecutar
select case comando(0)
case "r"
gosub reset
goto inicio
case "a"
gosub abrirp
if error = 1 then
serout2 tx, 84, ["e "]
else
serout2 tx, 84, ["n "]

118

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
endif
goto inicio
case "c"
gosub cerrarp
if error = 1 then
serout2 tx, 84, ["e "]
else
serout2 tx, 84, ["n "]
endif
goto inicio
case "m"
serin2 rx,84,500,inicio,[dec angulo1]
serin2 rx,84,500,inicio,[dec sgn1]
serin2 rx,84,500,inicio,[dec angulo2]

serin2 rx,84,500,inicio,[dec angulo3]

serin2 rx,84,500,inicio,[dec angulo4]

serin2 rx,84,500,inicio,[dec sgn4]


case "t"
serin2 rx, 84, 250, inicio, [dec motor]
select case motor
case 1
serin2 rx, 84, 250, inicio, [dec angulo1]
serin2 rx, 84, 250, inicio, [dec sgn1]
case 2
serin2 rx, 84, 250, inicio, [dec angulo2]
case 3
serin2 rx, 84, 250, inicio, [dec angulo3]
case 4
serin2 rx, 84, 250, inicio, [dec angulo4]
end select
'goto inicio
case else
goto inicio
end select
for motor = 1 to 4
select case motor
case 1
posmt = posm1

119

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
angulo = angulo1
case 2
posmt = posm2
angulo = angulo2
case 3
posmt = posm3
angulo = angulo3
case 4
posmt = posm4
angulo = angulo4
end select
gosub calcular

'regresa "parmetro" y "flag"

if parametro != 0 then
gosub mover
endif
fsg = 0
next motor
serout2 tx, 84, ["n "]
contador = 0
goto inicio

'''''''''''''''''''''''''subrutinas''''''''''''''''''''''''''''''
conteo:
espera = 0
'reinicio de conteo de timeout
gosub seleccion
'selecciona informacin del motor (posicin)
comparador = info 'almacena en variable comparadora
pause 50
'frecuencia de muestreo
inconteo:
espera = espera + fm
'timeout
if espera >= 250 then
serout2 tx, 84, ["e "]
'
pause 50
'
if (flag = 0) then
hpwm 1,250,250
else
hpwm 2,250,250
endif
endif
'
gosub seleccion
'hace la seleccin de los datos
'del motor
if (info = comparador) then
'paro de emergencia mientras
'info no cambie
'''''''''''''''''''''''''''''''''''''''''''''''''''
serin2 rx,84,fm,inconteo,[paro] 'espera la frecuencia de
'muestreo seleccionada y
'regresa a inconteo si no
'recibe informacin
''''''''''''''''''''''''''''''''''''''''''''''''''
else
'cuando info cambie de estado
contador = contador +1
'contador se incrementa en 1

120

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
espera = 0
gosub posiciona

'reinicia conteo timeout


'modifica variables de
'posicin

endif
return
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
mover:
contador = 0
select case motor
case 1
high m1
case 2
high m2
case 3
high m3
case 4
high m4
end select
if (flag = 0) then
while parametro > contador
'seleccionar potencia
select case motor
case 1
potencia = 200
power
= 145
case 2
potencia = 140
power
= 130
case 3
potencia = 145
power
= 100
case 4
potencia = 130
power
= 130
end select
'romper inercia
if contador = 0 then
potencia = 250
endif
'reducir velocidad al llegar
meta = parametro - contador
select case meta
case 1
potencia = power - 20
case 2
potencia = power - 15
case 3
potencia = power - 10
case 4
potencia = power - 5
case 5
potencia = power
end select
hpwm 1,potencia,250
'ejecuta subrutina para validar pulsos

121

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
gosub conteo
wend
'deshabilita movimiento a la derecha
low der
CCP1CON = %00000000
low der
select case motor
case 1
low m1
case 2
low m2
case 3
low m3
case 4
low m4
case 5
low m5
end select
else
while parametro > contador
'seleccionar potencia
select case motor
case 1
potencia = 200
power
= 145
case 2
potencia = 200
power
= 200
case 3
potencia = 180
power
= 150
case 4
potencia = 150
power
= 150
end select
'romper inercia
if contador = 0 then
potencia = 250
endif
'reducir velocidad al llegar
meta = parametro - contador
select case meta
case 1
potencia = power - 20
case 2
potencia = power - 15
case 3
potencia = power - 10
case 4
potencia = power - 5
case 5
potencia = power
end select
hpwm 2,potencia,250
'ejecuta subrutina para validar pulsos

122

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
gosub conteo
wend
'deshabilita movimiento a la izquierda
low izq
CCP2CON = %00000000
low izq
select case motor
case 1
low m1
case 2
low m2
case 3
low m3
case 4
low m4
case 5
low m5
end select
endif

return

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
reset:
rstm2:
while porte.1 = 0
high izq
high m2
serin2 rx,84,170,rstm2,[paro]
wend
low m2
low izq
posm2 = vim2
rstm4:
while porta.5 = 0
high izq
high m4
serin2 rx,84,170,rstm4,[paro]
wend
low m4
low izq
posm4 = vim4
rstm3:
high der
while porte.0 = 0
high m3
serin2 rx,84,190,rstm3,[paro]
wend
low m3
low der
posm3 = vim3
rstm1:

123

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

select case sgnm1


case 0
high izq
hpwm 2,200,250
case 1
high der
hpwm 1,200,250
end select
rstm1a:
while porte.2 = 0
high m1
serin2 rx,84,100,rstm1a,[paro]
wend
low m1
CCP2CON = %00000000
low izq
CCP1CON = %00000000
low der
posm1 = vim1
sgnm1 = 0
'Posicin inicial de la pinza: abierto
gosub abrirp
motor = 1
goto alto
return
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
seleccion:
select case motor
'selecciona el motor
case 1
info = info1
'almacena la informacin del
'enconder 1 en variable de
'trabajo info
select case flag
'selecciona la direccin del
'movimiento
case 0
'para movimientos
'positivos
fm = 5
'define la frecuencia de muestreo
power = 200'define la potencia de bajada
case 1
'para movimientos positivos
fm = 5
'define la frecuencia de muestreo
power = 200'define la potencia de bajada
end select
case 2
info = info2
select case flag
case 0
fm = 5
power = 200
case 1
fm = 5
power = 220
end select
case 3
info = info3
select case flag

124

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

case 0
fm = 5
power = 200
case 1
fm = 5
power = 200
end select
case 4
info = info4
select case flag
case 0
fm = 5
power = 200
case 1
fm = 5
power = 200
end select
end select
return
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
posiciona:
select case motor
'selecciona el motor
case 1
'si existe un cambio de signo (0 = si, 1 = no)
select case fsg
case 0
'si la posicin est en su inicio
if posm1 = 1 then
'si la bandera de signo del m1 es igual al
'signo de la direccin
if sgnm1 = flag then
'si la bandera es igual a 0 (derecha)
if (flag = 0 ) then
'incrementa en 1 la posicin del m1
posm1 = posm1 + 1
else
'si la bandera es igual a 1 (izq)
'decrementa en 1 la posicin de m1
posm1 = posm1 - 1
endif
'si el signo de direccin de m1 es diferente
'a la direccin de movimiento
else
'signo de m1 es igual a signo de
'direccin
sgnm1 = flag
'no cambia el signo
fsg = 1
endif
'si la posicin del m1 no est en inicio
else
'si la direccin es 0 (der)
if (flag = 0 ) then
'incrementa la posicin m1 en 1

125

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
posm1 = posm1 + 1
'si la direccin es 1 (izq)
else
'decremento posicin m1 en 1
posm1 = posm1 - 1
endif
endif
'si no existe un cambio de signo
case 1
'se incrementa la posicin de m1 en 1
posm1 = posmt + 1
end select
case 2
if (flag = 0 ) then
posm2 = posm2 + 1
else
posm2 = posm2 - 1
endif
case 3
if (flag = 0 ) then
posm3 = posm3 - 1
else
posm3 = posm3 + 1
endif
case 4
select case fsg
case 0
if posm4 = 1 then
if sgnm4 = flag then
if (flag = 0 ) then
posm4 = posm4 + 1
else
posm4 = posm4 - 1
endif
else
sgnm4 = flag
fsg = 1
endif
else
if (flag = 0 ) then
posm4 = posm4 + 1
else
posm4 = posm4 - 1
endif
endif
case 1
posm4 = posmt + 1
end select
end select
return

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
abrirp:
espera = 0

126

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

error = 0
while rst5 = 0 or error = 1
high der
high m5
pause 50
espera = espera + 1
if espera = 100 then
error = 1
endif
wend
low der
low m5
return
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
cerrarp:
error = 0
espera = 0
while espera < 25 'espera 1.2 S mientras se cierra
high izq
high m5
pause 50
espera = espera + 1
wend
low izq
low m5
if rst5 = 1 then
error = 1
endif
return
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
calcular:
select case motor
case 1
'si el signo del motor es igual al signo recibido
if sgn1 = sgnm1 then
if sgn1 = 1 then
'si el ngulo recibido es mayor al ngulo del
'motor
if angulo >= posmt then
'parmetro de movimiento es igual a la
'diferencia
parametro = angulo - posmt
'direccin movimiento a la izquierda
flag = 1
'si el ngulo recibido es menor al ngulo del
'motor
else
'parmetro de movimiento es igual a la
'diferencia
parametro = posmt - angulo
'direccin movimiento a la derecha
flag = 0
endif
'si el signo es positivo

127

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
else
'si el ngulo recibido es mayor al ngulo del
'motor
if angulo >= posmt then
'parmetro de movimiento es igual a la
'diferencia
parametro = angulo - posmt
'direccin movimiento a la derecha
flag = 0
'si el ngulo recibido es menor al ngulo del
'motor
else
'parmetro de movimiento es igual a la
'diferencia
parametro = posmt - angulo
'direccin movimiento a la izquierda
flag = 1
endif
endif
else
flag = sgn1
parametro = posmt + angulo
endif
case 3
if angulo >= posmt then
parametro = angulo - posmt
flag = 1
else
parametro = posmt - angulo
flag = 0
endif

case else
'calcula cantidad de pulsos a mover
if angulo >= posmt then
parametro = angulo - posmt
flag = 0
else
parametro = posmt - angulo
flag = 1
endif
end select
return
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Subrutina de paro de emergencia
alto:
'deshabilita las salidas de los enable
CCP2CON = %00000000
low izq
CCP1CON = %00000000
low der
low m1
low m2

128

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
low m3
low m4
low m5
'Reinicia el conteo de la seleccin de motores
motor = 1
'Regresa a la rutina de inicio
goto inicio

end

129

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 6.- cdigo fuente de OWI535.m


%
%
%
%

Script para determinar los parmetros D-H de OWI 535, generndolos a


partir del matlab toolbox de Peter Corke y su libro:
"Robotics, Vision and Control", capitulo 7, secciones 7.5, 7.6 y 7.7
Autor: Fernando Von Borstel

% Para que funcione el script se debe instalar correctamente el toolbox,


% ver Apndice A, script probado con matlab R2012b
% Mediciones de la estructura del manipulador obtenidas del artculo:
% "Implementation of resolved Motion Controller with 5-axis Robot
% manipulator", ver figuras 1 y 3.
L0
L1
L2
L3
L4

=
=
=
=
=

7;
9.05;
11.38;
11.5;
1.5;

%
%
%
%

offset de
distancia
distancia
distancia

la
L1
L2
L3

base
entre segunda y tercera articulacin
entre tercera y cuarta articulacin
entre cuarta y herramienta

% Inicializar toolbox de robotica y vision


startup_rvc
% Si no se inicializa el toolbox, la funcion en Java DHFactor no funciona
%
%
%
%
%
%
%

Mtodo de obtencin
Introducir secuencia de transformaciones de abajo hacia arriba
de acuerdo al mtodo de la seccin 7.5.2 (tambin ver el ejemplo de la
figura 7.14), ejes referenciales con la regla de la mano derecha,
poniendo el eje z hacia arriba (pulgar), luego se realizan las
transformaciones, sin cambiar el eje, hacia arriba, hasta terminar
en la herramienta:

% Tz = translacin en eje z, para elevar la base del robot con el offset


L0
% Rz = rotacin eje z, movimiento q1 rotacional de la primera
articulacin
% Ry = rotacin eje y, movimiento q2 rotacional de la segunda
articulacin
% Tz = translacin eje z, distancia L1, segunda a la tercera articulacin
% Ry = rotacin eje y, movimiento q3 rotacional de la tercera
articulacin
% Tz = translacin eje z, distancia L2, tercera a la cuarta articulacin
% Ry = rotacin eje y, movimiento q4 rotacional de la cuarta articulacin
% Tz = translacin eje z, distancia L3, cuarta a herramienta
% String utilizado por la funcin DHFactor:
%s = 'Tz(L0).Rz(q1).Ry(q2).Tz(L1).Ry(q3).Tz(L2).Ry(q4).Tz(L4).Tz(L3)'
s = 'Tz(L0).Rz(q1).Ry(q2).Tz(L1).Ry(q3).Tz(L2).Ry(q4).Tz(L3)'
% ejemplo en el manual del toolbox, buscar: DHFactor
%s = 'Rz(q1).Rx(q2).Ty(L1).Rx(q3).Tz(L2)';

130

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

% Obtener a partir del string s, automticamente los factores del D-H


dh = DHFactor(s)
% Obtener la informacin de la posicin y orientacin de la herramienta
dh.tool
% Desplegar la informacin de la estructura cinemtica generada
dh.display
% Generar clase de objeto como un comando completo del toolbox
cmd = dh.command('OWI535')
% Se hace la instanciacin y se crea el objeto robot
robot = eval(cmd)
robot.links(3).offset = 133*pi/180;
robot.links(4).offset = -67*pi/180;
% Mostrar interfaz de usuario con simulacin en vectores del OWI-535
robot.teach('degrees')

131

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 7.- Librera Teach.m modificada


%SerialLink.teach Graphical teach pendant
%
% R.teach(OPTIONS) drive a graphical robot by means of a graphical slider
panel.
% If no graphical robot exists one is created in a new window. Otherwise
% all current instances of the graphical robot are driven.
%
% h = R.teach(OPTIONS) as above but returns a handle for the teach
window. Can
% be used to programmatically delete the teach window.
%
% Options::
% 'eul'
Display tool orientation in Euler angles
% 'rpy'
Display tool orientation in roll/pitch/yaw angles
% 'approach'
Display tool orientation as approach vector (z-axis)
% 'degrees'
Display angles in degrees (default radians)
% 'q0',q
Set initial joint coordinates
%
% GUI::
%
% - The record button adds the current joint coordinates as a row to the
robot's
%
qteach property.
% - The Quit button destroys the teach window.
%
% Notes::
% - The slider limits are derived from the joint limit properties. If
not
%
set then for
%
- a revolute joint they are assumed to be [-pi, +pi]
%
- a prismatic joint they are assumed unknown and an error occurs.
%
% See also SerialLink.plot.
% Copyright (C) 1993-2011, by Peter I. Corke
%
% This file is part of The Robotics Toolbox for Matlab (RTB).
%
% RTB is free software: you can redistribute it and/or modify
% it under the terms of the GNU Lesser General Public License as
published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% RTB is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU Lesser General Public License for more details.
%
% You should have received a copy of the GNU Leser General Public License
% along with RTB. If not, see <http://www.gnu.org/licenses/>.
%
% http://www.petercorke.com

132

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

%% TODO:
%% make the sliders change the animation while moving
%% http://www.mathworks.com/matlabcentral/newsreader/view_thread/159374
%% 1. download FINDJOBJ from the file exchange:
http://www.mathworks.com/matlabcentral/fileexchange/14317
%% 2. hSlider = uicontrol('style','slider', ...); %create the slider, get
its Matlab handle
%% 3. jSlider = findjobj(hSlider,'nomenu'); %get handle of the underlying
java object
%% 4. jSlider.AdjustmentValueChangedCallback = @myMatlabFunction; %set
callback
%%
%% Note: you can also use the familiar format:
%% set(jSlider,'AdjustmentValueChangedCallback',@myMatlabFunction)
%%
%% Feel free to explore many other properties (and ~30 callbacks)
%% available in jSlider but not in its Matlab front-end interface
hSlider.
%%
%% Warning: FINDJOBJ relies on undocumented and unsupported Matlab/Java
%% functionality.
function handle = teach(r, varargin)
bgcol = [135 206 250]/255;
opt.degrees = false;
opt.q0 = [];
opt.orientation = {'approach', 'eul', 'rpy'};
% TODO: options for rpy, or eul angle display
opt = tb_optparse(opt, varargin);
% drivebot(r, q)
% drivebot(r, 'deg')
n = r.n;
width = 300;
height = 40;
qlim = r.qlim;
if any(isinf(qlim))
error('for prismatic axes must define joint coordinate limits,
set qlim properties for prismatic Links');
end
if isempty(opt.q0)
q = zeros(1,n);
else
q = opt.q0;
end
% set up scale factor, from actual limits in radians/metres to
display units
qscale = ones(r.n,1);
for i=1:r.n
L=r.links(i);

133

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
if opt.degrees && L.isrevolute
qscale(i) = 180/pi;
end

end
handles.qscale = qscale;
handles.orientation = opt.orientation;
T6 = r.fkine(q);
fig = figure('Units', 'pixels', ...
'Position', [0 -height width+80 height*(n+2)+40], ...
'BusyAction', 'cancel', ...
'HandleVisibility', 'off', ...
'Color', bgcol);
set(fig,'MenuBar','none')
delete( get(fig, 'Children') )
% first we check to see if there are any graphical robots of
% this name, if so we use them, otherwise create a robot plot.
rhandles = findobj('Tag', r.name);
% attempt to get current joint config of graphical robot
if ~isempty(rhandles)
h = get(rhandles(1), 'UserData');
if ~isempty(h.q)
q = h.q;
end
end
% now make the sliders
for i=1:n
% slider label
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'BackgroundColor', bgcol, ...
'Position', [0 height*(n-i)+40 width*0.1 height*0.4], ...
'String', sprintf('q%d', i));
% slider itself
q(i) = max( qlim(i,1), min( qlim(i,2), q(i) ) ); % clip to range
handles.slider(i) = uicontrol(fig, 'Style', 'slider', ...
'Units', 'pixels', ...
'Position', [width*0.1 height*(n-i)+40 width*0.7 height*0.4],
...
'Min', qlim(i,1), ...
'Max', qlim(i,2), ...
'Value', q(i), ...
'Tag', sprintf('Slider%d', i));
% text box showing slider value, also editable
handles.edit(i) = uicontrol(fig, 'Style', 'edit', ...
'Units', 'pixels', ...
'Position', [width*0.8 height*(n-i-0.1)+40 width*0.2
height*0.7], ...
'String', num2str(qscale(i)*q(i)), ...

134

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
'Tag', sprintf('Edit%d', i));

end
set(handles.slider(1))
% robot name text box
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'FontSize', 20, ...
'HorizontalAlignment', 'left', ...
'Position', [0 height*(n+1.2)+40 0.8*width 0.8*height], ...
'BackgroundColor', 'white', ...
'String', r.name);
% X
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'BackgroundColor', bgcol, ...
'Position', [0 height*(n+0.5)+40 0.06*width height/2], ...
'BackgroundColor', 'yellow', ...
'FontSize', 10, ...
'HorizontalAlignment', 'right', ...
'String', 'x:');
handles.t6.t(1) = uicontrol(fig, 'Style', 'edit', ...
'Units', 'pixels', ...
'Position', [0.06*width height*(n+0.5)+40 width*0.2 height*0.6],
...
'String', sprintf('%.3f', T6(1,4)), ...
'Tag', 'T6');
% Y
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'BackgroundColor', bgcol, ...
'Position', [0.26*width height*(n+0.5)+40 0.06*width height/2],
...
'BackgroundColor', 'yellow', ...
'FontSize', 10, ...
'HorizontalAlignment', 'right', ...
'String', 'y:');
handles.t6.t(2) = uicontrol(fig, 'Style', 'edit', ...
'Units', 'pixels', ...
'Position', [0.32*width height*(n+0.5)+40 width*0.2 height*0.6],
...
'String', sprintf('%.3f', T6(2,4)));
% Z
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'BackgroundColor', bgcol, ...
'Position', [0.52*width height*(n+0.5)+40 0.06*width height/2],
...
'BackgroundColor', 'yellow', ...
'FontSize', 10, ...

135

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
'HorizontalAlignment', 'right', ...
'String', 'z:');

handles.t6.t(3) = uicontrol(fig, 'Style', 'edit', ...


'Units', 'pixels', ...
'Position', [0.58*width height*(n+0.5)+40 width*0.2 height*0.6],
...
'String', sprintf('%.3f', T6(3,4)));
% Orientation
switch opt.orientation
case 'approach'
labels = {'ax:', 'ay:', 'az:'};
case 'eul'
labels = {'\phi:', '\theta:', '\psi:'};
case'rpy'
labels = {'R:', 'P:', 'Y:'};
end
% AX
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'BackgroundColor', bgcol, ...
'Position', [0 height*(n)+40 0.06*width height/2], ...
'BackgroundColor', 'yellow', ...
'FontSize', 10, ...
'HorizontalAlignment', 'right', ...
'String', labels(1));
handles.t6.r(1) = uicontrol(fig, 'Style', 'edit', ...
'Units', 'pixels', ...
'Position', [0.06*width height*(n)+40 width*0.2 height*0.6], ...
'String', sprintf('%.3f', T6(1,3)));
% AY
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'BackgroundColor', bgcol, ...
'Position', [0.26*width height*(n)+40 0.06*width height/2], ...
'BackgroundColor', 'yellow', ...
'FontSize', 10, ...
'HorizontalAlignment', 'right', ...
'String', labels(2));
handles.t6.r(2) = uicontrol(fig, 'Style', 'edit', ...
'Units', 'pixels', ...
'Position', [0.32*width height*(n)+40 width*0.2 height*0.6], ...
'String', sprintf('%.3f', T6(2,3)));
% AZ
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'BackgroundColor', bgcol, ...
'Position', [0.52*width height*(n)+40 0.06*width height/2], ...
'BackgroundColor', 'yellow', ...
'FontSize', 10, ...
'HorizontalAlignment', 'right', ...
'String', labels(3));

136

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

handles.t6.r(3) = uicontrol(fig, 'Style', 'edit', ...


'Units', 'pixels', ...
'Position', [0.58*width height*(n)+40 width*0.2 height*0.6], ...
'String', sprintf('%.3f', T6(3,3)));
% pinza
uicontrol(fig, 'Style', 'text', ...
'Units', 'pixels', ...
'BackgroundColor', bgcol, ...
'Position', [1.03*width height*n-5 0.20*width 0.9*height], ...
'FontSize', 10, ...
'HorizontalAlignment', 'center', ...
'String', 'Pinza');
% add buttons
%boton salir
uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 16, ...
'Position', [0.8*width height*n+80 0.45*width height], ...
'CallBack', @(src,event) salir_callback(fig), ...
'BackgroundColor', 'red', ...
'String', 'Salir');
%'CallBack', @(src,event) delete(fig), ...
%pinza: boton abrir..............
abrir = uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 12, ...
'Position', [1.03*width height*n-15 0.2*width 0.7*height], ...
'BackgroundColor', 'blue', ...
'ForegroundColor', 'white', ...
'enable' , 'off', ...
'String', 'Abrir');
%pinza: boton cerrar..........
cerrar = uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 12, ...
'Position', [1.03*width height*n-50 0.2*width 0.7*height], ...
'BackgroundColor', 'blue', ...
'ForegroundColor', 'white', ...
'String', 'Cerrar');
%boton limpiar memoria..........
clear = uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 12, ...
'Position', [1.03*width height*n-155 0.2*width 0.9*height], ...
'CallBack', @(src,event) clear_callback(r), ...
'BackgroundColor', 'red', ...
'ForegroundColor', 'white', ...

137

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
'String', 'Borrar');

%asigna la funcion abrir con el apuntador del id cerrar al boton


%abrir
set(abrir,'CallBack', @(src,event) abrir_callback(cerrar, abrir))
set(cerrar,'CallBack', @(src,event) cerrar_callback(abrir, cerrar))
%limitar barras de desplazamiento
%M1 (-90 a 90)
set(handles.slider(1), 'Max', pi/2, 'Min' , -pi/2);
%M2 (0 a 110)
set(handles.slider(2), 'Max', 110*(pi/180), 'Min' , 0);
%M3 (0 a -130)
set(handles.slider(3), 'Max', 0, 'Min' , -130*(pi/180));
%M4 (0 a 120)
set(handles.slider(4), 'Max', 120*(pi/180), 'Min' , 0);
%boton stop........
stop = uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 12, ...
'Position', [1.03*width height*n-150 0.2*width 1.2*height], ...
'BackgroundColor', 'red', ...
'ForegroundColor', 'white', ...
'enable', 'off', ...
'visible', 'off', ...
'String', 'Stop');
set(stop, 'CallBack', @(src,event) stop_callback(stop))
global rst
%boton reset............
uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 16, ...
'Position', [0.8*width height*n+35 0.45*width height], ...
'CallBack', @(src,event) reset_callback(), ...
'BackgroundColor', 'blue', ...
'ForegroundColor', 'white', ...
'String', 'Reset');
% boton enviar.............
uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 16, ...
'Position', [0.53*width 8 0.45*width 0.7*height], ...
'CallBack', @(src,event) send_callback(r), ...
'BackgroundColor', 'green', ...
'ForegroundColor', 'white', ...
'String', 'Ejecutar');
% the record button
handles.record = [];
uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 15, ...

138

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
'Position', [0.05*width 8 0.45*width 0.7*height], ...
'CallBack', @(src,event) record_callback(r, handles), ...
'BackgroundColor', 'blue', ...
'ForegroundColor', 'white', ...
'String', 'Guardar');

%boton de rutina
rutina = uicontrol(fig, 'Style', 'pushbutton', ...
'Units', 'pixels', ...
'FontSize', 12, ...
'Position', [1.03*width height*n-105 0.2*width 0.9*height], ...
'CallBack', @(src,event) rutina_callback(r, abrir, cerrar), ...
'BackgroundColor', 'green', ...
'ForegroundColor', 'white', ...
'String', 'Rutina');
% now assign the callbacks
for i=1:n
% text edit box
set(handles.edit(i), ...
'Interruptible', 'off', ...
'Callback', @(src,event)teach_callback(src, r.name, i,
handles));
% slider
set(handles.slider(i), ...
'Interruptible', 'off', ...
'BusyAction', 'queue', ...
'Callback', @(src,event)teach_callback(src, r.name, i,
handles));
% if findjobj exists use it, since it lets us get continous
callbacks while
% a slider moves
if (exist('findjobj', 'file')>0) && verLessThan('matlab', '8')
&& ~ispc
disp('using findjobj');
pause(0.1);
drawnow
jh = findjobj(handles.slider(i), 'nomenu');
%jh.AdjustmentValueChangedCallback = {@sliderCallbackFunc,
r.name, i};
jh.AdjustmentValueChangedCallback =
@(src,event)sliderCallbackFunc(src, handles.slider(i), r.name, i,
handles);
end
end
if isempty(rhandles)
figure
r.plot(q);
end
if nargout > 0
handle = fig;
end
end

139

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

function teach_callback(src, name, j, handles)


%configurar serial
s5=serial('COM5');
set(s5,'Baudrate',9600); % se configura la velocidad a
9600 Baudios
set(s5,'StopBits',1); % se configura bit de parada a uno
set(s5,'DataBits',8); % se configura que el dato es de 8
bits, debe estar entre 5 y 8
set(s5,'Parity','none'); % se configura sin paridad
set(s5,'Terminator','CR');% caracter con que finaliza el
envo (cr/ls)
set(s5,'InputBufferSize' ,1); % n es el nmero de bytes
a recibir
set(s5,'Timeout',20); % 5 segundos de tiempo de espera
global tiemporeal
% called on changes to a slider or to the edit box showing joint
coordinate
%
% src
the object that caused the event
% name
name of the robot
% j
the joint index concerned (1..N)
% slider
true if the
qscale = handles.qscale;
switch get(src, 'Style')
case 'slider'
% slider changed, get value and reflect it to edit box
newval = get(src, 'Value');
set(handles.edit(j), 'String', num2str(qscale(j)*newval));
case 'edit'
% edit box changed, get value and reflect it to slider
newval = str2double(get(src, 'String')) / qscale(j);
set(handles.slider(j), 'Value', newval);
end
%fprintf('newval %d %f\n', j, newval);
% find all graphical objects tagged with the robot name, this is the
% instancs of that robot across all figures
rhandles = findobj('Tag', name);
for rhandle=rhandles'
% for every graphical robot instance
h = get(rhandle, 'UserData'); % get the robot object
robot = h.robot;
q = h.q;
% get its current joint angles
if isempty(q)
q = zeros(1,robot.n);
end
q(j) = newval;
% update the joint angle

140

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

%si esta activo el movimiento de tiempo real


if tiemporeal == 1
disp('motor:')
disp(j)
disp('parametro')
send = (q(j)*(180/pi));
send = send / 1.7;
send = round(send);
neg = sign(send);
if neg == -1
send = send - (2*send);
% de lo contrario si es un numero positivo o cero se le
% suma 1 puesto que en el sistema del firmware no existe
el
% 0
else
send = send + 1;
end
disp(send)
try
fopen(s5);
%envia comando de movimiento en tiempo real
fprintf(s5, '%s\n','t', 'async'); %fprintf(puertoserial,
formato(decimal), obj a enviar, modo asincrono)
pause (0.1)
%enviar j(numero de motor) al firmware
fprintf(s5, '%d\n',j, 'async');
pause (0.1)
%enviar q(j) (parametro de movimiento)
fprintf(s5, '%d\n',send, 'async');
%si es M1 enva signo
if j == 1
if q(j) >= 0
sgn = 0; %(+)
else
sgn = 1; %(-)
end
pause(0.1)
disp(sgn)
fprintf(s5, '%d\n',sgn, 'async');
end
pause (0.1)
fclose(s5);
delete(s5);
clear s5;
catch err
disp(err);
end
end
robot.plot(q);

% plot it

141

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
drawnow

end
% compute the robot tool pose
T6 = robot.fkine(q);
% convert orientation to desired format
switch handles.orientation
case 'approach'
orient = T6(:,3);
% approach vector
case 'eul'
orient = tr2eul(T6);
case'rpy'
orient = tr2rpy(T6);
end
% update the display in the teach window
for i=1:3
set(handles.t6.t(i), 'String', sprintf('%.3f', T6(i,4)));
set(handles.t6.r(i), 'String', sprintf('%.3f', orient(i)));
end
robot.T = T6;
robot.notify('Moved');
%drawnow
end
function record_callback(robot, handles)
rhandles = findobj('Tag', robot.name);
if ~isempty(rhandles)
h = get(rhandles(1), 'UserData'); % get the plot graphics
h.q
robot.record(h.q);
end
end
function reset_callback()
global rst
%configurar serial
s5=serial('COM5');
set(s5,'Baudrate',9600); % se configura la velocidad a 9600 Baudios
set(s5,'StopBits',1); % se configura bit de parada a uno
set(s5,'DataBits',8); % se configura que el dato es de 8 bits, debe
estar entre 5 y 8
set(s5,'Parity','none'); % se configura sin paridad
set(s5,'Terminator','CR');% caracter con que finaliza el envo
(cr/ls)
set(s5,'InputBufferSize' ,1); % n es el nmero de bytes a recibir
set(s5,'Timeout',8); % 5 segundos de tiempo de espera

142

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

try
%abrir serial
fopen(s5);
disp('Reset')
%enviar 'rst' de manera asincrona
fprintf(s5, '%s\n','rst', 'async');
catch err
disp(err);
end
pause(0.2);
fclose(s5);
delete(s5);
clear s5;
disp('El OWI-535 se ha restablecido a su posicin inicial')
rst1 = 1;
rst = rst1;
end
function send_callback(robot)
global rst
%row = renglones de robot.qteach
%col = columnas de robot.qteach
%error = bandera de error
%time = tiempo de espera
%configurar serial
s5=serial('COM5');
set(s5,'Baudrate',9600); % se configura la velocidad a 9600 Baudios
set(s5,'StopBits',1); % se configura bit de parada a uno
set(s5,'DataBits',8); % se configura que el dato es de 8 bits, debe
estar entre 5 y 8
set(s5,'Parity','none'); % se configura sin paridad
set(s5,'Terminator','CR');% caracter con que finaliza el envo
(cr/ls)
%set(s5,'OutputBufferSize',1); % n es el nmero de bytes a enviar
set(s5,'InputBufferSize' ,1); % n es el nmero de bytes a recibir
set(s5,'Timeout',20); % 5 segundos de tiempo de espera
fopen(s5);
[row, col]= size(robot.qteach);
%limpia variable de ultimo envio
error = 0;
lastsend1 = 1;
lastsend2 = 1;
lastsend3 = 1;
for c1=1:row
%envia comando para mover
try

143

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

fprintf(s5, '%s\n','mov', 'async');


formato(decimal), obj a enviar, modo asincrono)
catch err
disp(err);
end

%fprintf(puertoserial,

disp('inicia envio de datos')


pause(0.2)
send = 0;
for c2=1:col
if error == 0
%convertir de radianes a grados
send = robot.qteach(c1, c2)*180/pi;
%se almacenan los grados en variable de memoria
sendgrad = robot.qteach(c1, c2)*180/pi;
%determina la direccin del movimiento
if c1 ~= 1
%almacena el envio anterior en grados
lastgrad = robot.qteach(c1-1, c2)*180/pi;
else
lastgrad = 0;
end
%saca la diferencia para determinar la direccion del
%movimiento
dif = sendgrad - lastgrad;
%si direccion = 1 -> movimiento a la derecha
%si direccion = -1 -> movimiento a la izquierda
%si direccion = 0 -> no hay movimiento
direccion = sign(dif);
%convertir de grados a pulsos
disp(['direccion: ' num2str(direccion)])
switch c2
case 1
send = send / 1.7;
case 2
if direccion == 1
send = send / 1.7; %abajo
else
send = send / 1.7; %arriba
end
case 3
if direccion == 1
send = send / 1.7; %abajo
else
send = send / 1.7; %arriba
end
case 4
if direccion == 1
send = send / 1.7;
else
send = send / 1.7;
end
end

144

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

send = round(send);
%redondea el resultado para
obtener solo enteros
%si send es un numero negativo eliminamos el signo
%(posteriormente se envia como una bandera)
neg = sign(send);
if neg == -1
send = abs(send);
%send = send - (2*send);
% de lo contrario si es un numero positivo o cero se le
% suma 1 puesto que en el sistema del firmware no existe
el
% 0
else
send = send + 1;
end
%compensaciones-----------%si existe un cambio de direccion de agrega un pulso al
%movimiento para ajustar el opto-interruptor
%verifica que no sea el primer movimiento
if c1 == 1
%si es el primer movimiento asigna las ultimas
%direcciones de movimiento siguientes a cada
%aritculacion
dirm{1} = 0;
%direccion para m1 depende del
usuario
dirm{2} = 1;
dirm{3} = -1;
dirm{4} = 1;
lastgrad = 0;
end

%ultima direccion para m2 derecha


%ultima direccion para m3 izquierda
%ultima direccion para m4 derecha

%--------compensacion de cambio de direccion----------------%si direccion es diferente de la direccion almacenada


if direccion ~= dirm{c2} && c2~= 1
%se incrementa el movimiento en 1 pulso
send = send + direccion;
%almacena ultima direccion
dirm{c2} = direccion;
end
if c2 == 1 && direccion == 1 %base derecha
if send >= 29
send = send +6;
end
lastsend1 = send;
end
if c2 == 1 && direccion == -1 %base izquierda
if send >= 29
send = send +6;
end
lastsend1 = send;
end

145

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
if c2 == 1 && direccion == 0
send = lastsend1;
end
if c2 == 2 && direccion == 1 %articulacion 2 abajo
if send > 15 && send <= 41
send = send - 1;
end
if send > 41 && send <= 53
send = send - 2;
end
lastsend2 = send;
end
if c2 == 2 && direccion == -1 %articulacion 2 arriba
if send > 35
send = send + 2;
end
lastsend2 = send;
end
if c2 == 2 && direccion == 0
send = lastsend2;
end
if c2 == 3 && direccion == 1 %articulacion 3 abajo
if send > 9 && send <= 17
send = send + 1;
end
if send > 17 && send <= 23
send = send + 2;
end
if send > 41 && send <= 53
send = send + 2;
end
if send > 65 && send <= 70
send = send + 2;
end
lastsend3 = send;
end
if c2 == 3 && direccion == -1 %articulacion 3 arriba
if send <= 23 && send < 53
send = send + 2;
end
if send > 53 && send <= 65
send = send + 1;
end
if send > 65 && send <= 70
send = send + 2;
end
if send > 70 && send <= 76
send = send + 3;
end
lastsend3 = send;
end

146

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
if c2 == 3 && direccion == 0
send = lastsend3;
end
end

%
%------------------------------------------------------disp(send)
%envia numero de pulsos
try
%envia cantidad de pulsos a mover
fprintf(s5, '%d\n',send, 'async');
%fprintf(puertoserial, formato(decimal), obj a enviar, modo asincrono)
catch err
disp(err);
end
%si es M1 o M4 envia signo
if c2 == 1 || c2 == 4
if robot.qteach(c1, c2) >= 0
sgn = 0; %(+)
else
sgn = 1; %(-)
end
pause(0.2)
try
disp(sgn)
fprintf(s5, '%d\n',sgn, 'async');
catch err
disp(err)
end
end
%esperar caracter de finalizacion para el siguiente
movimiento
if c2 == col
resp='';
time = 0;
while ~strcmp(resp,'n')
resp = fscanf(s5, '%s', 1);
if strcmp(resp,'e')
disp('Error')
resp = 'n';
error = 1;
end
time = time + 1;
if strcmp(resp,'') && time == 2
disp(resp)
disp('Tiempo de espera agotado')
resp = 'n';
error = 1;
end

147

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
end
end
pause(0.2)

end
end
fclose(s5);
delete(s5);
clear s5;

end
function abrir_callback(cerrar, abrir)
%configurar serial
s5 = serial('COM5');
set(s5,'Baudrate',9600); % se configura la velocidad a 9600 Baudios
set(s5,'StopBits',1); % se configura bit de parada a uno
set(s5,'DataBits',8); % se configura que el dato es de 8 bits, debe
estar entre 5 y 8
set(s5,'Parity','none'); % se configura sin paridad
set(s5,'Terminator','CR');% caracter con que finaliza el envo
(cr/ls)
set(s5,'InputBufferSize' ,1); % n es el nmero de bytes a recibir
set(s5,'Timeout',15); % 15 segundos de tiempo de espera
%envia seal para abrir pinza
fopen(s5);
%enviar 'abp' de manera asincrona
try
fprintf(s5, '%s\n','abp', 'async');
catch err
disp(err)
end
%espera respuesta
resp='';
error = 0;
time = 0;
while ~strcmp(resp,'n')
resp = fscanf(s5, '%s', 1);
if strcmp(resp,'e')
resp = 'n';
error = 1;
end
time = time + 1;
if time == 2
disp(resp)
disp('Tiempo de espera agotado')
resp = 'n';
error = 1;
end
end
%si la pinza se abrio correctamente
if error ~= 1

148

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
%se habilita el boton cerrar
set(cerrar, 'enable', 'on')
%se deshabilita el boton abrir
set(abrir,'enable', 'off')

else
%de lo contrario muestra mensaje de error
disp('Error de apertura de la herramienta')
end
fclose(s5);
delete(s5);
clear s5;
end
function cerrar_callback(abrir, cerrar)
%configurar serial
s5 = serial('COM5');
set(s5,'Baudrate',9600); % se configura la velocidad a 9600 Baudios
set(s5,'StopBits',1); % se configura bit de parada a uno
set(s5,'DataBits',8); % se configura que el dato es de 8 bits, debe
estar entre 5 y 8
set(s5,'Parity','none'); % se configura sin paridad
set(s5,'Terminator','CR');% caracter con que finaliza el envo
(cr/ls)
set(s5,'InputBufferSize' ,1); % n es el nmero de bytes a recibir
set(s5,'Timeout',15); % 15 segundos de tiempo de espera
%envia seal para cerrar pinza
fopen(s5);
%enviar 'abp' de manera asincrona
try
fprintf(s5, '%s\n','crp', 'async');
catch err
disp (err)
end
%espera respuesta
resp='';
error = 0;
time = 0;
while ~strcmp(resp,'n')
resp = fscanf(s5, '%s', 1);
if strcmp(resp,'e')
resp = 'n';
error = 1;
end
time = time + 1;
if time == 2
disp(resp)
disp('Tiempo de espera agotado')
resp = 'n';
error = 1;
end
end

149

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

%si la pinza se abrio correctamente


if error ~= 1
%se habilita el boton abrir
set(abrir, 'enable', 'on')
%se deshabilita el boton cerrar
set(cerrar,'enable', 'off')
else
%de lo contrario muestra mensaje de error
disp('Error al cerrar la herramienta')
end
fclose(s5);
delete(s5);
clear s5;
end
function rutina_callback(robot, abrir, cerrar)
%contador de lineas de texto
c = 1;
%contador de matriz robot.qteach
b = 1;
%leer rutina de un archivo .txt
[archivo,ruta]=uigetfile('*.txt','Seleccionar Archivo');
if archivo==0
return;
else
fid =fopen([ruta archivo],'r');
%almacena texto en matriz "rut"
rut = textscan(fid,'%s');
fclose(fid);
celldisp(rut)
end
resp = strcmp(rut{1}{c}, 'fin')
while resp == 0
switch rut{1}{c}
case 'reset'
reset_callback()
c = c+1;
case 'abrir'
abrir_callback(cerrar, abrir)
c = c+1;
case 'cerrar'
cerrar_callback(abrir, cerrar)
c = c+1;
case 'mover'
b = 1;
while b <= 4
%convierte de grados a radianes
disp(rut{1}{c+b})
dato = str2num(rut{1}{c+b}) ;
dato = dato * (pi/180) ;
robot.qteach(1, b) = dato;
b = b+1;
end
send_callback(robot)

150

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
clear_callback(robot)
c = c+5;
end
resp = strcmp(rut{1}{c}, 'fin');

end
end
function clear_callback(robot)
robot.qteach = [];
disp('Se Eliminaron los Movimientos Almacenados')
end
function salir_callback(fig)
reset_callback
delete(fig)
close
end
function sliderCallbackFunc(src, h, name, joint, handles)
persistent busy
% this is really ugly but it works
if busy
return
end
if get(src,'ValueIsAdjusting') == 1
busy = true;
try
teach_callback(h, name, joint, handles);
catch me
fprintf('*******\n')
busy = false;
return
end
end
busy = false;
end

151

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 8. Tablas de resultados del experimento 1


Resultados de la Base
Resolucin mnima (1 Pulso)
ngulo de
Articulacin Movimiento
movimiento
1
1.5
Valor ideal
2
2
1.7
3
1.3
Promedio
4
2.1
1.69
5
1.2
Desviacin Estndar
1
6
2.1
0.3446415
7
1.5
Error
8
1.9
0.01
9
1.4
10
1.9

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

3 Pulsos
ngulo de
movimiento
5.6
5.1
5
5.5
5.1
5.1
5.3
4.5
5.9
5.1

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
5.1
Promedio
5.22
Desviacin Estndar
0.3823901
Error
-0.12

1
2
3
4
5
6
7
8
9
10

2 Pulsos
ngulo de
movimiento
2.8
3.1
3.9
3.5
3.2
3.4
3.7
3.3
3.1
3.9
4 Pulsos
ngulo de
movimiento
6.9
7.1
6.9
7.1
6.3
7
7.3
7
6.8
7

Valor ideal
3.4
Promedio
3.39
Desviacin Estndar
0.36347
Error
0.01

Valor ideal
6.8
Promedio
6.94
Desviacin Estndar
0.2633122
Error
-0.14

152

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

5 Pulsos
ngulo de
movimiento
7.9
8.9
8.5
8.4
8.6
8.8
8.7
8.9
8
8.9
7 Pulsos
ngulo de
movimiento
10.9
12.1
11.5
11.7
11.2
12.3
11.8
11.3
11.1
12.4
9 Pulsos
ngulo de
movimiento
15.7
15.2
14.9
15.6
15.7
14.8
15.1
15.3
15.9
14.7

Articulacin Movimiento
Valor ideal
8.5
Promedio
8.56
Desviacin Estndar
0.3657564
Error
-0.06

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
11.9
Promedio
11.63
Desviacin Estndar
0.518652
Error
0.27

Valor ideal
15.3
Promedio
15.29
Desviacin Estndar
0.42018514
Error
0.01

1
2
3
4
5
6
7
8
9
10

6 Pulsos
ngulo de
movimiento
10.4
9.9
10.3
10.1
10.2
10.5
10.4
9.8
10.7
10.4
8 Pulsos
ngulo de
movimiento
14.3
12.9
13.3
13.2
13.8
14.1
13.2
13.2
13.6
13.9

10 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
16.1
2
17.3
3
17
4
17.1
5
17.2
1
6
16
7
16.9
8
17.1
9
17.3
10
17.5

Valor ideal
10.2
Promedio
10.27
Desviacin Estndar
0.2750757
Error
-0.07

Valor ideal
13.6
Promedio
13.55
Desviacin Estndar
0.46007246
Error
0.05

Valor ideal
17
Promedio
16.95
Desviacin Estndar
0.50387388
Error
0.05

153

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resolucin mnima (-1 Pulso)


ngulo de
Articulacin Movimiento
movimiento
1
1.5 Valor ideal
2
1.9
1.7
3
1.7 Promedio
4
2.1
1.73
5
1.2 Desviacin Estndar
1
6
1.8
0.25407785
7
1.6 Error
8
1.9
-0.03
9
1.7
10
1.9

-2 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
3.5
2
3.4
3
3.8
4
3.6
5
3.4
1
6
3.2
7
3.6
8
3.8
9
3.4
10
3.7

-3 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
1
5
2
5.5
3
5.1
4
5.3
5
5
6
5.4
7
5.1
8
5.2
9
5.1
10
5.1

-4 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
6.1
2
7.1
3
6.9
4
7.2
5
4.9
1
6
7.1
7
5.3
8
6.6
9
6.8
10
6.9

-5 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
9.1
2
8.7
3
8.6
4
8.5
5
8.9
1
6
8.1
7
8.7
8
8.8
9
8.3
10
7.5

Valor ideal
5.1
Promedio
5.18
Desviacin Estndar
0.16865481
Error
-0.08

Valor ideal
8.5
Promedio
8.52
Desviacin Estndar
0.45898439
Error
-0.02

-6 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
10.3
2
10.5
3
9.8
4
10.4
5
10.2
1
6
10.4
7
10.7
8
11
9
10.2
10
10.1

Valor ideal
3.4
Promedio
3.54
Desviacin Estndar
0.19550504
Error
-0.14

Valor ideal
6.8
Promedio
6.49
Desviacin Estndar
0.80201136
Error
0.31

Valor ideal
10.2
Promedio
10.36
Desviacin Estndar
0.33065591
Error
-0.16

154

Apndice

-7 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
11.1
2
11.6
3
12.4
4
11.7
5
11.9
1
6
11.2
7
12.2
8
11.6
9
11.7
10
11.8
-9 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
15.9
2
15.4
3
15.1
4
15.9
5
14.7
1
6
15.6
7
15.1
8
15.3
9
15.7
10
15.1

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Valor ideal
11.9
Promedio
11.72
Desviacin Estndar
0.39665266
Error
0.18

Valor ideal
15.3
Promedio
15.38
Desviacin Estndar
0.39384148
Error
-0.08

-8 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
13.4
2
13.9
3
12.9
4
14.4
5
13.7
1
6
13.1
7
13.5
8
13.1
9
14
10
13.2
-10 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
15.3
2
17
3
17.5
4
15.6
5
16.5
1
6
17.5
7
15.9
8
17
9
18.1
10
15.7

Valor ideal
13.6
Promedio
13.52
Desviacin Estndar
0.47562824
Error
0.08

Valor ideal
17
Promedio
16.61
Desviacin Estndar
0.95388096
Error
0.39

155

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resultados de la segunda articulacin

Resolucin mnima (1 Pulso)


ngulo de
Articulacin Movimiento
movimiento
1
1.4 Valor ideal
2
2
1.7
3
1.5 Promedio
4
2.4
2.45
5
0.7 Desviacin Estndar
2
6
3.1
1.01242284
7
3.3 Error
8
3.2
-0.75
9
3.1
10
3.8

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

3 Pulso
ngulo de
movimiento
7.3
6.7
6.8
7.4
5.4
5.6
7.2
6.6
7
7

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
5.1
Promedio
6.7
Desviacin Estndar
0.68313005
Error
-1.6

1
2
3
4
5
6
7
8
9
10

2 Pulso
ngulo de
movimiento
3
3.3
3.4
3.4
4.1
3.4
3.4
3.1
3.1
3.7
4 Pulso
ngulo de
movimiento
8.5
5.9
8.6
6.4
7.2
6.5
6.2
6.4
7.4
6.9

Valor ideal
3.4
Promedio
3.39
Desviacin Estndar
0.32128215
Error
0.01

Valor ideal
6.8
Promedio
7
Desviacin Estndar
0.93333333
Error
-0.2

156

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

5 Pulso
ngulo de
movimiento
6.6
15.3
11.1
10
10.9
10.5
10.6
10.6
9.4
10.7
7 Pulsos
ngulo de
movimiento
14
13.6
13.7
13.8
12.7
12.4
12.1
12.2
12
12.5
9 Pulsos
ngulo de
movimiento
17
17.8
16.9
17.3
16.2
17.1
14.4
17.8
18.7
16

Articulacin Movimiento
Valor ideal
8.5
Promedio
10.57
Desviacin Estndar
2.11452648
Error
-2.07

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
11.9
Promedio
12.9
Desviacin Estndar
0.78457349
Error
-1

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
15.3
Promedio
16.92
Desviacin Estndar
1.18396697
Error
-1.62

1
2
3
4
5
6
7
8
9
10

6 Pulsos
ngulo de
movimiento
10.9
13.1
11.2
11
10.5
9.9
11.4
10.5
11.9
10.2
8 Pulsos
ngulo de
movimiento
14.8
14.6
13.4
14.2
13.3
14.7
15.1
16.4
15.3
13.7
10 Pulso
ngulo de
movimiento
17.8
14.8
16.2
19.2
16.5
15.3
17.1
18.2
14.6
16.9

Valor ideal
10.2
Promedio
11.06
Desviacin Estndar
0.92760145
Error
-0.86

Valor ideal
13.6
Promedio
14.55
Desviacin Estndar
0.94897606
Error
-0.95

Valor ideal
17
Promedio
16.66
Desviacin Estndar
1.49681143
Error
0.34

157

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resolucin mnima (-1 Pulso)


ngulo de
Articulacin Movimiento
movimiento
1
1.3 Valor ideal
2
2.4
1.7
3
1.2 Promedio
4
1.6
1.61
5
1.1 Desviacin Estndar
2
6
1.3
0.4954235
7
1.7 Error
8
2.2
0.09
9
1.1
10
2.2

-2 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
2.9
2
2.6
3
3
4
3.6
5
3.7
2
6
3.6
7
4
8
2.8
9
2.8
10
3.6

-3 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
4.9
2
5.4
3
5.4
4
5.1
5
4.9
2
6
6.2
7
5.4
8
4.9
9
4.4
10
4.9

-4 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
6.1
2
7
3
7
4
7.6
5
7.1
2
6
7.4
7
8.8
8
6.6
9
6.7
10
6.3

-5 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
7.4
2
8.6
3
8
4
9.4
5
8.2
2
6
9.2
7
9.2
8
9.5
9
9
10
10.1

Valor ideal
5.1
Promedio
5.15
Desviacin Estndar
0.4836206
Error
-0.05

Valor ideal
8.5
Promedio
8.86
Desviacin Estndar
0.80718991
Error
-0.36

-6 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
8.7
2
10.8
3
10.5
4
10.7
5
10.8
2
6
10.5
7
11.8
8
11.3
9
10.4
10
10.7

Valor ideal
3.4
Promedio
3.26
Desviacin Estndar
0.48808014
Error
0.14

Valor ideal
6.8
Promedio
7.06
Desviacin Estndar
0.76623176
Error
-0.26

Valor ideal
10.2
Promedio
10.62
Desviacin Estndar
0.79554314
Error
-0.42

158

Apndice

-7 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
10.1
2
12.1
3
12.7
4
12.7
5
12.7
2
6
12.2
7
14.3
8
12.5
9
12.1
10
13.2
-9 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
15.4
2
15.5
3
16.9
4
16.1
5
17.8
2
6
13.4
7
15.5
8
16.3
9
16.4
10
17.2

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Valor ideal
11.9
Promedio
12.46
Desviacin Estndar
1.05430335
Error
-0.56

Valor ideal
15.3
Promedio
16.05
Desviacin Estndar
1.21769363
Error
-0.75

-8 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
10.3
2
14.5
3
13.9
4
14.6
5
14.1
2
6
16
7
12.3
8
14
9
14.6
10
14.4
-10 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
13.8
2
17.3
3
17.6
4
20.7
5
13.9
2
6
18
7
20.9
8
14.5
9
14.4
10
18.5

Valor ideal
13.6
Promedio
13.87
Desviacin Estndar
1.54779413
Error
-0.27

Valor ideal
17
Promedio
16.96
Desviacin Estndar
2.6965822
Error
0.04

159

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resultados de la tercer articulacin


Resolucin mnima (1 Pulso)
ngulo de
Articulacin Movimiento
movimiento
1
1.5 Valor ideal
2
2.4
1.7
3
4.1 Promedio
4
3.5
3.28
5
4.3 Desviacin Estndar
3
6
3.3
0.8243516
7
3.2 Error
8
3.9
-1.58
9
3.4
10
3.2

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

3 Pulso
ngulo de
movimiento
5.9
4.2
6.6
5.5
5.6
7.3
4.7
3.3
5.9
4.4

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
5.1
Promedio
5.34
Desviacin Estndar
1.1974046
Error
-0.24

1
2
3
4
5
6
7
8
9
10

2 Pulso
ngulo de
movimiento
4.3
4.1
3.5
3.4
4.4
4
3.2
3.8
3.6
3.6
4 Pulso
ngulo de
movimiento
6.5
8.1
6.4
7.8
6.3
6.9
7.8
5.7
7.8
8.7

Valor ideal
3.4
Promedio
3.79
Desviacin Estndar
0.39846929
Error
-0.39

Valor ideal
6.8
Promedio
7.2
Desviacin Estndar
0.96724121
Error
-0.4

160

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

5 Pulso
ngulo de
movimiento
9.1
9.4
7.2
5.4
7.7
8
8
6.5
6.3
7.1
7 Pulsos
ngulo de
movimiento
12.4
11.6
12.5
11.3
13
11.8
13.3
11.5
13.2
14.2
9 Pulsos
ngulo de
movimiento
15.8
14.3
16.6
14.9
16.8
17.5
18.3
18.3
14.9
16.1

Articulacin Movimiento
Valor ideal
8.5
Promedio
7.47
Desviacin Estndar
1.23832324
Error
1.03

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
11.9
Promedio
12.48
Desviacin Estndar
0.94375138
Error
-0.58

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
15.3
Promedio
16.35
Desviacin Estndar
1.41283796
Error
-1.05

1
2
3
4
5
6
7
8
9
10

6 Pulsos
ngulo de
movimiento
10.4
10.1
9.4
10
10.1
10.9
10.8
11
11.2
11.9
8 Pulsos
ngulo de
movimiento
13.9
13.6
13.4
13.9
13.8
14.9
14.5
14.5
14.3
14.4
10 Pulso
ngulo de
movimiento
19.4
19
17.6
15.9
15
15.4
16.7
17.4
17.7
16.8

Valor ideal
10.2
Promedio
10.58
Desviacin Estndar
0.72080202
Error
-0.38

Valor ideal
13.6
Promedio
14.12
Desviacin Estndar
0.47093288
Error
-0.52

Valor ideal
17
Promedio
17.09
Desviacin Estndar
1.43716542
Error
-0.09

161

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resolucin mnima (-1 Pulso)


ngulo de
Articulacin Movimiento
movimiento
1
3.2 Valor ideal
2
1.2
1.7
3
1.8 Promedio
4
0.4
1.68
5
2.1 Desviacin Estndar
3
6
0.8
1.00862943
7
2.6 Error
8
0.7
0.02
9
3
10
1

-2 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
3.5
2
3.5
3
3
4
2.8
5
3
3
6
1.6
7
3.2
8
3.3
9
3.6
10
2.9

-3 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
4.2
2
5.5
3
4.3
4
3.5
5
5.6
3
6
4.2
7
3.1
8
5.7
9
3.9
10
4.6

-4 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
5.7
2
7.2
3
5.3
4
6.5
5
6.6
3
6
6.8
7
4.3
8
7.2
9
6.9
10
7

-5 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
7.9
2
9
3
7.8
4
9.2
5
7.9
3
6
9
7
10.4
8
8.8
9
9.6
10
11.1

Valor ideal
5.1
Promedio
4.46
Desviacin Estndar
0.89343283
Error
0.64

Valor ideal
8.5
Promedio
9.07
Desviacin Estndar
1.08632919
Error
-0.57

-6 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
11.4
2
12.8
3
10.9
4
10.2
5
11
3
6
9.9
7
10.4
8
10.3
9
10.3
10
10.3

Valor ideal
3.4
Promedio
3.04
Desviacin Estndar
0.57580861
Error
0.36

Valor ideal
6.8
Promedio
6.35
Desviacin Estndar
0.95364797
Error
0.45

Valor ideal
10.2
Promedio
10.75
Desviacin Estndar
0.84754548
Error
-0.55

162

Apndice

-7 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
10.7
2
17.9
3
11.4
4
11.6
5
15.9
3
6
13.1
7
13.4
8
14
9
14
10
13.1
-9 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
15.9
2
19.1
3
17.5
4
18.9
5
16
3
6
15.1
7
15.6
8
17.5
9
18.2
10
16.2

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Valor ideal
11.9
Promedio
13.51
Desviacin Estndar
2.15532931
Error
-1.61

Valor ideal
15.3
Promedio
17
Desviacin Estndar
1.42906341
Error
-1.7

-8 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
12.2
2
17.6
3
15.5
4
15.8
5
14.7
3
6
14.4
7
16.1
8
14.6
9
13.9
10
14
-10 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
15
2
13.4
3
15.6
4
17.3
5
18.2
3
6
17.5
7
13.8
8
17
9
16.3
10
19.3

Valor ideal
13.6
Promedio
14.88
Desviacin Estndar
1.4672726
Error
-1.28

Valor ideal
17
Promedio
16.8666667
Desviacin Estndar
2.11459574
Error
0.13333333

163

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resultados de la cuarta articulacin


Resolucin mnima (1 Pulso)
ngulo de
Articulacin Movimiento
movimiento
1
3.2 Valor ideal
2
3.4
1.7
3
3 Promedio
4
2.9
2.07
5
1 Desviacin Estndar
4
6
2.2
0.97530622
7
1 Error
8
1.4
-0.37
9
1.4
10
1.2

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

3 Pulsos
ngulo de
movimiento
5.9
6.1
5
6.5
6.6
6.5
5.3
3.7
5.5
4.5

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
5.1
Promedio
5.56
Desviacin Estndar
0.95591724
Error
-0.46

1
2
3
4
5
6
7
8
9
10

2 Pulsos
ngulo de
movimiento
3.5
3.4
2.7
2.8
3.5
2
2.2
4.1
5.3
4.4
4 Pulsos
ngulo de
movimiento
7.3
8
6.1
8.3
8.2
8.2
9.1
8.3
7.4
7

Valor ideal
3.4
Promedio
3.39
Desviacin Estndar
1.02029408
Error
0.01

Valor ideal
6.8
Promedio
7.79
Desviacin Estndar
0.84911719
Error
-0.99

164

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento

1
2
3
4
5
6
7
8
9
10

5 Pulsos
ngulo de
movimiento
9.8
7.6
9.2
9.4
10.4
10.6
10.6
11.4
6.7
10.1
7 Pulsos
ngulo de
movimiento
14.1
10.9
11.8
11.1
13.5
11.9
10.4
13.7
10.2
11.5
9 Pulsos
ngulo de
movimiento
16.6
13.1
16.9
14.3
15.8
16.4
14.9
16.3
15.7
16.8

Articulacin Movimiento
Valor ideal
8.5
Promedio
9.58
Desviacin Estndar
1.44437607
Error
-1.08

1
2
3
4
5
6
7
8
9
10

Articulacin Movimiento
Valor ideal
11.9
Promedio
11.91
Desviacin Estndar
1.39797473
Error
-0.01

Valor ideal
15.3
Promedio
15.68
Desviacin Estndar
1.23270254
Error
-0.38

1
2
3
4
5
6
7
8
9
10

6 Pulsos
ngulo de
movimiento
9.4
10.7
11.9
9.1
10.4
11.1
9.6
10.9
10.1
9.1
8 Pulsos
ngulo de
movimiento
13.1
14.9
12.9
13.7
12.2
13.7
14.5
12.1
13.8
14.7

10 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
16.6
2
14.6
3
18.8
4
17.8
5
19.6
4
6
19
7
16.7
8
16.8
9
18.9
10
18.6

Valor ideal
10.2
Promedio
10.23
Desviacin Estndar
0.93695725
Error
-0.03

Valor ideal
13.6
Promedio
13.56
Desviacin Estndar
0.98341808
Error
0.04

Valor ideal
17
Promedio
17.74
Desviacin Estndar
1.54142791
Error
-0.74

165

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resolucin mnima (-1 Pulso)


ngulo de
Articulacin Movimiento
movimiento
1
1.5 Valor ideal
2
2.1
1.7
3
1.6 Promedio
4
1.9
1.74
5
1.6 Desviacin Estndar
4
6
1.9
0.20655911
7
1.6 Error
8
1.5
-0.04
9
1.8
10
1.9

-2 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
3.9
2
3.6
3
3.4
4
2
5
3.6
4
6
3
7
3.4
8
3.6
9
3.3
10
3.8

-3 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
5.7
2
5.3
3
3.5
4
4.8
5
4.4
4
6
5.5
7
5.5
8
5.2
9
5.6
10
4.5

-4 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
7.4
2
7.7
3
6.7
4
7
5
7.2
4
6
5.5
7
6.7
8
7.5
9
6.5
10
7.6

-5 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
8.9
2
8.4
3
9.8
4
9.7
5
8.3
4
6
8.8
7
9.6
8
8.7
9
8
10
7.7

Valor ideal
5.1
Promedio
5
Desviacin Estndar
0.69761499
Error
0.1

Valor ideal
8.5
Promedio
8.79
Desviacin Estndar
0.72487547
Error
-0.29

-6 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
10.4
2
9.4
3
11.1
4
10.5
5
9.9
4
6
10.9
7
10.1
8
9.4
9
11.5
10
10.4

Valor ideal
3.4
Promedio
3.36
Desviacin Estndar
0.54201271
Error
0.04

Valor ideal
6.8
Promedio
6.98
Desviacin Estndar
0.66466366
Error
-0.18

Valor ideal
10.2
Promedio
10.36
Desviacin Estndar
0.68992753
Error
-0.16

166

Apndice

-7 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
11.1
2
13.2
3
12.7
4
11.8
5
11.5
4
6
12.7
7
10.9
8
11.6
9
12.1
10
13.2
-9 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
16.4
2
15.1
3
14.9
4
16.1
5
15.5
4
6
14.3
7
16.9
8
14.2
9
16.9
10
15.1

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Valor ideal
11.9
Promedio
12.08
Desviacin Estndar
0.83506487
Error
-0.18

Valor ideal
15.3
Promedio
15.54
Desviacin Estndar
0.99353466
Error
-0.24

-8 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
12.7
2
14.7
3
13.5
4
13.9
5
14.9
4
6
11.9
7
12.6
8
13.8
9
12.5
10
13.7
-10 Pulsos
ngulo de
Articulacin Movimiento
movimiento
1
16.6
2
14.7
3
15.5
4
19
5
16.6
4
6
16.8
7
17.6
8
16.1
9
18.2
10
17.3

Valor ideal
13.6
Promedio
13.42
Desviacin Estndar
0.97956907
Error
0.18

Valor ideal
17
Promedio
16.84
Desviacin Estndar
1.26244912
Error
0.16

167

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 9 Tablas de resultados de experimentos de exactitud


Resultados de la Base
Direccin: Derecha
Destino Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5
5
4.9
4.8
5
4.9
4.8
10
9.2
9.9
10
10.1
9.9
15
15.2
15
15.5
14.9
15.2
20
20.2
21.1
20
19.4
20.4
25
24.1
25.6
25.8
25.7
24.8
30
31.2
27.4
30.8
30.9
30.9
40
41.1
41
41.5
41.6
41.2
50
50.2
49.8
50
50.3
48.3
60
60.2
58.9
60.6
58.8
60.5
70
70.6
70.5
70.8
69.5
70.9

Movimiento Error
Desviacin
promedio
Promedio Estndar
4.88
0.12 0.083666003
9.82
0.18 0.356370594
15.16
-0.16 0.230217289
20.22
-0.22 0.618061486
25.2
-0.2 0.731436942
30.24
-0.24 1.594678651
41.28
-1.28 0.258843582
49.72
0.28
0.81670068
59.8
0.2 0.880340843
70.46
-0.46 0.559464029

Direccin: Izquierda
Destino Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5
-5
-5.2
-4.8
-5.2
-5.9
-5
-10
-10.1
-11.1
-11.1
-10.3
-10.9
-15
-15.5
-15.8
-15.4
-15.9
-15.6
-20
-20.9
-20.9
-21.1
-21.2
-21.2
-25
-25.8
-26.2
-26.1
-26.1
-27.3
-30
-31.8
-31.5
-31.2
-31.3
-32.8
-40
-41.7
-43.8
-43.1
-42.1
-43.8
-50
-50.9
-52
-49.7
-52.8
-50.9
-60
-61.2
-60.9
-60.9
-60
-62.5
-70
-69.8
-71.1
-72.3
-72.9
-73

Movimiento Error
Desviacin
promedio
Promedio Estndar
-5.22
0.22 0.414728827
-10.7
0.7 0.469041576
-15.64
0.64 0.207364414
-21.06
1.06 0.151657509
-26.3
1.3 0.578791845
-31.72
1.72 0.645755372
-42.9
2.9
0.96695398
-51.26
1.26
1.18448301
-61.1
1.1 0.902773504
-71.82
1.82 1.359043781

168

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resultados de la segunda articulacin


Direccin: Abajo
Destino Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5
5
3.6
2.3
2.5
2.7
1.8
10
10.4
10.5
10.1
10
10.5
15
15.8
16.4
15.7
16.2
15.7
20
20.8
20.9
20.8
20.7
20.9
25
26.7
26.6
24.4
27.2
26.5
30
31.2
31.2
31.1
31.2
31.3
40
42.1
41.7
41.8
41.8
42.1
50
51.1
51.4
51.5
52.4
51.3
60
62
61.8
62.3
61.9
62
70
72.9
70.7
69.3
70.8
73.3
80
83.6
83.5
83.3
81
84.2
90
91.7
90.8
93.5
93.8
91.6

Movimiento Error
Desviacin
promedio
Promedio Estndar
2.58
2.42
0.66105976
10.3
-0.3
0.23452079
15.96
-0.96
0.32093613
20.82
-0.82
0.083666
26.28
-1.28
1.08489631
31.2
-1.2
0.07071068
41.9
-1.9
0.18708287
51.54
-1.54
0.50299105
62
-2
0.18708287
71.4
-1.4
1.6673332
83.12
-3.12
1.23166554
92.28
-2.28
1.30268953

Direccin: Arriba
Movimiento Error
Desviacin
Destino Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5 promedio
Promedio Estndar
85
85.6
85.4
85.6
85.1
86.3
85.6
-0.6
0.44158804
80
80.2
80.4
80.4
79.9
80.7
80.32
-0.32
0.29495762
75
76.1
74.3
76.4
74.9
74.9
75.32
-0.32
0.88994382
70
71.4
70.3
71.7
70.5
73.3
71.44
-1.44
1.19498954
65
66.8
67.1
67.1
63.8
65.1
65.98
-0.98
1.47546603
60
60.4
60.2
58.4
58.1
60.5
59.52
0.48
1.16918775
50
49.7
49.8
49.9
49.7
49.9
49.8
0.2
0.1
40
38.8
39.8
40.2
42.1
38.9
39.96
0.04
1.33529023
30
27.7
28.1
31.3
30.5
27.9
29.1
0.9
1.67332005
20
17
17.3
17.3
17.6
15.6
16.96
3.04
0.78930349
10
7.1
9.6
4.9
6.9
7.1
7.12
2.88
1.66793285

169

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resultados de la tercer articulacin


Direccin: Abajo
Movimiento
Error
Desviacin
Destino
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
promedio
Promedio
Estndar
125
125.4
125.6
125.5
125.3
125.7
125.5
-0.5
0.15811388
120
120.6
121.6
117.8
120.9
120.9
120.36
-0.36
1.47749788
115
112.2
112.2
116.5
111.1
111.7
112.74
2.26
2.15011628
110
107.9
104.1
108.1
107.8
108.3
107.24
2.76
1.76578594
105
105
106.3
102.1
102.4
102.5
103.66
1.34
1.87962762
100
98.4
98.4
98.1
98.3
97.8
98.2
1.8
0.25495098
95
92.4
92.7
91.8
92.4
91.4
92.14
2.86
0.52725705
90
87.5
87.8
87.6
87.4
87.6
87.58
2.42
0.14832397
80
81.5
77
78.5
78.3
78.4
78.74
1.26
1.65921668
70
67.7
68.4
70.4
70.4
68.4
69.06
0.94
1.2561847
60
57.6
57.5
57.3
57.6
57.8
57.56
2.44
0.18165902
50
47.2
49.5
44.3
43.5
49.2
46.74
3.26
2.75372475
40
36.8
37
40.1
37.2
36.2
37.46
2.54
1.52249795
30
29.3
30.2
26.8
33.1
28.9
29.66
0.34
2.29194241
20
18.8
19.9
16.6
15.8
16.4
17.5
2.5
1.75783958
10
8.5
4.6
8.4
4.9
6
6.48
3.52
1.87269859
0
-1
1.5
0
-1
0.2
-0.06
0.06
1.03344085

Direccin: Arriba
Destino
5
10
15
20
25
30
40
50
60
70
80
90
100
110
120
130

Movimiento
Error
Desviacin
Prueba 1
Prueba 2
Prueba 3
Prueba 4
Prueba 5
promedio
Promedio
Estndar
5.7
5.1
5
5.8
5.7
5.46
-0.46
0.37815341
10.4
10.2
10.3
10.4
10.3
10.32
-0.32
0.083666
15.8
16.2
15.9
16.1
16.3
16.06
-1.06
0.20736441
20.2
20.1
20
19.3
20.2
19.96
0.04
0.37815341
25.9
25.8
26.1
25.9
25.8
25.9
-0.9
0.12247449
30.5
30.7
30.9
29.5
30.6
30.44
-0.44
0.54589376
40.1
41.2
40.9
40.8
41.1
40.82
-0.82
0.43243497
47.1
49.8
47.8
46.5
47.8
47.8
2.2
1.24298029
58.5
57.3
62.1
60.9
64.3
60.62
-0.62
2.79857106
71.6
68.1
71.2
71.6
65.7
69.64
0.36
2.6463182
78.4
72.7
82.5
82.2
79.8
79.12
0.88
3.97202719
90.6
92.7
90.8
93.4
93.2
92.14
-2.14
1.34089522
101.6
101.8
100.4
101.2
100.4
101.08
-1.08
0.65726707
112.8
107.4
112.4
111.8
115.1
111.9
-1.9
2.80891438
123.6
119.7
119.2
126.7
122.7
122.38
-2.38
3.06382114
131.7
139.3
139.5
139.3
133.4
136.64
-6.64
3.7825917

170

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resultados de la tercer articulacin


Direccin: Abajo
Movimiento Error
Desviacin
Destino Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5 promedio
Promedio Estndar
125
125.4
125.6
125.5
125.3
125.7
125.5
-0.5
0.15811388
120
120.6
121.6
117.8
120.9
120.9
120.36
-0.36
1.47749788
115
112.2
112.2
116.5
111.1
111.7
112.74
2.26
2.15011628
110
107.9
104.1
108.1
107.8
108.3
107.24
2.76
1.76578594
105
105
106.3
102.1
102.4
102.5
103.66
1.34
1.87962762
100
98.4
98.4
98.1
98.3
97.8
98.2
1.8
0.25495098
95
92.4
92.7
91.8
92.4
91.4
92.14
2.86
0.52725705
90
87.5
87.8
87.6
87.4
87.6
87.58
2.42
0.14832397
80
81.5
77
78.5
78.3
78.4
78.74
1.26
1.65921668
70
67.7
68.4
70.4
70.4
68.4
69.06
0.94
1.2561847
60
57.6
57.5
57.3
57.6
57.8
57.56
2.44
0.18165902
50
47.2
49.5
44.3
43.5
49.2
46.74
3.26
2.75372475
40
36.8
37
40.1
37.2
36.2
37.46
2.54
1.52249795
30
29.3
30.2
26.8
33.1
28.9
29.66
0.34
2.29194241
20
18.8
19.9
16.6
15.8
16.4
17.5
2.5
1.75783958
10
8.5
4.6
8.4
4.9
6
6.48
3.52
1.87269859
0
-1
1.5
0
-1
0.2
-0.06
0.06
1.03344085

Direccin: Arriba
Destino
5
10
15
20
25
30
40
50
60
70
80
90
100
110
120
130

Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5


5.7
5.1
5
5.8
5.7
10.4
10.2
10.3
10.4
10.3
15.8
16.2
15.9
16.1
16.3
20.2
20.1
20
19.3
20.2
25.9
25.8
26.1
25.9
25.8
30.5
30.7
30.9
29.5
30.6
40.1
41.2
40.9
40.8
41.1
47.1
49.8
47.8
46.5
47.8
58.5
57.3
62.1
60.9
64.3
71.6
68.1
71.2
71.6
65.7
78.4
72.7
82.5
82.2
79.8
90.6
92.7
90.8
93.4
93.2
101.6
101.8
100.4
101.2
100.4
112.8
107.4
112.4
111.8
115.1
123.6
119.7
119.2
126.7
122.7
131.7
139.3
139.5
139.3
133.4

Movimiento Error
Desviacin
promedio
Promedio Estndar
5.46
-0.46
0.37815341
10.32
-0.32
0.083666
16.06
-1.06
0.20736441
19.96
0.04
0.37815341
25.9
-0.9
0.12247449
30.44
-0.44
0.54589376
40.82
-0.82
0.43243497
47.8
2.2
1.24298029
60.62
-0.62
2.79857106
69.64
0.36
2.6463182
79.12
0.88
3.97202719
92.14
-2.14
1.34089522
101.08
-1.08
0.65726707
111.9
-1.9
2.80891438
122.38
-2.38
3.06382114
136.64
-6.64
3.7825917

171

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Resultados de la cuarta articulacin


Direccin: Abajo
Destino
5
10
15
20
25
30
40
50
60
70
80
90
100
110
115

Movimiento Error
Desviacin
Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5 promedio
Promedio Estndar
2.9
2.1
2.5
2.4
2.7
2.52
2.48
0.30331502
8.2
7.9
7.6
7.6
8.1
7.88
2.12
0.27748874
12.7
12.4
11.7
13
12.4
12.44
2.56
0.48270074
19.3
19.9
20.4
19.8
19
19.68
0.32
0.54497706
23.9
25.1
24.3
25.5
25.8
24.92
0.08
0.80124902
30.7
31.4
29.5
31.5
28.5
30.32
-0.32
1.29305839
39.2
40.3
40.4
40.6
40.7
40.24
-0.24
0.60249481
48.5
48.1
46.2
48.8
49
48.12
1.88
1.12561095
59.2
54.2
58.3
54.6
54.7
56.2
3.8
2.35690475
68.7
68.9
65.1
67.1
70.7
68.1
1.9
2.10713075
74.1
78.5
78.4
78.5
78.3
77.56
2.44
1.93597521
87.4
87.3
88.8
89
89.1
88.32
1.68
0.89274856
100.9
99.4
98.1
99.8
94.2
98.48
1.52
2.59364608
108.9
109.3
109.1
112.3
110.9
110.1
-0.1
1.46287388
-2.8422E114.9
116.5
116.7
115.9
111
115
15
2.3430749

Direccin: Arriba
Movimiento Error
Desviacin
Destino Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5 promedio
Promedio Estndar
110
113.2
113.1
109.7
109.8
113.9
111.94
-1.94
2.02311641
105
108.4
107.2
104.3
106.3
108.7
106.98
-1.98
1.7796067
100
99.4
99.7
98.1
103.8
101.9
100.58
-0.58
2.25986725
95
93.3
97.2
94.7
96.9
93.3
95.08
-0.08
1.88997354
90
91.3
91.2
89.3
90.8
92.7
91.06
-1.06
1.21778487
80
82
82.1
78.2
80
82.3
80.92
-0.92
1.78241409
70
69.1
65.7
69.1
69.6
71.2
68.94
1.06
2.00574176
60
58.5
58.7
58.3
60.7
60.6
59.36
0.64
1.18659176
50
55.5
47.5
49.8
51.1
51.1
51
-1
2.91376046
40
38.7
38.3
40.1
36.6
38.8
38.5
1.5
1.25896783
30
27.1
29.8
31.7
26.2
30.1
28.98
1.02
2.26870007
20
18.1
21.3
19.3
16.9
18.5
18.82
1.18
1.63462534
10
5.2
7.3
10.3
7.3
12.8
8.58
1.42
2.97775083
0
1.2
0.3
0.1
0.9
2.7
1.04
-1.04
1.02859127

172

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 10.- Circuito Parallax acelermetro


El Memsic 2125 es un acelermetro trmico de dos ejes como se muestra en la Figura A
10.1. El Memsic 2125 es capaz de medir aceleracin dinmica (vibracin) y aceleracin esttica
(gravedad) con un rango de 3 g.

Figura A 10.1.- Representacin grfica de los ejes de rotacin del Memsic 2125.

El funcionamiento del Memsic 2125 se basa en una burbuja de gas y un elemento de


calefaccin en el centro y cuatro sensores de temperatura alrededor. Cuando el acelermetro esta
en nivel, la burbuja de gas caliente se posiciona en el centro y los sensores miden la misma
temperatura. Si el acelermetro se encuentra a desnivel, los sensores de temperatura tendrn
medidas diferentes. En la Figura A 10.2 se observa una representacin grfica del funcionamiento
interno del Memsic 2125. El Memsic convierte las mediciones de temperatura en seales
(duraciones de pulsos) las cuales un microcontrolador fcilmente mide y descifra.

Figura A 10.2.- Funcionamiento interno del Memsic 2125 en nivel (izquierda) y a desnivel (derecha).

Cada eje de rotacin genera de un pulso de onda cuadrada de 100 MHz cuya aceleracin
es proporcional a la relacin tHx/Tx, por lo tanto resultados consistentes y confiables pueden
173

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

lograrse midiendo slo la duracin de tHx. La figura A 10.3 representa el pulso cuadrado generado
por una de las salidas del Memsic 2125.

Figura A 10.3 Pulso cuadrado generado por las salidas del Memsic 2125. La variable Tx representa la duracin del
periodo completo, tHx representa la duracin alta del pulso mientras que la variable tLx es la parte baja del pulso.

Para el caso de tener un voltaje de alimentacin de 5 V, si el pulso alto tHx representa el


50% del periodo Tx entonces esto corresponde a una gravedad de 0 g o lo que es lo mismo esta
nivelado. Para este caso en especfico el fabricante maneja un rango de tolerancia de entre 48.7%
y 51.3%, este rango puede variar segn el voltaje de alimentacin.

Figura A 10.4.- Descripcin y diagrama de las terminales del Memsic 2125.

Para detectar y medir dichos pulsos el Memsic 2125 fue conectado utilizando el diagrama
de la Figura A 10.4 para identificar las terminales de dicho dispositivo a un microcontrolador
P8X32A contenido en la tarjeta QuickStart de Parallax, dicha tarjeta se puede observar en la Figura
A 10.5.

174

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura A 10.5.- Tarjeta Propeller QuickStart (#40000).

La tarjeta Parallax QuickStart contiene un microcontrolador P8X32A, contiene 32


terminales de entrada/salida, ocho botones resistivos y ocho LEDs, puede ser alimentada desde
3.3 VCD hasta 9 VCD y se comunica va USB. La conexin entre ambas tarjetas se puede observar
en la Figura A 10.6.

Figura A 10.6.- Diagrama de conexiones del Memsic 2125 en Propeller QuickStart en protoboard.

Debido al tamao y el peso del protoboard, el Memsic 2125 fue insertado en una tarjeta
perforada con una base para C.I. para facilitar la insercin del Memsic 2125. Las terminales de
alimentacin y datos fueron extendidas mediante un cable plano, el cual fue conectado al
microcontrolador de la misma manera que se observa en la Figura A 10.6. La tarjeta resultante se
observa en la Figura A 10.7 mientras que la conexin de las dos tarjetas se observa en la Figura A
10.8.

175

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

Figura A 10.7.- Tarjeta con Memsic 2126 montado y cables de extensin.

Figura A 10.8.- Conexin de la tarjeta con Memsic 2125 y la Propeller QuickStart.

Para medir los diferentes puntos de rotacin del OWI-535 la tarjeta con el Memsic 2125 se
instal en las articulaciones dos y tres, ubicado del lado derecho para evitar ser obstaculizado por
el cableado del OWI-535 modificado mientras que para medir el ngulo de rotacin de la
articulacin cuatro se sostuvo la tarjeta con la pinza, cuidando que esta sostuviera la tarjeta en
una posicin nivelada. Para los dos primeros casos, la tarjeta se adhiri al cuerpo del OWI-535 con
la ayuda de silicn caliente. En las Figuras A 10.9a y A 10.9b podemos observar la instalacin de la
tarjeta del Memsic 2125 en el OWI-535 y en la Figura 10.9c se encuentra como fue sostenida por
la pinza.

176

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

a)

b)

c)

Figura A 10.9.- Ubicacin de la tarjeta del Memsic 2125 en el OWI-535. a) Memsic 2125 instalado para medir
movimiento angular de la segunda articulacin. b) Memsic 2125 instalado para medir movimiento angular de la
tercera articulacin. c) Memsic 2125 instalado para medir movimiento angular de la cuarta articulacin.

Teniendo en cuenta la posicin de la tarjeta del Memsic 2125, fue necesario emplear un
firmware para sensar el ngulo de rotacin en posicin vertical, dicho firmware viene contenido
como firmware de prueba para dicho sensor en el software programador de Parallax SimpleIDE
con el nombre de Test 2125 Rotation.c.
SimpleIDE tiene la capacidad de interpretar cdigo en lenguaje de programacin C,
compilarlo y grabarlo en el microcontrolador. Debido a que la comunicacin se realiza mediante
USB, fue posible observar los resultados en la consola del mismo programa SimpleIDE como se
observa en la Figura A 10.10.

Figura A 10.10.- Resultado desplegado en consola de la interfaz del software SimpleIDE.

177

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R

A 11.- Resultados de experimento final de posicionamiento


Negativos
x
0
0
0
5
5
5
10
10
10
10
15
15
15
15
15
15
20
20
20
20
20
25
25
25
25
0
0
5
5
10
10
10
15
15
15
15
20
20
20
20
20
25
25
25
25

Patrn
y
15
20
25
15
20
25
10
15
20
25
0
5
10
15
20
25
0
5
10
15
20
0
5
10
15
20
25
20
25
15
20
25
10
15
20
25
0
5
10
15
20
0
5
10
15

z
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

x
0
0
0
5.1
5.3
5.4
11.6
11.4
9.9
11.9
17.8
15.2
16.5
17
15.2
13.9
18.9
20.1
21.5
22.5
17.5
25.7
25.6
26.5
27.2
0
0
4.4
6.7
12
8.7
9
16.7
16.8
15
14.5
21.9
19.9
21.7
21.7
22.1
25.6
25.4
24.47
24.1

Medido
y
15.4
22.4
25.1
15.9
18.9
24.2
9.5
14.9
19.6
26.2
0
5.3
8.3
16.4
22.6
26.5
0
4.3
6.5
12.7
21.5
0
3.9
8.3
13.3
21.5
24.9
19.9
23.5
13.9
20.1
24.8
10
11.9
19.5
24.2
0
4.9
8.4
10.6
14.6
0
3
8
12.6

z
1.1
0.6
0.5
1.3
0.15
0.5
0
1.4
0.5
4.7
1.7
0
0.4
3.3
2.6
1.7
0
0
0
2.3
1
1.5
2.6
5.7
5.1
6.7
7.2
5.6
5.4
4.6
6.9
7.2
6.7
5.8
5.9
7.3
5.6
4.5
4.4
6.9
8.7
6.1
5.9
6.1
7.3

178

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
Negativos

x
0
0
5
5
10
10
15
15
15
20
20
20
20
20
25
25
25
25
0
0
5
5
10
10
15
15
15
20
20
20
20
20
25
25
25
25
0
0
5
5
10
10
15
15
15

Patrn
y
20
25
20
25
20
25
15
20
25
0
5
10
15
20
0
5
10
15
20
25
20
25
20
25
15
20
25
0
5
10
15
20
0
5
10
15
20
25
20
25
15
20
10
15
20

z
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
20
20
20
20
20
20
20
20
20

x
0
0
5.7
5.5
10.2
10
16.5
12.5
13
19
19.9
20.7
20.4
21.5
22.9
24.7
24.5
24.6
0
0
5.1
5.9
9.9
8.6
16.9
14
11.8
20
20.4
20.7
12.7
21.9
24.4
25.3
24.6
24.3
0
0
4.6
3.8
8.7
7.5
14.4
14.6
11.9

Medido
y
19.7
24.3
18.4
22.6
19.8
23.2
12.5
19.7
25
0
4
6.7
12.2
16.3
0
1.7
7.5
12.2
19.8
24.5
19.7
24.4
19.4
24.2
12.6
19.4
24.8
0
2.8
8.1
21.1
16.4
0
2.4
7.1
12.5
18.9
24.3
19.4
23.2
14.3
18.3
11.4
13.5
21.1

z
10.4
8.8
10.2
9.8
10.5
12.7
9.9
12.1
7.5
10.5
10.9
10.8
12.1
12.5
10.9
9
9.4
12.6
14.6
15.2
15.2
13.7
13.8
16.1
16.9
14.7
17.4
14.3
12.7
14.6
13.8
16.1
17.7
13.2
14.7
16.5
19.4
18.4
18.9
18.5
19.6
19.1
19.7
21.3
20.8

179

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
Negativos

x
20
20
20
20
20
0
0
5
5
10
10
15
15
15
15
20
20
20
20

Patrn
y
0
5
10
15
20
20
25
20
25
15
20
5
10
15
20
0
5
10
15

z
20
20
20
20
20
25
25
25
25
25
25
25
25
25
25
25
25
25
25

x
19.9
20.3
20.1
20.5
19.6
0
0
4.8
4.2
10.3
9.1
16.4
14.9
16.4
15.9
18.6
20.2
19.1
20

Medido
y
0
3.6
9
13.6
17.3
19.6
23.1
20
23.6
16.1
19.6
4.8
8.6
14.6
19.3
0
5.4
9.7
13.3

z
21.4
20.7
16.8
17.5
22.4
23.4
22.2
24.3
27.2
23.3
24.8
24.3
26.4
23.2
25.9
27.2
25.1
24.2
26.4

Positivos
x
5
5
5
10
10
10
10
15
15
15
15
15
15
20
20
20
20
20
25
25
25
25
5
5

Patrn
y
15
20
25
10
15
20
25
0
5
10
15
20
25
0
5
10
15
20
0
5
10
15
20
25

z
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5

x
4.9
6
5.4
10.3
11.5
10.2
12.4
16.8
14.8
17.1
16.8
15.4
14.7
19.2
19.8
19.4
21.8
19.3
25.1
24.3
27.2
28
5.4
6.4

Medido
y
15.4
20.3
23.8
9.3
15.2
20.4
25.2
0.5
2.8
9.7
15.9
21.8
26.1
0.7
4.1
7.7
12.8
20.4
0.7
4.5
8.1
14.8
20.1
24.3

z
1.2
1.4
0.8
0.2
0.7
1.4
1.1
1.9
1.7
0.8
2.4
0.7
1.3
0.3
0.6
1.2
1.7
0.4
1.1
2.8
4.8
4.2
4.8
5.7

180

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
Positivos

x
10
10
10
15
15
15
15
20
20
20
20
20
25
25
25
25
5
5
10
10
15
15
15
20
20
20
20
20
25
25
25
25
5
5
10
10
15
15
15
20
20
20
20
20

Patrn
y
15
20
25
10
15
20
25
0
5
10
15
20
0
5
10
15
20
25
20
25
15
20
25
0
5
10
15
20
0
5
10
15
20
25
20
25
15
20
25
0
5
10
15
20

z
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
15
15
15
15
15
15
15
15
15
15
15
15

x
11.4
9.2
10.1
15.2
16.4
14.2
15.5
21.2
20.1
20.8
21.6
21.5
24.7
25.1
24.7
23.7
5.5
5.1
10.5
11.7
16.7
11.8
12.4
19.3
19.9
21.7
20.7
22
22.4
24.7
24.1
24.8
5.8
5.3
10.2
8.7
16.4
14.5
11.4
20.4
20.5
20.4
21.1
20.9

Medido
y
14.8
20.4
25.9
10.7
12.5
20.4
24.1
0.7
5.3
9.7
12.5
13.8
0.1
4.4
9.1
13.4
19.1
23.8
19.7
24.1
12.4
20.6
24.7
0
4.3
6.2
13.1
17.9
1.4
4.7
8.2
14.1
20.4
24.8
19.1
24.6
13
19.2
24.6
0
3.7
9.7
12.1
17.1

z
4.5
6.2
6.4
6.3
6.3
5.7
5.9
5.3
5.7
6.1
5.8
6.9
6.2
6.5
5.9
6.8
11.2
9.6
9.7
11.8
10.2
11.5
8.2
10.9
11.2
10.2
12.3
11.7
9.4
11.2
12.1
11
16.1
13.4
14.2
15.4
15.9
14.4
16.7
14.9
13.1
13.7
14.8
15.6

181

Apndice

Diseo e Implementacin de un Sistema de Control para un


Manipulador robtico Educativo de 4 Grados de Libertad tipo RRR.R
Positivos

x
25
25
25
25
5
5
10
10
15
15
15
20
20
20
20
20
5
5
10
10
15
15
15
15
20
20
20
20
20

Patrn
y
0
5
10
15
20
25
15
20
10
15
20
0
5
10
15
20
20
25
15
20
5
10
15
20
0
5
10
15
15

z
15
15
15
15
20
20
20
20
20
20
20
20
20
20
20
20
25
25
25
25
25
25
25
25
25
25
25
25
25

x
25.1
24.7
24.8
25.2
5.7
6.4
9.4
8.4
14.9
15.6
13.4
20.4
20.8
21.7
20.1
19.9
5.2
4.1
10.5
10.1
15.8
15.3
16.1
15.7
18.4
20.6
19.7
19.7
19.7

Medido
y
0
3.1
7.4
13.1
19.4
23.7
14.7
18.2
10.5
14.1
20.5
0
4.2
10.7
13.5
17.6
19.4
23.1
15.7
18.8
4.7
9
15.6
19.6
1.5
5.1
9.1
14.3
14.3

z
17.6
13.1
14.8
16.8
18.8
18.1
21.1
18.7
18.9
20.4
17.1
21.1
20.5
17.4
17.3
21.4
24.1
26.4
24.1
24.9
24.3
25.7
23.2
26.2
26.4
25.5
24.3
24
24

182

Anda mungkin juga menyukai