Technology & Engineering > Robotics">
Diseño e Implementacion de Un Brazo Robotico Controlado Por Sensores Incorporadis
Diseño e Implementacion de Un Brazo Robotico Controlado Por Sensores Incorporadis
Diseño e Implementacion de Un Brazo Robotico Controlado Por Sensores Incorporadis
Yo, Alex Fabricio Oña Ñacata, declaro bajo juramento que el trabajo aquí descrito
es de mi autoría; que no ha sido previamente presentada para ningún grado o
calificación profesional; y, que he consultado las referencias bibliográficas que se
incluyen en este documento.
______________________
Certifico que el presente trabajo fue desarrollado por Alex Fabricio Oña Ñacata,
bajo mi supervisión.
________________________
________________________
A mi amada madre quien que con su humildad y lucha constante a pesar de las
adversidades fue un gran referente en mi vida, quien me enseñó el gran valor de
las cosas pequeñas en la vida, quien me inculcó valores y tener fe en nuestro
Dios que él nos da la salud y la vida para ser mejores cada día.
CONTENIDO
RESUMEN ............................................................................................................. vi
PRESENTACIÓN ................................................................................................. viii
CAPÍTULO 1 .......................................................................................................... 1
FUNDAMENTO TEÓRICO ..................................................................................... 1
1.1 BRAZO HUMANO .............................................................................. 1
1.1.1 PARTES DE LA EXTREMIDAD SUPERIOR ............................... 1
1.1.1.1 Cintura escapular (Hombro)..................................................... 2
1.1.1.2 Brazo ....................................................................................... 2
1.1.1.3 Antebrazo ................................................................................ 2
1.1.1.4 Mano ........................................................................................ 3
1.1.2 BIOMECÁNICA DE LA EXTREMIDAD SUPERIOR [5][6][7] ........ 3
1.1.2.1 Modelo biomecánico de la extremidad superior....................... 5
1.1.2.2 Movimientos............................................................................. 6
1.1.2.2.1 Hombro .............................................................................. 6
1.1.2.2.2 Codo .................................................................................. 9
1.1.2.2.3 Muñeca ............................................................................ 11
1.2 ROBÓTICA ....................................................................................... 11
1.2.1 DEFINICIÓN [9] ......................................................................... 12
1.2.2 CLASIFICACIÓN [9] ................................................................... 12
1.3 MANIPULADOR ROBÓTICO [9][14] ................................................ 14
1.3.1 DEFINICIONES.......................................................................... 15
1.3.1.1 Eslabón [15] ........................................................................... 15
1.3.1.2 Articulación [14] [9] ................................................................ 15
1.3.1.3 Grado de libertad [16] ............................................................ 16
1.3.1.4 Volumen de trabajo [16] ......................................................... 16
1.3.1.5 Capacidad de carga [17] ........................................................ 17
1.3.1.6 Efector final [17] [14] .............................................................. 17
1.3.2 CONFIGURACIONES CINEMÁTICAS....................................... 17
1.3.2.1 Configuración cartesiana ....................................................... 17
1.3.2.2 Configuración cilíndrica ......................................................... 18
1.3.2.3 Configuración polar o esférica ............................................... 18
1.3.2.4 Configuración angular o antropomórfica ................................ 19
1.4 SISTEMAS FUNCIONALES DE UN MANIPULADOR ...................... 19
ii
RESUMEN
Los datos enviados de los sistemas microprocesados del robot y de los brazales
al computador, están comprendidos en tramas con bytes de sincronización que
mejoran el rendimiento de la transmisión y la confiabilidad de los datos; para la
transmisión y recepción de datos hace uso de un bus serial con el estándar RS-
232 a una velocidad de 57600 baudios, valor con el cual se han obtenido buenos
resultados de control sin interferencias externas.
vii
PRESENTACIÓN
estimación del valor total invertido para el desarrollo del presente proyecto de
titulación incluyendo el valor de ingeniería.
CAPÍTULO 1
FUNDAMENTO TEÓRICO
En el presente capítulo se detallan los aspectos teóricos del proyecto, para lo cual
se hace referencia a un breve estudio relacionado al brazo humano; estudio de la
robótica enfocándose a los manipuladores robóticos; análisis de sensores y
actuadores como parte de la robótica orientándose a los utilizados en el proyecto.
En la Figura 1.1 se muestran las partes del miembro superior, con el fin de
relacionar cada término con la concepción visual que se tiene de un brazo
humano.
2
1.1.1.2 Brazo
1.1.1.3 Antebrazo
Por la parte superior del antebrazo se articula del brazo por medio de la
articulación codo (Húmero – Cubital y Húmero – Radial), y en su parte inferior se
articula con la mano por medio de la articulación de la muñeca.
1.1.1.4 Mano
En la Figura 1.2 se puede diferenciar los planos y ejes que permiten hacer una
descripción anatómica.
4
- Tórax: está definido como una estructura donde se tiene origen del
sistema articulado.
- Clavícula: se extiende desde la articulación esternoclavicular hasta la
articulación Acromioclavicular.
- Húmero: se extiende desde la articulación glenohumeral hasta la
articulación del codo.
- Antebrazo: se extiende desde la articulación del codo hasta la articulación
de la muñeca.
- Mano: es el segmento que se encuentra al final de la extremidad, y se
extiende desde la articulación de la muñeca.
1.1.2.2 Movimientos
1.1.2.2.1 Hombro
El hombro básicamente define una articulación esférica, la cual permite una gran
variedad de movimientos del húmero en el espacio, de los cuales se tienen:
El movimiento del antebrazo viene dado por el codo, el cual es determinado por
las articulaciones húmero – cubital, húmero – radial y radiocubital. Dando origen a
cuatro movimientos que se exponen a continuación:
1.1.2.2.3 Muñeca
1.2 ROBÓTICA
Figura 1.14 Robot humanoide TOPIO “TOSI Ping Pong Playing Robot” [10]
1.3.1 DEFINICIONES
accionar cada articulación del robot para efectuar una acción; el sistema de
sensores que está constituido por elementos que permiten conocer parámetros
del entorno al robot, logrando que este pueda tomar alguna acción en respuesta
de dichos parámetros; sistema de control el cual interactúa con los dos sistemas
anteriores para dar mayor confiabilidad en el funcionamiento del manipulador.
Estos sistemas han sido considerados en el desarrollo de este proyecto, por lo
cual en el desarrollo del presente trabajo se detallará cada parte constituyente de
manipulador, orientando a su aplicación en el presente proyecto.
Es un dispositivo eléctrico y/o mecánico que transforma una magnitud física (luz,
magnetismo, presión, movimiento entre otras) a un valor medible de dicha
magnitud, generalmente a una señal de naturaleza eléctrica. La señal de salida de
un sensor es siempre dependiente de las variaciones de la señal física en
tratamiento, dicha salida a su vez pasa por un sistema de acondicionamiento con
el fin de convertirla en una señal estandarizada capaz de ser adquirida y
digitalizada por un sistema microprocesado o un computador, para posteriormente
ser parte de un sistema de control. Generalmente un sensor puede estar
constituido por elementos pasivos y/o activos.
1.4.1.1.1 Potenciómetro
(1.1)
Dentro de este tipo de sensores se puede encontrar los sensores ópticos tipo
barrera y tipo reflexión; en el cual el principio de funcionamiento del tipo barrera
se basa en obstaculizar un haz de luz entre un emisor y un receptor; mientras que
en el tipo reflexión el principio de funcionamiento se basa en la reflexión de la luz
sobre un objeto, generalmente se usan sensores infrarrojos que son sensibles a
longitudes de onda inferiores a la luz visible.
El elemento emisor está constituido por un diodo emisor de luz, mientras que el
detector emplea foto detectores tales como: foto resistores, fotodiodos o
fototransistores.
carcasa. El eje de radiación por parte del emisor y el eje de reacción por parte del
detector, están perpendiculares a la cara del dispositivo. La respuesta del
fototransistor a la radiación del diodo emisor se da solo cuando un objeto con
características reflectivas está en el campo de visión del detector.
Pin1: colector.
Pin2: emisor.
Pin3: ánodo.
Pin4: cátodo.
Características:
- Salida transistor.
- Sensado de superficies sin contacto.
- Paquete compacto.
- Desenfocado para sensar de superficies difusas.
- Filtro en el sensor para luz del día.
Exceder los valores que están especificados como máximos puede dañar al
dispositivo, por lo que no es recomendable trabajar sobre estos valores. Los
valores están dados para una temperatura ambiente de TA=25°C.
24
Emisor:
Detector:
Para más detalle acerca de las características del sensor QRD1114 puede
referirse a la referencia [19].
Los sensores IMU son usados en sistemas para guiado inercial como en
aeronaves, buques, vehículos, en otros. Una aplicación de la cual se parte para el
presente proyecto radica la aplicación de un sensor IMU en la robótica para el
seguimiento de los movimientos del cuerpo humano, para lo cual se ha
considerado el sensor IMU CHR-UM6 de CH-Robotics, por su versatilidad y sus
características las cuales son detallas a continuación.
- Ángulos de Euler.
- Cuaterniones.
- Datos puros de los giroscopios, acelerómetros y magnetómetros.
- Datos ya procesados de los giroscopios, acelerómetros y magnetómetros.
- Covarianza de la estimación de actitud.
Características eléctricas:
Tabla 1.3 Características eléctricas del sensor CHR-UM6 [26]
Símbolo Parámetro Valor Unidad
Vdd Voltaje de alimentación 3.5 - 5 V
Idd Corriente de alimentación 50 - 58 mA
Top Temperatura de operación (-)40 a (+)80 °C
Largo: 27.8mm
Ancho: 35.6mm
Altura: 11.5mm
27
Desde esta perspectiva fue necesario configurar el sensor para que el envío de
datos solo se efectúe cuando se solicite los mismos mediante el envío de
comandos al sensor. Otras configuraciones que fueron necesarias están
enfocadas en la velocidad de transmisión de datos seriales, y la velocidad de
actualización de los datos del sensor. Para la realización de estas configuraciones
se hizo uso del software de interface serial de CH-Robotics disponible en [26].
Una vez que son establecidas las configuraciones pertinentes, es importante que
esta configuración sea escrita en la memoria Flash del dispositivo, esto con la
finalidad que se mantenga la configuración aun si el elemento es desconectado
de la alimentación eléctrica.
Para más detalle acerca del sensor IMU CHR-UM6 remítase a la referencia [26].
Estos elementos son aquellos que a partir de una señal de control generan las
fuerzas necesarias para animar o dar movimiento a un mecanismo o articulación.
El voltaje de alimentación de los servomotores está entre 4,8 y 6V, pero puede
variar de acuerdo al fabricante. Los servomotores constan de tres cables, donde
dos son de alimentación de voltaje, y el tercer cable es utilizado para la señal de
control codificada; estos cables están generalmente dados por colores que varían
de acuerdo al fabricante. En la Figura 1.37 se presenta el código de colores de los
servomotores empleados en el proyecto.
CAPÍTULO 2
Está constituida por una base fija donde se dispone un compartimiento para la
ubicación de un servomotor, una plataforma móvil que va directamente acoplada
33
al eje del servomotor, y cinco rodamientos tipo esfera que reducen la fricción entre
la plataforma y la base fija.
Fabricante Lynxmotion
Material Plástico ABS
Modelo BR-NS
Diámetro superior 3.688''
Diámetro inferior 3.875''
Altura 1.875''
Fabricante Lynxmotion
Material Aluminio adonizado
Modelo ASB-04 & ASB-24
34
Tabla 2.3 Especificaciones del soporte largo tipo “C” (con rodamiento).
Fabricante Lynxmotion
Material Aluminio adonizado
Modelo ASB-10
Largo 51 mm
Ancho 24 mm
Altura 57 mm
Fabricante Lynxmotion
Material Aluminio adonizado
Modelo ASB-03
Largo 51 mm
Ancho 24 mm
Altura 40 mm
36
Fabricante Lynxmotion
Material Aluminio adonizado
Modelo ASB-06
Fabricante Lynxmotion
Material LEXAN
Modelo RH-01
37
El antebrazo se acopla al brazo ensamblado por medio del eje del servomotor
empleando el rodamiento incluido en el kit para tener mayor estabilidad del
movimiento.
41
- Madera triplex de 4mm: empleado para las tapas laterales y tapa superior
de la estructura.
- Tablero de fibra de densidad media (MDF) 20mm: utilizado para la
superficie base de la estructura.
- Masilla para madera: se ha adherido masilla a la estructura para la fijación
de piezas y dar detalles a la estructura.
a)
46
b) c) d) e)
Figura 2.21 a) Estructura en proceso de pintado b) Cara frontal c) Cara
lateral derecha d) Cara posterior e) Cara lateral izquierda
2.1.4 ACOPLAMIENTO BRAZO ROBÓTICO-ESTRUCTURA SOPORTE
Los servomotores que han sido empleados para el ensamble del brazo robótico
son de tamaño estándar ya que las piezas del robot son específicamente para ese
tamaño de servomotores. Por otro lado fue considerado el torque requerido de
acuerdo a las dimensiones y peso de los eslabones, incluyendo el peso de los
47
actuadores del robot con el fin de que los servomotores tengan la capacidad para
lograr los movimientos requeridos por este proyecto. Definiendo al torque como
una fuerza que es aplicada a un brazo de palanca de forma que tienda a hacer
girar alrededor de un eje, se tiene: [29]
(2.1)
Donde la fuerza viene dado por el peso de cada eslabón, incluyendo el peso de
los actuadores inmiscuidos en dicho eslabón. El torque vendría dado por la
multiplicación del peso y la distancia de cada eslabón (ecuación 2.1).
( )
( )
( )
( )
( )
( )
Peso 45 g
4.8V 6V
Torque 4.8 Kg.cm 6.0 Kg.cm
8mA/libre y 8.8mA/libre y
Corriente 150mA/sin carga 180mA/sin carga
Velocidad 0.22sec/60° sin carga 0.18sec/60° sin carga
( )
( )
J1
SALIDA TIPO INTERRUPTOR
Q1
TIP122
R1
100
R2
10k
2
1
J2
SEÑAL PROVENIENTE DEL MICROCONTROLADOR MC1
La señal que activa el transistor es proporcionada por el PIN PB.1 del MC1. Para
ver la placa diseñada e implementada remítase al Anexo A.
El voltaje variable es medido con respecto al terminal GND del servomotor, eso
evita hacer uso de un cable adicional como referencia de dicho voltaje. Esta
técnica fue aplicada a los servomotores que corresponden a las articulaciones 3,
4, 5 y 6. En las articulaciones 1 y 2 se ha utilizado potenciómetros que fueron
acoplados a los ejes correspondientes. Tal como se describe a continuación:
Se ha medido los voltajes de cada sensor con el propósito de obtener los valores
superior e inferior, mismos que vienen dados por la posición angular máxima y
mínima del eje del servomotor (0-180°). En la Tabla 2.13 se muestran los voltajes
tanto superior e inferior de cada uno de los sensores correspondientes a las
articulaciones 3, 4, 5 y el efector final.
5 Voltios
POTENCIÓMETRO
SENSOR 1 SENSOR 2
100K
GND
La señal de voltaje obtenida de cada uno de los sensores debe ser lo más fiable y
libre de ruido eléctrico para ser digitalizada, para lo cual se ha diseñado un filtro
pasa bajos pasivo para cada sensor; este filtro atenúa el ruido de frecuencias
superiores a la frecuencia de corte dejando pasar las frecuencias bajo la
frecuencia de corte. El filtro pasivo se caracteriza por hacer uso de componentes
como: resistores, capacitores e inductores; en nuestro caso se ha diseñado un
filtro pasivo de primer orden como se muestra en la Figura 2.37 [31].
63
(2.2)
( )
( )
Para este proyecto se ha hecho uso del protocolo Mini SSC II debido a su fácil
utilización. Este protocolo trabaja a velocidades de 2400 o 9600 baudios, y para el
proyecto se optó por la velocidad de transmisión de 9600 baudios.
Para establecer una posición de un servo, se requiere enviar una secuencia de 3
bytes al controlador de servos, el primer byte es una valor fijo de 255 que permite
la sincronización (inicio de trama) en la comunicación, el segundo byte indica el
número de servo a controlar cuyo valor puede ser de 0 a 254, y el tercer byte
indica la posición del servo cuyo valor puede ser de 0 a 254.
Inicio de trama Número de servo Posición servo
255 0-254 0-254
67
El segundo byte puede generar dos tipos de movimiento, ya que dicho byte
corresponde a un numero de 0-16 servos; al direccionar los 8 primeros (0-7)
mueve al servo en un rango de 90°, mientras que si se direcciona los 8 superiores
(8-15) el rango es de 180°, puesto que en el presente proyecto se necesita un
rango angular de 180°, se direcciona los 8 superiores (8-15).
Como se mencionó anteriormente los 6 servomotores empleados pueden estar
funcionando al mismo tiempo, por lo que el consumo de corriente puede ser
considerable, desde este punto de vista se ha diseñado una placa adicional con la
finalidad de aislar la parte de potencia y la parte de control, además para proteger
la integridad del controlador de servos. Esta placa es alimentada por la salida de 5
voltios provenientes de la fuente de alimentación (V2) y las señales de control
provenientes de controlador de servos son proporcionadas por un bus de datos.
En la Figura 2.41 se muestra un diagrama de conexiones del sistema completo
para el control de los servomotores del sistema robótico.
LCD
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POT1
100%
PC.6
PC.5
PC.4
PC.3
PC.2
PC.1
CONTRASTE
- Leds indicadores
Voltaje Corriente
Tipo de Led [V] [mA]
Rojo 1.7 20
Naranja 2 20
Amarillo 2 20
Verde 2.1 20
Rojo alto brillo 1.7 20
Blanco Brillante 3.4 12
Verde Brillante 3.4 12
Azul Brillante 4.6 10
70
(2.4)
(2.5)
( )
( ) ( )
( )
( ) ( )
- Sistema de pulsadores
Para este proyecto se ha hecho uso de tres pulsadores con la finalidad de que el
sistema sea más interactivo y fácil de usar haciendo de su funcionamiento más
simplificado. Un pulsador P1 es usado para encender y apagar el funcionamiento
del sistema robótico mismo que a la vez activa la fuente de poder, un segundo
pulsador P3 se usa para enlazar el sistema robótico con el computador,
finalmente el tercer pulsador P2 se usa para ejecutar una secuencias de
movimientos predefinidos por parte del brazo robótico. El esquema eléctrico
empleado para el sistema de pulsadores se muestra en la siguiente gráfica:
72
P1
C
5V (V1) A
C P2
R C
R
R
C
D D D P3
R
I
Interrupción
Los componentes del LCD, indicadores y los pulsadores han sido ubicados en un
solo esquema (Figura 2.45) a fin de tener una tarjeta compacta, misma que se
comunicará con el sistema principal (MC1) a través de 4 buses de datos. La
tarjeta electrónica implementada es ubicada en una estructura de madera, que a
su vez fue montada en la parte superior de la estructura soporte del sistema
robótico. Cabe recalcar que la circuitería correspondiente a los pulsadores e
indicadores se encuentra en la tarjeta principal de control como se mencionará
más adelante.
73
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
P1 P2 P3
1 1 1
2
2 2 2
3 1
POT1
9
8
7
6
5
4
3
2
1
BUS DE DATOS PARA LCD
1
2
3
IND1 IND2 IND3
ON/OFF IND4 IND5 IND6 LED-BLUE LED-BLUE LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
Las características más relevantes son mostradas en la Tabla 2.18, así mismo en
la Figura 2.46 se presenta la distribución de pines correspondiente.
Se han usados adicionalmente indicadores LED de 5mm alto brillo, mismos que
han sido ubicados en la estructura soporte con el afán de dar un aspecto más
atractivo a la funcionalidad del sistema robótico.
El color de cada indicador usado para la estructura soporte está dado en la Tabla
2.19.
75
De lo explicado para evitar quemar los indicadores LED, es importante hacer uso
de una resistencia limitadora de corriente que es conectada en serie con el diodo
LED (Figura 2.43), por esa razón considerando el diseño ya expuesto se hace
uso de una resistencia limitadora de 100Ω dado que son diodos de alto brillo.
A
SISTEMA DE PULSADORES
B
1
C20 A
2
C B
3
L1
L2
L3
L4
L5
L6
L7
L8
C
R7
R8 C21
R9
C22 R11 R12 R13 R14 R15 R16 R17 R18
D1 D2 D3
R10 ON/OFF
I
1
2
INDICADORES SERIALES
8
7
6
5
4
3
2
1
INDICADORES
4
R19
3
2 U1
1
L5
1
PB0/XCK0/T0/PCINT8 PA0/ADC0/PCINT0
40 C1
2 39
L6 PB1/T1/CLKO/PCINT9 PA1/ADC1/PCINT1
3 38
I PB2/AIN0/INT2/PCINT10 PA2/ADC2/PCINT2
4 37 R20
A PB3/AIN1/OC0A/PCINT11 PA3/ADC3/PCINT3
5 36
B PB4/SS/OC0B/PCINT12 PA4/ADC4/PCINT4
6 35
C7 C PB5/MOSI/PCINT13 PA5/ADC5/PCINT5
7 34
L7 PB6/MISO/PCINT14 PA6/ADC6/PCINT6
L8
8
PB7/SCK/PCINT15 PA7/ADC7/PCINT7
33 C2
3 1uF 1 U2 14 22 1
PD0/RXD0/PCINT24 PC0/SCL/PCINT16
15 23 2 R21
PD1/TXD0/PCINT25 PC1/SDA/PCINT17
16 24 3
C1- C1+ PD2/INT0/RXD1/PCINT26 PC2/TCK/PCINT18
SENSORES DE ARTICULACIONES
1 17 25 4
BUS LCD
PD3/INT1/TXD1/PCINT27 PC3/TMS/PCINT19
2 14 11 18 26 5
T1OUT T1IN L1 PD4/OC1B/XCK1/PCINT28 PC4/TDO/PCINT20
RS232
3 13
R1IN R1OUT
12
L2
19
PD5/OC1A/PCINT29 PC5/TDI/PCINT21
27 6 C3
4 7 10 20 28 7
T2OUT T2IN L3 PD6/ICP/OC2B/PCINT30 PC6/TOSC1/PCINT22
5 8 9 21 29 8
R2IN R2OUT L4 PD7/OC2A/PCINT31 PC7/TOSC2/PCINT23 P
9 R22 1
CONN-SIL5 2 32 13 10 2
C9 VS+ AREF XTAL1
6 30 12 3
VS- AVCC XTAL2
9 CONN-SIL10 4
RESET
C2- C2+ C4 5
1uF ATMEGA164P 6
C10 L1 X1
5 C8 4 MAX232 R23
1uF
1uF
CRYSTAL
R26 R3 C5
COM_B
POWER_SC
2 C11 C12
1
R24
CONN-SIL2
C13
1
2
C18
1 C19 C6
B_R
2
GND 5V
2
1 POT
2
C14
1
1000u
El color negro del ducto ayuda a reducir interferencias provocadas por la luz del
entorno. Cada uno de los dispositivos implementados ha sido ubicado en un
brazal tipo guante, que fue confeccionado con la finalidad de alojar dichos
dispositivos. La ubicación adecuada de cada dispositivo sensor en el guante ha
78
sido analizada de tal manera que se pueda detectar un gran rango angular de los
movimientos inmiscuidos (Figura 2.50).
Dónde:
; ;
( )
R1=120Ω
( ) ( )
De igual manera las señales obtenidas de los sensores ópticos deben ser
digitalizadas con la finalidad de ser usadas por el sistema de control como
señales de punto de ajuste. Por lo se ha hecho uso del filtro diseñado en el
sistema de acondicionamiento 1 ya que también se pudo constatar pequeñas
interferencias producidas por las señales de control de los servomotores.
Voltaje de alimentación 5V
Potencia de disipación máxima 400mW
Rango de temperatura de trabajo -20 a 75°C
Corriente de alimentación 10mA
81
Dado que la variación del voltaje de los sensores ópticos está en todo el rango
del voltaje de alimentación, se ha hecho uso del pin AVCC a 5V como referencia
de voltaje para el conversor AD, y por recomendación del fabricante se utiliza un
filtro pasa bajo LC cuyos valores de L y C son 10uH y 0,1uF respectivamente,
esto con el fin de eliminar el posible ruido eléctrico. De la misma manera se ha
empleado un cristal de 8MHz, que ofrece una buena velocidad de trabajo para las
actividades que realiza el microcontrolador 2. En la Figura 2.54 se muestra el
esquemático correspondiente al sistema electrónico de brazales, donde se ha
considerado un pulsador que permite el enlace de comunicación del sistema de
brazales con el computador, y también se ha hecho uso de indicadores LED de
5mm que indican el funcionamiento del sistema; la resistencia limitadora de los
indicadores es de 300Ω cuyo diseño ya fue expuesto anteriormente.
82
R5 R7
L1
L2
L3
L4
SENSOR 1
1
R11 R12 R13 R14 2
3
R19
R8
D1 D2 D3 D4 R6
C1 SENSOR 2
1
R20 2
3
C2
R2
INDICADORES
R4 U1
1 40
PB0/XCK0/T0/PCINT8 PA0/ADC0/PCINT0
2
PB1/T1/CLKO/PCINT9 PA1/ADC1/PCINT1
39 LEDTX LEDRX
3 38
PULSADOR PB2/AIN0/INT2/PCINT10 PA2/ADC2/PCINT2
4 37
PB3/AIN1/OC0A/PCINT11 PA3/ADC3/PCINT3 U2
1 5 36
L1 PB4/SS/OC0B/PCINT12 PA4/ADC4/PCINT4
2 6 35 4 5
L2 PB5/MOSI/PCINT13 PA5/ADC5/PCINT5 TX X0 Y
7 34 3
L3 PB6/MISO/PCINT14 PA6/ADC6/PCINT6 IMU1 X1 COM
C9 L4
8
PB7/SCK/PCINT15 PA7/ADC7/PCINT7
33
IMU2
2
X2 Y
6
1 1
X3
14 22 15 2
RX PD0/RXD0/PCINT24 PC0/SCL/PCINT16 X4 RX
15 23 14
TX PD1/TXD0/PCINT25 PC1/SDA/PCINT17 X5
16 24 13
PD2/INT0/RXD1/PCINT26 PC2/TCK/PCINT18 X6
17 25 12
TX1 PD3/INT1/TXD1/PCINT27 PC3/TMS/PCINT19 X7
18 26
PD4/OC1B/XCK1/PCINT28 PC4/TDO/PCINT20
19 27 11
PD5/OC1A/PCINT29 PC5/TDI/PCINT21 A
20 28 10
PD6/ICP/OC2B/PCINT30 PC6/TOSC1/PCINT22 B
21 29 9
PD7/OC2A/PCINT31 PC7/TOSC2/PCINT23 C
32 13 7
AREF XTAL1 E
30 12
AVCC XTAL2
9 74151
RESET
R1 ATMEGA164P
X1 IMU1
1
TX1
2
IMU1
3
CRYSTAL
4
C3 R26R3 C11 C12
5V GND
2 C13 IMU2
1 1
TX1
1 2
B_R
IMU2
TBLOCK-I2 C16 2 C19 3
1000u 4
C6 C5 C4
Puesto que los dos sistemas electrónicos antes detallados (Robot y Brazales)
trabajan con niveles de voltaje TTL (5V), ha sido necesario realizar una
conversión de niveles de voltajes a fin de tener compatibilidad con el estándar RS-
232 empleado por los computadores, es por eso que se ha utilizado el circuito
integrado MAX232CPE cuyas especificaciones y conexiones están dadas en la
Tabla 2.21 y Figura 2.56 respectivamente.
Voltaje de alimentación 5V
Temperatura de trabajo 0-70°C
Corriente de alimentación 8mA
C1
1 3 U1
C1+ C1-
11 14
TXD.1 (MC1) T1IN T1OUT PUERTO PC1
12 13
RDX.0 (MC1) R1OUT R1IN PUERTO PC1
10 7
TXD.MUX (MC2) T2IN T2OUT PUERTO PC2
9 8
RXD.0 (MC2) R2OUT R2IN PUERTO PC2
2 C4
VS+
6
VS-
MAX232
C2+ C2-
C3
4 5
C2
CAPÍTULO 3
El HMI incluye un indicador gráfico que permite mostrar en tiempo real las señales
de punto de ajuste (setpoint) y de realimentación, de esta manera se puede
apreciar la acción de control y compensación por parte del controlador PID
utilizado.
CONFIGURACIÓN DE PUERTOS
E/S
DEFINICIÓN E INICIALIZACIÓN DE
VARIABLES
CONFIGURACIÓN DE PUERTOS
SERIALES
COM1 - COM2
CONFIGRUACIÓN LCD
CONFIGURACIÓN INTERRUPCIÓN
INT2
SISTEMA APAGADO
INDICADOR IND8 ACTIVO
D A
PROGRAMA PRINCIPAL
NO SI
SISTEMA
ENCENDIDO?
ENDENDER INDICADOR SI
NO
IND8 ENLAZAR CON
COMPUTADOR?
SI SUBRUTINA
NO
ENCENDER ENLACE
SISTEMA?
SUBRUTINA NO SI
ENCENDIDO ANIMAR
SISTEMA?
SUBRUTINA
ANIMACIONES
D
NO SI
SENSAR POSICIONES
ANGULARES?
SUBRUTINA DE
SENSORES
NO SI
ENVIAR DATOS AL
CONTROLADOR DE SERVOS?
SUBRUTINA ENVÍO DE
POSICIONES SERVOS
NO SI
CONTROL
ACTIVO?
ENDENDIDO Y APAGADO
SUAVE DEL INDICADOR
PWM IND10
SUBRUTINA DE
DETECCIÓN DE ERROR
DE COMUNACIÓN
NO SI
APAGAR EL
SISTEMA?
SUBRUTINA DE
APAGADO DEL SISTEMA
NO SI
DESACOPLAR
ENLACE?
SUBRUTINA DE
DESENLACE
SUBRUTINA
ENCENDIDO
NO SI
PULSADOR 1
ACCIONADO?
ENCIENDE INDICADOR
IND7
ENCIENDE FUENTE
(IND7)
PRESENTACIÓN LCD
ANIMACIÓN DE LUCES
CON PWM IND9
SISTEMA ROBÓTICO
ACTIVO
FIN
Para dar mayor realce de la movilidad del sistema robótico, ha sido programado
una serie de movimientos predefinidos muy comunes de un brazo humano, tales
como:
SUBRUTINA ANIMACIONES
NO SI
PULSADOR 2
ACCIONADO?
INDICADOR IND5
ACTIVO
ENCENDIDO
INSTANTÁNEO INDICADOR
IND10
EJECUCIÓN SALUDO
LCD
“ANIMACIÓN SALUDO”
ENCENDIDO
INSTANTÁNEO INDICADOR
IND10
EJECUCIÓN PENSATIVO
LCD
“ANIMACIÓN PENSATIVO”
ENCENDIDO
INSTANTÁNEO INDICADOR
IND10
EJECUCIÓN EJERCITANDO
LCD
“ANIMACIÓN EJERCITANDO”
ENCENDIDO
INSTANTÁNEO INDICADOR
IND10
EJECUCIÓN DESPEDIDA
LCD
“ANIMACIÓN DESPEDIDA”
ENCENDIDO
INSTANTÁNEO INDICADOR
IND10
FIN
SUBRUTINA DE
ENLACE
NO SI
PULSADOR 3
ACCIONADO?
NO SI
SISTEMA
ENLAZADO?
ENVÍO COMANDO 200 PARA SUBRUTINA DE
PETICIÓN DE ENLACE CON EL DESACOPLO
COMPUTADOR COM1
PARPADEO DEL
INDICADOR IND4
NO SI
CONFIRMACIÓN
DE ENLACE?
LCD LCD
“ERROR DE ENLACE” “SISTEMA ENLAZADO”
FIN
SUBRUTINA DE
SENSORES
COMANDO DE
PETICIÓN DE DATOS
255?
RECOLECCIÓN Y PROMEDIDADO
DE 5 DATOS PARA SENSOR 1
RECOLECCIÓN Y PROMEDIDADO
DE 5 DATOS PARA SENSOR 2
RECOLECCIÓN Y PROMEDIDADO
DE 5 DATOS PARA SENSOR 3
RECOLECCIÓN Y PROMEDIDADO
DE 5 DATOS PARA SENSOR 4
RECOLECCIÓN Y PROMEDIDADO
DE 5 DATOS PARA SENSOR 5
RECOLECCIÓN Y PROMEDIDADO
DE 5 DATOS PARA SENSOR 6
FIN
Una vez que los datos de los sensores son decodificados y empleados por los
controladores (PID) implementados en el HMI, los datos de salida (datos
codificados para los servomotores) son almacenados en variables que
posteriormente serán empaquetadas en una trama de 7 bytes, y a su vez
enviadas a través del bus serial, posteriormente es receptada por el sistema
microprocesado (MC1); esta trama contiene un byte 254 que inicializa la
recepción de datos para que sean almacenados ordenadamente en las variables
correspondientes a la posición angular de los 6 servomotores, posteriormente
estos datos se empaquetan en 6 tramas en el protocolo “”mini SSC II” para ser
enviadas por un bus serial (UART1) al controlador de servos.
SUBRUTINA DE ENVÍO DE
POSICIONES SERVOS
SI
TRAMA
RECIBIDA DESDE
HMI?
ENVÍO DE TRAMA DE LA
POSICIÓN DEL SERVO 1 AL
CONTROLADOR DE SERVOS
POR EL COM2
ENVÍO DE TRAMA DE LA
POSICIÓN DEL SERVO 2 AL
CONTROLADOR DE SERVOS
POR EL COM2
ENVÍO DE TRAMA DE LA
POSICIÓN DEL SERVO 3 AL
CONTROLADOR DE SERVOS
POR EL COM2
ENVÍO DE TRAMA DE LA
POSICIÓN DEL SERVO 4 AL
CONTROLADOR DE SERVOS
POR EL COM2
ENVÍO DE TRAMA DE LA
POSICIÓN DEL SERVO 5 AL
CONTROLADOR DE SERVOS
POR EL COM2
ENVÍO DE TRAMA DE LA
POSICIÓN DEL SERVO 6 AL
CONTROLADOR DE SERVOS
POR EL COM2
FIN
NO SI
DATOS
RECIBIDOS?
NO SI
SI
CONTADOR>30000
LCD
“ERROR EN EL SISTEMA”
PARPADEO DE
INDICADOR IND6
FIN
SUBRUTINA DE DESCONEXIÓN
NO SI
PULSADOR 3
ACCIONADO?
NO SI
SISTEMA
PAUSADO?
DESCONEXIÓN DEL
SISTEMA
INDICADOR IND 4
INACTIVO
LCD
“SISTEMA DESCONECTADO”
FIN
Con la intención de no hacer desuso de energía por parte del sistema robótico
cuando no está siendo usado, se ha programado una función que permite apagar
el sistema, dando procedencia a dos modos, los cuales son:
SUBRUTINA DE
APAGADO
NO SI
SISTEMA
PAUSADO?
NO SI
NO SI
PULSADOR 1 PULSADOR 1 A
ACCIONADO? ACCIONADO?
LCD INCREMENTO
“NO SE PUEDE APAGAR” CONTADOR LCD
“APAGANDO SISTEMA”
NO SI
CONTADOR=6000 INDICADORES
INACTIVOS
A
APAGA FUENTE IND7
SISTEMA APAGADO
INDICADOR IND8
ACTIVO
FIN
COMANDO
CONTROL MANUAL
NO SI
COMANDO1=250
COMANDO2=251
LCD
“CONTROL MANUAL”
INDICADOR IND5
ACTIVO
FIN
NO SI
COMANDO1=249
COMAND2=251
LCD
“CONTROL CON
BRAZALES”
INDICADOR IND5
ACTIVO
FIN
Una vez que en el HMI se detiene el sistema de control en ejecución, éste envía
un comando de un byte 252 al sistema microprocesado por medio del bus serial
COM1; este comando es decodificado para emprender una subrutina, en la cual el
sistema pasa al estado de pausa hasta una nueva ejecución de un sistema de
control en el HMI, además se desactiva el incremento del contador de error,
Figura 3.12.
COMANDO FIN DE
CONTROL
NO SI
COMANDO=254
LCD
“BRAZO ROBÓTICO”
INDICADOR IND5
INACTIVO
SISTEMA PAUSADO
FIN
3.1.11 INTERRUPCIONES
INTERRUPCIÓN
INT2
LEER PINES
PB.3-PB.4-PB.5
NO SI
PB.3=0
PULSADOR
PRESIONADO=1
NO SI
PB.4=0
PULSADOR
PRESIONADO=2
NO SI
PB.5=0
PULSADOR
PRESIONADO=3
FIN
requerimientos de datos a los sensores IMU a través del envío de comandos, para
que a su vez envíen los datos correspondientes al PC.
CONFIGURACIÓN DE PUERTOS
E/S
DEFINICIÓN E INICIALIZACIÓN DE
VARIABLES
CONFIGURACIÓN DE PUERTOS
SERIALES
COM1 - COM2
CONFIGURACIÓN INTERRUPCIÓN
INT2
ENVÍO DE COMANDO DE
INICIALIZACIÓN DE GIROSCOPIOS A
LOS SENSORES IMU A TRAVÉS DEL
COM2
PROGRAMA PRINCIPAL
NO SI
ENLAZAR CON
COMPUTADOR?
SUBRUTINA
ENLACE
NO SI
PETICIÓN DE DATOS
MUÑECA Y MANO?
SUBRUTINA DE
SENSORES ÓPTICOS
NO SI
PETICIÓN DE DATOS
IMU 1?
SUBRUTINA DE
SENSOR IMU1
NO
PETICIÓN DE DATOS
IMU 2?
SUBRUTINA DE
SENSOR IMU2
NO SI
CONTROL
ACTIVO?
SUBRUTINA DE
DETECCIÓN DE ERROR
DE COMUNACIÓN
SUBRUTINA ENLACE
NO SI
PULSADOR 1
ACCIONADO?
NO SI
SISTEMA
ENLAZADO?
ENVÍO COMANDO 201 PARA
PETICIÓN DE ENLACE CON EL
COMPUTADOR
PARPADEO DEL
INDICADOR IND3
NO SI
CONFIRMACIÓN
DE ENLACE?
FIN
SUBRUTINA DE
SENSORES ÓPTICOS
NO SI
COMANDO DE
PETICIÓN DE DATOS
203?
RECOLECCIÓN Y PROMEDIDADO
DE 5 DATOS PARA SENSOR 1
RECOLECCIÓN Y PROMEDIDADO
DE 5 DATOS PARA SENSOR 2
HABILITACIÓN DE
TRANSMISIÓN LÍNEA 1
(MULTIPLEXOR)
FIN
Como se va a leer 2 registros de datos de los dos sensores IMU empleados, fue
necesario trabajar cuatro comandos los cuales son enviados desde el HMI al
sistema microprocesado, estos comandos son:
- Comando 204: solicita datos de ángulos pitch y roll de la IMU1 (trama
IMU-1).
- Comando 205: solicita dato del ángulo yaw de la IMU1 (trama IMU-2).
- Comando 206: solicita datos de ángulos pitch y rall de la IMU2 (trama
IMU-1).
- Comando 207: solicita dato del ángulo yaw de la IMU2 (trama IMU-2).
Una vez que el sistema microprocesado ha recibido un comando solicitando
datos, procede a ejecutar una subrutina en la cual se decodifica el comando y
según sea el caso, se selecciona el dispositivo que toma la línea serial para la
transmisión de datos (IMU 1: línea 2; IMU 2: línea 3).
SUBRUTINA DE
SENSOR IMU1
NO
COMANDO DE SI
PETICIÓN DE DATOS
204?
HABILITACIÓN DE
TRANSMISIÓN LÍNEA 2
(MULTIPLEXOR)
NO COMANDO DE SI
PETICIÓN DE DATOS
205?
FIN
SUBRUTINA DE
SENSOR IMU2
NO
COMANDO DE SI
PETICIÓN DE DATOS
206?
HABILITACIÓN DE
TRANSMISIÓN LÍNEA 3
(MULTIPLEXOR)
NO COMANDO DE SI
PETICIÓN DE DATOS
207?
FIN
NO SI
DATOS
RECIBIDOS?
NO SI
SI
CONTADOR>60000
PARPADEO DE
INDICADOR IND1
FIN
Los comandos son enviados desde el HMI para controlar el modo de operación
del sistema de brazales.
COMANDO
CONTROL ACTIVO
NO SI
COMANDO=201
INDICADOR IND2
ACTIVO
SISTEMA
FUNCIONANDO
FIN
COMANDO FIN DE
CONTROL
NO SI
COMANDO=202
PARPADEO
INDICADOR IND2
SISTEMA PAUSADO
FIN
3.2.6.3 Comando para el encerado de los giroscopios del sensor IMU CHR-UM6
NO
SI
COMANDO RECIBIDO
210?
ENDENDIDO INSTANTÁNEO
IND1
FIN
3.2.7 INTERRUPCIONES
INTERRUPCIÓN
INT2
LEER PIN
PB.0
NO SI
PB.0=0
PULSADOR
PRESIONADO=1
FIN
El HMI desarrollado permite hacer el control del brazo robótico en dos modos: el
primero es un control manual, en el cual el usuario puede tener acceso a
controles de cada articulación del robot para constatar el movimiento de todo el
sistema robótico; un segundo modo es el control con brazales en el cual el HMI
está netamente ligado a los datos adquiridos del sistema de brazales, a partir de
los cuales se controlan los movimientos del robot logrando la emulación de los
movimientos realizados por el brazo humano.
El HMI emplea un controlador PID para cada articulación con el fin de obtener
movimientos suaves por parte de la estructura robótica y eliminar el error en
estado estable. Dentro del HMI se tiene un panel frontal y un panel de control que
permiten un mejor ordenamiento de indicadores y controles del sistema; estos son
detallados en los siguientes puntos.
El panel principal ha sido diseñado con la finalidad de que el usuario pueda intuir
el funcionamiento del sistema y también pueda configurar el modo de operación
(tipo de control), en la Figura 3.24 se presenta el panel principal, dentro del cual
se ha separado alfabéticamente indicadores y controles para ser detallados
posteriormente.
112
c. Este panel contiene tres indicadores que advierten el estado operacional del
sistema en conjunto. El indicador 1 se enciende una vez que el HMI haya
verificado la comunicación física con los sistemas: robótico y brazales; el
indicador 2 es activado únicamente cuando un modo de control está siendo
ejecutado; finalmente el indicador 3 se activa cuando existe error en la
comunicación con alguno de los sistemas (robótico y brazales).
d. En este pequeño panel se tiene un control tipo botón que al accionarlo permite
enviar el comando correspondiente al sistema microprocesado MC2
(brazales) con el propósito de encerar los giroscopios de los sensores IMU 1 y
2.
Figura 3.31 Panel g: posición inicial del brazo humano para inicio del
control
El panel de control ha sido diseñado para que el usuario pueda hacer uso de los
controles que posibilitan la movilidad del brazo robótico en el caso del control
manual; además de acceder a varios indicadores que serán detallados más
adelante.
116
Una vez que se recibe el comando, en otro lazo WHILE se procede a emitir el
comando de confirmación de comunicación a los sistemas robótico y de brazales.
Esta forma de receptar los datos provenientes de los sensores, ha sido aplicada
de igual forma para obtener los datos de los sensores ópticos e IMU’s del sistema
de brazales, para lo cual se emplea un SUB VI que inicialmente envía el
comando respectivo para la petición de datos al sistema de brazales y éste a su
vez enviará la trama que es captada por el SUB VI a fin de identificar los bytes de
la trama para posteriormente almacenar los datos en las variables globales
pertinentes.
Los datos adquiridos del sistema robótico deben ser acondicionados de modo que
la información obtenida esté en grados sexagesimales, para lo cual se han
registrado datos cada 10° con la ayuda de transportadores ubicados en cada
articulación de la estructura robótica; de esta manera se ha buscado determinar
una ecuación de transformación que permita obtener los datos de los sensores en
grados sexagesimales.
122
Sensor de la articulación 1:
Tabla 3.8 Datos adquiridos de la articulación 1.
DATO
ÁNGULO SENSOR
0 249
10 235
20 219
30 204
40 191
50 176
60 163
70 149
80 136
90 122
100 107
110 92
120 76
130 60
140 43
150 25
160 9
170 0
150
100
50
0
0 50 100 150 200 250 300
-50
Sensor de la articulación 2:
DATO
ÁNGULO SENSOR
0 69
10 79
20 89
123
30 100
40 110
50 121
60 131
70 142
80 153
90 165
100 178
110 191
120 202
130 216
150
y = -0,001x2 + 1,1613x - 75,846
100
50
0
0 50 100 150 200 250
-50
Sensor de la articulación 3:
Tabla 3.10 Datos adquiridos de la articulación 3.
DATO
ÁNGULO SENSOR
0 185
10 175
20 165
30 155
40 146
50 137
60 127
70 118
80 109
90 100
100 90
110 81
120 74
130 65
140 57
150 48
124
160 40
170 28
180 20
200
y = 0,0004x2 - 1,1933x + 205,01
150
100
50
0
0 50 100 150 200
-50
Sensor de la articulación 4:
Tabla 3.11 Datos adquiridos de la articulación 4.
DATO
ÁNGULO SENSOR
0 97
10 108
20 120
30 131
40 144
50 157
60 171
70 182
80 194
90 209
100 222
110 235
120 251
140
120 y = -0,0006x2 + 0,9736x - 88,836
100
80
60
40
20
0
0 50 100 150 200 250 300
Sensor de la articulación 5:
Tabla 3.12 Datos adquiridos de la articulación 5.
DATO
ÁNGULO SENSOR
0 47
10 55
20 63
30 72
40 81
50 88
60 96
70 103
80 112
90 121
100 131
110 140
120 148
130 157
140
y = -0,0008x2 + 1,3492x - 62,091
120
100
80
60
40
20
0
-20 0 50 100 150 200
Sensor articulación 6:
Tabla 3.13 Datos adquiridos de la articulación 6.
DATO
ÁNGULO SENSOR
0 54
10 63
20 70
30 78
40 86
50 93
126
60 101
70 109
80 117
90 125
100 133
110 142
120 151
120
100
y = -0,0006x2 + 1,3799x - 73,787
80
60
40
20
0
-20 0 50 100 150
Para ello se ha estimado una ecuación de segundo orden con la finalidad de tener
mayor exactitud; cada una de las ecuaciones determinadas fue implementada en
el bloque “FORMULA NODE”, el cual permite el manejo de expresiones
matemáticas. Cada uno de estos bloques tiene una entrada y una salida, el dato
de entrada es el valor almacenado en la variable correspondiente al dato obtenido
de uno de los sensores (D1, D2, D3, D4, D5, D6).
La salida de este bloque genera un valor del ángulo de una articulación en grados
sexagesimales, mismo que será usado como señal de realimentación para el
controlador (R1, R2, R3, R4, R5, R6). En la Figura 3.50 se puede observar el
acondicionamiento de las señales obtenidas de los sensores del sistema robótico.
127
Los datos obtenidos de los sensores ópticos son almacenados en las variables
globales SB1 y SB2, que corresponden a los datos de la muñeca y la mano
respectivamente. Estos datos son acondicionados haciendo una estimación lineal
debido a la dificultad en la medición los movimientos angulares de la mano
humana. En el caso de la muñeca se tomaron los valores mínimo, máximo, y el
valor en el cual la muñeca está en la posición inicial es decir extendida
completamente (posición media). Estos datos fueron relacionados con los valores
límites de desplazamiento angular de la muñeca en la estructura robótica.
Haciendo uso de los datos tabulados se obtienen ecuaciones que son de igual
manera implementadas en un bloque “FORMULA NODE”; la necesidad de usar
dos ecuaciones radica en la no linealidad de respuesta del sensor, por lo que se
128
Máximo Mínimo
Dato sensor 13 153
Ángulo efector final 120° 0°
Los datos de los ángulos de Euler son usados como señales de punto de ajuste
del controlador, para ello se hace la siguiente descripción:
En este proyecto se ha hecho uso de un controlador PID, que fue ideal para
satisfacer los requerimientos de control en tiempo real, y lograr atenuar el error de
posición producido por perturbaciones, sin afectar la estabilidad del sistema.
( ) ( ) ( ) (3.1)
131
- Acción Integral (I): genera una señal de salida que es proporcional al error
acumulado, es decir integra el error en el tiempo.
( ) ∫ ( ) ( ) (3.2)
( )
( ) ( ) (3.3)
( ) ( ) ∫ ( )
( ) ( ) (3.4)
( )
( ) ( )
( ) (3.5)
( )
( ) ( ) ∫ ( )
( ) ( ) (3.6)
Puesto que se trabajó con componentes digitales, fue necesario trabajar con un
sistema de control en tiempo discreto, para lo cual se diseñó un PID digital
partiendo de la función de transferencia del PID en el domino de “S”.
(3.7)
( ) ( ) (3.8)
( ) ( ) ( )
( ) ( )
( )[ ] ( ) ( ) ( ) ( )
( )
[ ] [ ] [ ]( ) [ ]( ) [
] (3.9)
El valor de las salidas de cada uno de los controladores PID está en grados
sexagesimales, por lo que fue necesario convertir dichos datos a valores
codificados adecuados para el posicionamiento angular de cada uno de los
servomotores. Para ello se ha registrado medidas de los valores enviados a los
servomotores y los ángulos correspondientes empleando transportadores, estos
datos fueron tabulados y graficados con la finalidad de estimar la ecuación de
transformación.
Servomotor 1:
DATO
ÁNGULO SERVO
0 220
10 206
20 193
30 180
40 168
50 155
60 143
70 131
80 119
90 107
100 95
110 82
120 70
130 57
135
140 46
150 35
160 23
170 11
250
y = 0,0004x2 - 1,2861x + 218,99
200
150
100
50
0
0 50 100 150 200
Servomotor 2:
DATO
ÁNGULO SERVO
0 20
10 31
20 44
30 59
40 73
50 89
60 106
70 123
80 140
90 158
100 178
110 197
120 215
130 235
136
250
150
100
50
0
0 50 100 150
DATO
ÁNGULO SERVO
0 240
10 226
20 211
30 197
40 184
50 171
60 156
70 143
80 129
90 116
100 102
110 89
120 78
130 66
140 54
150 41
160 29
170 11
180 0
137
300
y = 0,0005x2 - 1,4075x + 239,39
250
200
150
100
50
0
0 50 100 150 200
250
y = 0,0015x2 + 1,2385x + 47,385
200
150
100
50
0
0 50 100 150
Servomotor 5:
DATO
ÁNGULO SERVO
0 12
10 24
20 36
30 48
40 61
50 72
60 83
70 94
80 106
90 119
100 132
110 145
120 157
130 170
180
160
y = 0,0005x2 + 1,1412x + 12,818
140
120
100
80
60
40
20
0
0 20 40 60 80 100 120 140
Servomotor 6:
DATO
ÁNGULO SERVO
0 21
10 34
20 45
139
30 57
40 67
50 78
60 89
70 100
80 112
90 124
100 136
110 149
120 162
160
140
y = 0,0005x2 + 1,0841x + 22,516
120
100
80
60
40
20
0
0 20 40 60 80 100 120
Una vez obtenidos los valores que codifican la posición angular de cada
servomotor del robot, se procede a enviarlos al sistema robótico en una trama de
7 bytes en donde el primer byte equivalente a 254 ayuda a la sincronización con
el microprocesador correspondiente. Esta trama ha sido implementada en un
140
SUB-VI el cual es ejecutado una vez que los datos de salida de los PID son
almacenados en las variables correspondientes (S1, S2, S3, S4, S5 y S6).
CAPÍTULO 4
PRUEBAS Y RESULTADOS
Para esta prueba se ha hecho uso del HMI, con el cual se procedió a efectuar el
envío de datos (tramas) al controlador de servos, para que éste a su vez
establezca la posición angular de cada uno de los servomotores del robot, y así
poder verificar los límites de movilidad del sistema, además de establecer el rango
angular fijo de cada articulación del brazo robótico en base a los movimientos
anatómicos de un brazo humano.
En la Tabla 4.1 se presentan los rangos obtenidos, aclarándose que éstos son
referenciados desde la postura inicial del robot.
145
Los datos tabulados garantizan que los movimientos de cada eslabón del robot
estén referenciados y limitados, para que posteriormente se pueda intuir de una
forma indirecta la posición de cada eslabón conforme se tenga un desplazamiento
angular de alguna articulación en particular, esto de una manera visual.
Una parte fundamental para el control del sistema robótico está dado por una
adecuada calibración de los parámetros principales de los controladores PID.
Estos parámetros están dados por las constantes Kp, Kd, y Ki, mismos que fueron
deducidos en la ecuación [3.9] del controlador PID; la variación de estos
parámetros admiten la obtención de diversas respuestas por parte del sistema,
por lo que para este proyecto la calibración de los controladores PID fue muy
sustancial y se ha enfocado en la obtención de resultados favorables dentro de
los cuales se ha buscado que el tiempo de respuesta sea mínimo, lo más estable
posible, y con sobre impulsos pequeños. Puesto que no fue fácil determinar el
modelo matemático del sistema, la calibración de las constantes del PID fue
hecha empleando el método de ensayo y error.
Cabe recalcar que para la calibración de los PID se ha usado el control en modo
manual en el HMI.
152
Tabla 4.2 Valores de las constantes Kp, Kd, Ki de los controladores PID del
sistema.
PID Kp Kd Ki
Articulación 1 0,68 0,08 0,4
Articulación 2 0,26 0,01 0,41
Articulación 3 0,33 0,0002 0,7
Articulación 4 0,31 0,001 0,71
Articulación 5 0,28 0,0003 0,65
Articulación 6 0,3 0,0001 0,7
- Articulación 1
- Articulación 2
- Articulación 3
- Articulación 4
- Articulación 6
De las pruebas realizadas, se pudo constatar que frente a cambios graduales del
punto de ajuste de una articulación en particular, los movimientos son ejecutados
de manera continua en un tiempo de respuesta menor a los tres segundos.
- Articulación 1:
Tipo de movimiento: flexión del brazo robótico.
Ángulo [°]
Posición inferior 0
Posición intermedia 90
Posición superior 170
- Articulación 2:
Tipo de movimiento: abducción del brazo robótico.
Ángulo [°]
Posición inferior 0
Posición intermedia 90
Posición superior 120
157
- Articulación 3:
Tipo de movimiento: rotación interna y externa del brazo robótico.
Ángulo [°]
Posición inferior 0
Posición intermedia 90
Posición superior 180
- Articulación 4:
Tipo de movimiento: flexión del codo.
Ángulo [°]
Posición inferior 0
Posición intermedia 90
Posición superior 120
- Articulación 5:
Tipo de movimiento: flexión-extensión de la muñeca.
Ángulo [°]
Posición inferior 0
Posición intermedia 20
Posición superior 100
159
- Articulación 6:
Tipo de movimiento: apertura y cierre de la mano.
Ángulo [°]
Posición inferior 0
Posición intermedia 90
Posición superior 110
30 30,5 30 30 30 30 30
40 39,5 40,5 41,5 39,5 40 40
50 49,5 51 51 50,5 51 51
60 60,5 62 61,5 58,5 61,5 61
70 71 72,5 70,5 69 72 70,5
80 81 83,5 80,5 78,5 80,5 81
90 90,5 94 91 89 90,5 91,5
100 102 105 102 100,5 102 102,5
110 113 115 111,5 113 - 103,5
120 121,5 - 120,5 124 - -
130 132 - 132 - - -
140 142,5 - 141 - - -
150 152,5 - 149,5 - - -
160 163,5 - 161 - - -
170 174 - 169,5 - - -
180 - - 179 - - -
[ ] (4.1)
a la altura del codo y el sensor ubicado en la parte posterior del brazo cuyo eje X
del sensor coincide con el eje longitudinal del brazo, tal como se muestra en la
siguiente figura:
Guante: este sistema fue diseñado para su ubicación en la mano con la finalidad
de sensar los movimientos realizados por la articulación de la muñeca y además
164
Una característica al iniciar la ejecución del modo de control con brazales, es que
el sistema de control no se ejecuta mientras el usuario no ubique el brazo en la
posición inicial, tomando como consideración las restricciones detalladas
anteriormente. Cuando se detecta la postura inicial, los indicadores se encienden
gradualmente y el indicador textual indicará que se mantenga en dicha posición
para arrancar la ejecución del sistema de control (Figura 4.31).
166
Como parte fundamental del proyecto se realizaron las pruebas, cuyo propósito se
ha orientado en constatar la emulación por parte del sistema robótico de los
movimientos realizados por el brazo humano del usuario. Partiendo de las
consideraciones antes mencionadas en cuanto a la sensibilidad de los sensores
IMU, se ha verificado que las restricciones establecidas permitieron un mejor
rendimiento en la replicación de los movimientos, además que se ha comprobado
una vez más la compensación realizada por los controladores PID. Con el
propósito de mostrar los movimientos que se ha logrado emular, en las siguientes
gráficas se detalla la movilidad del brazo robótico relacionándolos con los
movimientos anatómicos de un brazo humano:
167
Las pruebas efectuadas hicieron uso de objetos livianos para no afectar la vida
útil de los actuadores del sistema robótico, de esta manera se pudo establecer
171
que el peso máximo para el cual se mantiene un movimiento estable por parte
del robot es de 115 gramos.
Para estimar el costo total empleado para la realización del presente proyecto de
titulación se presenta la Tabla 4.12, en la cual se detalla el precio de todos los
componentes empleados desde los materiales mecánicos para el ensamblaje y
construcción de todo el sistema físico, hasta los materiales eléctrico-electrónicos
utilizados para el control, de la misma forma de incluye el costo del tiempo de
ingeniería invertido en el proyecto desde su diseño hasta su construcción y
terminado del mismo.
CAPÍTULO 5
CONCLUSIONES Y RECOMENDACIONES
5.1 CONCLUSIONES
5.2 RECOMENDACIONES
esto puede repercutir en una movilidad brusca por parte del sistema
robótico, pudiendo afectar a la vida funcional de los servomotores.
Antes de la utilización del sistema para la emulación de los movimientos
del usuario, es importante ejecutar el comando para la inicialización de los
sensores inerciales (encerado de giroscopios), de esta manera se asegura
que los datos sean confiables para su uso por el sistema de control; es
importante que la ejecución del comando se lo realice periódicamente y
cada vez que se reinicie el sistema de brazales.
Durante el funcionamiento del control con el sistema de brazales es
prescindible que el usuario esté ubicado en la posición correcta orientado
al sur y evitando efectuar movimientos fuera de los límites establecidos, ya
que la lectura de los sensores fuera de estos límite pueden alterar de cierta
forma la operación del control, y por ende el robot puede tomar posiciones
que no estén acorde a la posición del brazo del usuario.
Es importante tomar en consideración que para el uso del sistema de
brazales el entorno cercano debe estar libre de objetos metálicos o
magnéticos, ya que afecta las mediciones de los sensores haciendo que
sus datos no sean confiables para el sistema de control.
Ya que en este proyecto se ha hecho uso de los ángulos de Euler de los
sensores IMU como puntos de ajuste para el control del robot, se pudo
evidenciar su gran factibilidad de uso en resultados favorables obtenidos a
pesar de las restricciones, como trabajo adicional se podría emplear otra
representación para la orientación de los eslabones, esto es haciendo uso
de cuaterniones, que también pueden ser provistos por los sensores
empleados, y en este mismo contexto sería muy necesario un estudio
previo referente al análisis matemático con cuaterniones.
Como un trabajo complementario del proyecto, se debe enfocar en un
sistema que permita el envío de datos por la web, para que de esta manera
se pueda tener un control del robot desde un lugar remoto, logrando así
potencializar al proyecto como un sistema de tele control.
178
REFERENCIAS BIBLIOGRÁFICAS
[11] Adriana A., (2009 Enero), “Clasificación de robots”, [En línea], Disponible en:
http://es.scribd.com/doc/12687023/Clasificacion-de-Los-Robots
[12] Moriello S., (2005, Octubre), “Los robots inteligentes autónomos son la
nueva generación”, [En línea], Disponible en:
http://www.tendencias21.net/Los-Robots-Inteligentes-Autonomos-son-la-
nueva-generacion_a744.html
[13] Gonzáles V., (2002, Marzo), “Robots de servicio y teleoperados”, [En línea],
Disponible en:
http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/robotica/
teleoperado.htm
[14] Ollero A., “Robótica Manipuladores y Robots Móviles”, Primera edición,
Barcelona (España), Marcombo S.A., 2001
[15] Sotomayor N., (2010), “Robótica Industrial”, [En línea], Disponible en:
http://ciecfie.epn.edu.ec/Material/4toNivel/Robotica/Robotica.pdf
[16] Díaz S., (2010, Enero), “Inteligencia artificial y robótica”, [En línea],
Disponible en: http://www.slideshare.net/mgarofalo85/robotica-2865399
[17] Sin autor, (2008), “Estructura de un robot industrial”, [En línea], Disponible
en: http://cmapspublic2.ihmc.us/rid=1H2B5THKD-51F5C1-J48/morfologia%
20de%20un%20robot.pdf
[18] Molina J., (2011), “Sensores”, [En línea], Disponible en:
http://www.profesormolina.com.ar/tecnologia/sens_transduct/que_es.htm
[19] Fairchild Semiconductor, (2013, Junio), “Reflective Object Sensor”, [En
línea], Disponible en: http://www.fairchildsemi.com/ds/QR/QRD1114.pdf
[20] Arduteka, (2011, Diciembre), “El servomotor”, [En línea], Disponible en:
http://www.arduteka.com/2011/12/componentes-el-servomotor/
[21] Martín E., (2011, Junio), “Servomotor”, [En línea], Disponible en:
http://www.slideshare.net/Martinfeg/servomotor-8634935
[22] Sin autor, (2009), “El servomotor”, [En línea], Disponible en: http://www.info-
ab.uclm.es/labelec/solar/electronica/elementos/servomotor.htm
[23] Wikipedia, (2013, Marzo), “Unida de medición inercial”, [En línea], Disponible
en: http://es.wikipedia.org/wiki/Unidad_de_medici%C3%B3n_inercial
[24] Sin autor, (2012), “Unidad de medición Inercial”, [En línea], Disponible en:
http://centrodeartigos.com/articulos-utiles/article_121315.html
180
[38] Texas Instruments, (2004), “MAX 232 Dual EIA-232 Drivers/Receivers”, [En
línea], Disponible en: http://www.ti.com/lit/ds/symlink/max232.pdf
[39] Mazzone V., (2002, Marzo), “Control automático 1”, [En línea], Disponible en:
http://www.eng.newcastle.edu.au/~jhb519/teaching/caut1/Apuntes/PID.pdf
[40] Morilla F., (2007, Enero), “Controladores PID”, [En línea], Disponible en:
http://www.dia.uned.es/~fmorilla/MaterialDidactico/El%20controlador%20PID
.pdf
[41] “Sistemas de control discreto”, Apuntes de clase IEE773, Escuela Politécnica
Nacional, 2012
[42] Dinámica y control de procesos, (2011), “Ajuste de controladores”, [En línea],
Disponible en: http://www.fing.edu.uy/iq/cursos/dcp/teorico/16_AJUSTE
_DE_CONTROLADORES.pdf
[43] Gómez D., (2005), “Identificación y sintonización de un PID”, [En línea],
Disponible en: http://gtts.ehu.es/dEyE/Actualizable/Anual/Curso05-
06/VI_Jornadas_IE/trabajos_dirigidos/Gomez_de_la_Riva.pdf
[44] Cevallos A., “Hablemos de Electricidad”, Primera edición, Ecuador, 2000