Tesis
Tesis
FACULTAD DE INGENIERÍA
Escuela de Ingeniería Electrónica y Telecomunicaciones
Autor:
Oswaldo Felipe Guiñansaca Soria
Director:
Ing. Luis Ismael Minchala Ávila, PhD.
Cuenca - Ecuador
2016
Resumen
2
Abstract
3
Índice general
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Índice general . . . . . . . . . . . . . . . . . . . . . . . . . 4
Índice de guras . . . . . . . . . . . . . . . . . . . . . . . . 7
Índice de tablas . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introducción 17
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . 17
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.1. Objetivo general . . . . . . . . . . . . . . . . . 18
1.2.2. Objetivos especícos . . . . . . . . . . . . . . . 18
1.3. Descripción del problema . . . . . . . . . . . . . . . . 18
1.4. Estado del arte . . . . . . . . . . . . . . . . . . . . . 19
1.5. Contribuciones de la tesis . . . . . . . . . . . . . . . . 20
2. Fundamentos teóricos 21
2.1. Interfaces hápticas . . . . . . . . . . . . . . . . . . . . 21
2.1.1. Impedancia vs admitancia . . . . . . . . . . . 22
2.1.2. Características generales . . . . . . . . . . . . 23
2.2. Ambientes virtuales multimodales . . . . . . . . . . . 25
2.2.1. Inuencia del sentido de la visión . . . . . . . . 26
2.2.2. Ambientes virtuales simulados y remotos . . . 27
2.3. Tipos de interfaces . . . . . . . . . . . . . . . . . . . 27
2.4. Evaluación de las interfaces hápticas . . . . . . . . . . 28
2.5. Deniciones en control clásico . . . . . . . . . . . . . 30
2.5.1. Sintonización del controlador PID . . . . . . . 33
2.6. Deniciones en control moderno . . . . . . . . . . . . 35
2.6.1. Representación de sistemas en tiempo discreto
en espacio de estados . . . . . . . . . . . . . . 38
4
Universidad de Cuenca - Facultad de Ingeniería
2.6.2. Controlabilidad . . . . . . . . . . . . . . . . . 40
2.6.3. Observabilidad . . . . . . . . . . . . . . . . . . 41
2.6.4. Realimentación de estados . . . . . . . . . . . 43
2.6.5. Fórmula de Ackermann . . . . . . . . . . . . . 44
2.6.6. Observadores de estados . . . . . . . . . . . . . 47
2.6.7. Sistemas de seguimiento . . . . . . . . . . . . . 50
2.7. Control PID neuronal . . . . . . . . . . . . . . . . . . 54
2.7.1. ADALINE . . . . . . . . . . . . . . . . . . . . 55
2.7.2. Controlador utilizando la red neuronal ADALINE 56
5
Universidad de Cuenca - Facultad de Ingeniería
6. Conclusiones 117
Anexos 119
A. Hoja de especicaciones del driver L298 120
B. Hoja de especicaciones del motor Maxon 353144 124
C. Raíces de los polinomios normalizados de Bessel 126
Bibliografía 129
6
Índice de guras
7
Universidad de Cuenca - Facultad de Ingeniería
8
Universidad de Cuenca - Facultad de Ingeniería
9
Universidad de Cuenca - Facultad de Ingeniería
10
Índice de tablas
11
Universidad de Cuenca - Facultad de Ingeniería
CERTIFICO
persona.
14
Agradecimiento
A todos los seres y cosas que se han movido y han aportado para que haya
15
Dedicatoria
mi existencia.
Felipe
16
Capítulo 1
Introducción
1.1. Antecedentes
El cuerpo humano puede desenvolverse en cualquier entorno y adaptarse al
tidos: visión, audición, tacto, gusto y olfato. En el cerebro se procesan estas señales
que diferentes órganos contienen células dedicadas a este tipo de percepción sen-
sorial, pero el más grande es la piel, que aproximadamente tiene una supercie de
1, 8m2 , constituyendo el 16-18 % del peso del cuerpo humano [1]. La piel, además,
funciona como una interfaz entre el ambiente externo y el organismo interno. A
menudo se pasa por alto que el sentido del tacto también es un canal de comuni-
único sentido. La háptica también está relacionada con la kinestesia, que estudia
que permite la interacción con ambientes que pueden ser remotos o simulados,
[2], [3]. Permite una retroalimentación activa, real e instantánea hacia el usuario
17
CAPÍTULO 1. INTRODUCCIÓN
información visual y auditiva que se pueda tener del mismo. El auge y desarrollo
aplicaciones.
Existe una gran variedad de dispositivos con interfaces hápticas, cada uno
el interfaz háptico.
1.2. Objetivos
1.2.1. Objetivo general
Diseñar y construir un interfaz háptico de un grado de libertad, que permita
hápticas.
cación, acoplándose con otros tipos de respuestas que dependen del entorno de
trabajo. Por tanto, estos dispositivos pueden estar ligados a diferentes profesio-
de control.
entonces, esta tecnología ofrece una mejor interacción e inmersión con el usuario,
o virtuales- como se detalla en [6]. Las aplicaciones son diversas y ganan terreno
cas. En [2] se detallan algunos parámetros que deben cumplir los dispositivos,
los cuales tienen que ver con características físicas y también la experiencia que
Fundamentos teóricos
nivel de la fuerza aplicada hacia el cuerpo del operador permitiendo que éste,
a su vez, obtenga información relevante del entorno de trabajo con el que está
es lo que diferencia a las interfaces hápticas con las respuestas audiovisuales que
manera unidireccional, sino que puede recibir, por el mismo medio, una respuesta
instantánea ante algún gesto que se realice. Por ejemplo, en una computadora
existen canales periféricos- de entrada o salida, pero estos solo pueden enviar
21
CAPÍTULO 2. FUNDAMENTOS TEÓRICOS
Figura 2.1: Diferencia entre las interfaces hápticas (der.) y dispositivos unidirec-
cionales (izq.)
sistema como son la calidad de los actuadores y sensores, la rigidez y fricción del
caso, impedancia, ver Figura 2.2, se tiene una entrada referente al movimiento y
una salida de fuerza; mientras, en el segundo caso, ver Figura 2.3, se aplica una
que los dispositivos en los que se controla la admitancia, no son muy comunes.
por ejemplo un joystick -[11]. Esto da una idea clara, en la etapa de diseño,
parte del sistema, pero, si esa fuerza es menor a las pérdidas por fricción, la
interfaz pierde transparencia, esto conlleva a que las fuerzas producidas por
fricción deben ser menores a la mínima fuerza que se percibe del sistema
[13].
del sensor debe ser óptima para conseguir estabilidad del sistema [12]. En
F = k (Fd − Fs ) (2.1)
realidad virtual son las que mayor auge han tenido- en el campo profesional y de
investigación. Para tener una idea más clara de los espacios donde las interfaces
entornos.
llenan vacíos que dejaran si estos canales se utilizaran por separado, además, la ve-
dales o bimodales, que solo pueden presentar uno y dos canales de información,
respectivamente [15].
cantidad de estímulos sensoriales logran obtener mayor atención por parte del
cia dentro del ambiente virtual, y como se dijo anteriormente esta presencia se
enriquece.
ción e identicación de objetos es uno de los varios temas que se pueden abarcar
La visión y el tacto se compensan para que el usuario tenga una idea más
Si se trabaja solo con una señal visual, por ejemplo, el tamaño del objeto no es
transparente hacia el observador como se desearía, ya que por más que se trabaje
entran las interfaces hápticas, haciendo que la percepción de tamaño que se tenía
solo con una señal háptica, no se tendrá una medida real en la percepción de esta
característica, pero si se complementa con la señal visual se puede lograr que los
objetos parezcan más y/o menos rígidos. Por ejemplo, al momento que un objeto,
que parezca más rígida que el objeto mencionado, se limita la posición del primer
objeto, y más que limitar, mostrar visualmente que el objeto no avanza más allá
logra que la supercie parezca más rígida de lo que en realidad es, ver Figura 2.4.
una fuerza -en el caso de la interfaz con feedback de fuerza- como una reacción
Una de las causas del desarrollo de las interfaces hápticas ha sido el progreso
algoritmos.
requiere demasiada información del ambiente para coordinar una acción o tarea.
solo la calidad, sino las limitaciones propias de los dispositivos frente a lo que
los cuales no pueden imprimir todo el rango de fuerza que el cuerpo humano
está capacitado para sentir, un ejemplo claro de este tipo de ambientes son las
telecirugías.
que se controla en el sistema. Por tanto, existen interfaces con feedback de fuerza,
si un objeto virtual choca con una pared, también virtual, debería detenerse
Interfaz con feedback táctil: entrega datos del objeto virtual relaciona-
dos con la temperatura, vibraciones, presión, rugosidad que son detectados
técnicas y físicas que poseen las interfaces para realizar una evaluación completa
[24].
de reacción que ejerce cada objeto debido a su densidad, por supuesto, esto
así el rendimiento del usuario se prolonga por más tiempo ya que no existe
son invariantes en el tiempo, así como, la relación entre su entrada y salida debe
ser lineal.
lazo cerrado, ver Figura 2.7. Mientras que, cuando el sistema o proceso solo tiene
Figura 2.8.
haciendo que éste permanezca estable ante cualquier perturbación a la que pueda
estar expuesto.
sus raíces características están a la izquierda del eje imaginario del plano
semiplano derecho del eje imaginario del plano complejo son inestables.
que agreguen polos al sistema de lazo abierto, provocando una respuesta más
Del mismo modo, este tipo de controlador ha sido utilizado como alternativa
por el efecto proporcional; esta acción, por el contrario, provoca una respuesta
Z
1 d
u (t) = kc e (t) + e (t) dt + Td [e (t)] (2.3)
Ti dt
Debido al control digital de la interfaz, el modelo del PID del dominio conti-
1
U (s) = kc E (s) + E (s) + sTd E (s) (2.4)
sTi
Se utiliza un retenedor de orden cero -ZOH: zero order hold - para la transforma-
sistemas discretos.
1 − z −1
s= (2.5)
T
Reemplazando tenemos,
1 −1
U (z) = kc E (z) + −1 [E (z)] + Td 1−zT E (z)
Ti 1−z
T
h i
Td
U (z) = kc E (z) + T 1
Ti 1−z −1
E (z) + T
(1 − z −1 ) E (z)
Td 2
E(z)−z −1 E(z)+ TT E(z)+ T (1−z−1 ) E(z)
U (z) = kc i
1−z −1
agrupando términos,
h U (z) − z −1 U (z) = i
kc E (z) − z −1 E (z) + TTi E (z) + TTd E (z) + TTd (1 − 2z −1 + z −2 ) E (z)
h i
Td
U (z) − z −1 U (z) = kc T
E (z) − 1 + 2 TTd z −1 E (z) + Td −2
1+ Ti
+ T T
z E (z)
T Td Td Td
uk = uk−1 + kc 1 + + ek − 1 + 2 ek−1 + ek−2 (2.6)
Ti T T T
puede utilizar este método a partir del tiempo del retraso L y la constante
C (s) ke−Ls
= (2.7)
U (s) τs + 1
Figura 2.10: Curva experimental para determinar los parámetros del PID
Controlador kc Ti Td
P τ /L ∞ 0
PI 0.9T/L L/0.3 0
PID 1.2T/L 2L 0.5L
parte proporcional del controlador PID hasta que el sistema tenga oscilacio-
Ziegler-Nichols kc Ti Td Observaciones
P ku /2 - - Recomendado
PI ku /2.2 Pu /1.2 0.2<D/τ <2
PID ku /1.7 Pu /2 Pu /8
Tyreus-Luyben kc Ti Td
PI ku /3.2 Pu /0.45 - Recomendado
PID ku /2.2 Pu /0.45 Pu /6.3 D/τ <0.2
Ciancone-Marlin kc Ti Td
PI ku /3.3 Pu /4 - Recomendado
PID ku /3.3 Pu /4.4 Pu /8.1 D/τ >2
Cuando D/τ < 0,2 el rendimiento del sistema empieza a decrecer, por lo
G = kc e−Ds s;
mediante la adición de un integrador este método traba-
sistemas de control óptimo y adaptable, debido a que estos sistemas pueden tener
varias entradas y salidas, además, que los mismos sistemas pueden ser variantes
en el tiempo y/o no lineales; en este caso, los sistemas convencionales que solo
espacio de estados para controlar este tipo de sistemas que en sus estructuras
reales es nita.
Espacio de estado: es el espacio vectorial donde los estados del sistema to-
man valores y pueden representarse, por tanto, el espacio de estados tendrá
del sistema, los cuales, pueden determinar una salida relacionada con la
Tanto los sistemas de tiempo continuo como los sistemas de tiempo discreto
x (k + 1) = f [x (k) , u (k) , k]
y su ecuación de salida
Las ecuaciones anteriores se pueden simplicar para los sistemas lineales va-
donde
discreto
y (k) + a1 y (k − 1) + a2 y (k − 2) + ... + an y (k − n) =
b0 u (k) + b1 u (k − 1) + ... + bn u (k − n) (2.10)
Y (z) b0 + b1 z −1 + ... + bn z −n
= (2.11)
U (z) 1 + a1 z −1 + ... + an z −n
ser:
x1 (k + 1) 0 1 0 ··· 0 x1 (k) 0
x2 (k + 1) 0
0 1 ··· 0 x2 (k)
0
.. .. .
.
.
.
.
.
..
. = . . . ··· . . +0 u (k)
··· xn−1 (k) 0
x
n−1 (k + 1) 0 0 0 1
xn (k + 1) −an −an−1 −an−2 ··· −a1 xn (k) 1
(2.13)
x1 (k)
x2 (k)
. . .
y (k) = bn − an b0 ..bn−1 − an−1 b0 .. · · · ..b1 − a1 b0
..
+ b0 u (k) (2.14)
.
xn (k)
salida son
x1 (k + 1) 0 0 ··· 0 0 −an x1 (k) b n − an b 0
x2 (k + 1) 1
0 ··· 0 0 −an−1
x2 (k) bn−1 − an−1 b0
.. .. .
.
.
.
.
.
.
.
. .
= . .. + . u (k)
. . . . . .
x
n−1 (k + 1) 0
0 ··· 1 0 −a2 xn−1 (k) b2 − a2 b0
xn (k + 1) 0 0 ··· 0 1 −a1 xn (k) b 1 − a1 b 0
(2.15)
x1 (k)
x2 (k)
h i
..
y (k) = 0 0 ··· 0 1 . + b0 u (k) (2.16)
x
n−1 (k)
xn (k)
x1 (k + 1) p1 0 · · · 0 x1 (k) 1
x2 (k + 1) 0 p2 · · · 0 x2 (k) 1
. = . . + . u (k) (2.17)
. . . . . .. ..
. .
. . . . . .
xn (k + 1) 0 0 · · · pn xn (k) 1
x1 (k)
i x2 (k)
h
y (k) = c1 c2 · · · cn .
+ b0 u (k) (2.18)
.
.
xn (k)
polo del orden m en z = p1 , y todos los demás polos son distintos, entonces,
la representación en espacio de estados es
x1 (k + 1) p1 1 0 ··· 0 0 ··· 0 x1 (k) 0
1 ··· ···
x2 (k + 1) 0 p2 0 0 0 x (k) 0
2
. .. .. . . . . . ..
. . . . . .
. . . . . . . . .
xm (k + 1) = 0 0
0 ··· p1 0 ··· 0 xm (k)
+ 1 u (k)
xm+1 (k + 1) 0 0 0 ··· 0 pm+1 · · · 0 xm+1 (k) 1
.
. . . . . .
. .
. . . . . . . . .
. . . . . . . . .
xn (k + 1) 0 0 0 ··· 0 0 ··· pn xn (k) 1
(2.19)
x1 (k)
h i x2 (k)
y (k) = c1 c2 · · · cn ..
+ b0 u (k) (2.20)
.
xn (k)
2.6.2. Controlabilidad
Un sistema es controlable si a partir de un estado inicial arbitrario se puede
espacio de tiempo nito mediante cualquier señal de control, por lo que se concluye
puesto que volvería imposible de controlar dichas variables y, por ende, el sistema
existe una señal de control constante por intervalos u(kT ) denida a lo largo de
n−1
x (nT ) = Gn x (0) + Gn−j−1 Hu (jT )
P
j=0
n n−1
x (nT ) = G x (0) + G Hu (0) + Gn−2 Hu (T ) + · · · + Hu ((n − 1) T )
se obtiene
u ((n − 1) T )
u ((n − 2) T )
. . . n−1
x (nT ) − G x (0) = H..GH.. · · · ..G H
n
.
(2.22)
.
.
u (0)
es n, es decir
. . . n−1
rango H..GH.. · · · ..G H =n (2.23)
2.6.3. Observabilidad
De la misma manera que la controlabilidad, se plantea un sistema en tiempo
donde
El sistema se dice ser completamente observable si cualquier estado inicial x(0)
puede determinarse a partir de la observación de y(kT) sobre un número nito
si cualquier transición del estado de manera eventual afecta a todos los elementos
dichas variables.
x (kT ) = Gk x (0)
y (0) = Cx (0)
y (T ) = CGx (0)
.
.
.
Los polos del sistema, por tanto, se pueden ubicar en cualquier localización, la
del sistema mediante una matriz de ganancia apropiada, y con una adecuada
ponderación.
donde
z1 = µ1
z2 = µ2
.
.
.
zn = µn
Por tanto, la ecuación característica es
|zI − G + HK| = (z − µ1 ) (z − µ2 ) · · · (z − µ2 )
|zI − G + HK| = z n + α1 z n−1 + α2 z n−2 + · · · + αn−1 z + αn = 0
Deniendo
Ĝ = G − HK
Sean
I = I
Ĝ = G − HK
Ĝ2 = (G − HK)2 = G2 − GHK − HKĜ
Ĝ3 = (G − HK)3 = G3 − G2 HK − GHKĜ − HKĜ2
.
.
.
reescribiendo
Ĝ = φ (G) − αn−1 HK − αn−2 GHK − αn−2 HKĜ − · · ·
− HKĜn−1 − Gn−1 HK
αn−1 K + αn−2 KĜ + · · · + KĜn−1
αn−2 K + αn−3 KĜ + · · · + KĜn−2
. . . n−1
. . .
= φ (G) − [Link]. · · · .G H .
.
.
K
(2.29)
Como
φ Ĝ = 0
entonces
αn−1 K + αn−2 KĜ + · · · + KĜn−1
αn−2 K + αn−3 KĜ + · · · + KĜn−2
. . . n−1
. . .
φ (G) = [Link]. · · · .G H .
(2.30)
.
.
K
αn−1 K + αn−2 KĜ + · · · + KĜn−1
αn−2 K + αn−3 KĜ + · · · + KĜn−2
i
h
0 0 ··· 0 1
.
.
.
K
−1
. . . n−1
= [ 0 0 · · · 0 1 ] H..GH.. · · · ..G H φ (G)
. . .
K = [ 0 0 ··· 0 1 ][ H..GH.. · · · ..Gn−1 H ]−1 φ (G) (2.31)
trar la matriz de realimentación del estado requerida, K, para los polos inicial-
mente impuestos.
tema, en los cuales se basa la realimentación del estado para reducir el error en
del sistema para tiempo t > t0 con el n de saber si dichas variables están en
posición original.
ser medidas de manera directa por lo que se necesita estimar el valor cuanticable
como observación.
donde los términos que intervienen en este sistema son los mismos hasta ahora
aplicados, lo único que hay que recalcar es que la matriz G es una matriz no
El hecho de que el estado x (k) no puede medirse, por lo que se realiza una
estimación del mismo x̃ (k) a partir de la observación entre sus señales de control y
salida, la estimación debe ser muy aproximada a la real, por lo que es conveniente
que las matrices G y H sean las mismas y/o iguales a las del sistema original.
Entonces, es posible comparar la salida ỹ (k) con y (k), dado que la salida ỹ (k)
si puede medirse.
Se trabaja con el vector de estado estimado, por lo que la señal de control es igual
Debido a que
de Ackermann
−1
C 0
CG 0
Ke = φ (G)
..
.
. (2.39)
. .
n−1
CG 1
donde
producto del cambio constante del estado del sistema, que a su vez, es consecuen-
vector de salida Y.
donde
v (k + 1) = v (k) + r (k + 1) − y (k + 1)
= v (k) + r (k + 1) − C [Gx (k) + Hu (k)]
= −CGx (k) + v (k) − CHu (k) + r (k + 1) (2.41)
y el vector de control es
u (k + 1) = −K2 x (k + 1) + K1 v (k + 1)
= (K2 − K2 G − K1 CG) x (k) + (Im − K2 H − K1 CH) u (k)
+ K1 r (k + 1) (2.43)
Como u(k) es una combinación lineal de los vectores de estado x(k) y v(k). Se
puede formar un nuevo vector de estado conformado por x(k) y u(k), por lo que
se puede obtener una nueva ecuación de estado con su respectiva ecuación de
r(k).
Se considera una entrada escalón, por lo que el vector de comando es constante
r (k) = r
entonces
Debido a que, para una entrada escalón, x(k), u(k) y v(k) tienden a los valores
es decir,
y (∞) = r
donde
" #
. xe (k)
w (k) = [ K2 − K2 G − K1 CG .
. Im − K2 H − K1 CH ] (2.49)
ue (k)
Deniendo
" #
xe (k)
ξ (k) =
ue (k)
" #
G H
Ĝ =
0 0
" #
0
Ĥ =
Im
.
K̂ = −[ K2 − K2 G − K1 CG..Im − K2 H − K1 CH ] (2.50)
una vez que se hayan determinado los polos deseados en lazo cerrado. Entonces,
observa que
" #
. G − In H .
[ K2 ..K1 ]= = [ K2 G − K2 + K1 CG..K2 H + K1 CH ]
CG CH
(2.53)
.
K̂ = [ K2 G − K2 + K1 CG.. − Im + K2 H + K1 CH ]
" #
. G − In H .
K̂ = [ K2 ..K1 ] + [ 0.. − Im ]
CG CH
agregue al sistema.
aprendizaje que van obteniendo los sistemas a través de la práctica mediante los
neuronales, sin embargo, desde los primeros años de desarrollo aparecieron el per-
ceptrón simple y el ADALINE por sus siglas en inglés, Adaptive Linear Neuron-.
salida, por lo que si existieran salidas con números decimales este procedimiento
no es útil.
( P
1 i wi xi (y) > θ
S (t + 1) = (2.55)
0 caso contrario
2.7.1. ADALINE
El ADALINE se encarga de eliminar el inconveniente de no poder trabajar con
de error que existe entre la salida deseada y la medida. Esto que se acaba de
mencionar, nos da una perspectiva de que este algoritmo se puede utilizar para
convencional, PID.
La salida y de la neurona es
n
X
ỹ = w i xi + θ (2.56)
i=1
e = |dp − xp | (2.57)
(2.56), dondei = 1, 2, . . . n.
Los pesos wi inician con valores aleatorios entre -1 y 1, la regla de aprendizaje,
Delta, consiste en actualizar estos pesos hasta lograr los valores óptimos de los
∆p wj = γ (dp − xp ) xj (2.58)
entre 0 y 1.
Una vez que se obtienen los pesos ponderados actuales, se suma algebráica-
mente con los pesos anteriores, logrando actualizar el vector de pesos, Ecuación
(2.59).
T Td Td Td
uk = uk−1 + kc 1 + + ek − 1 + 2 ek−1 + ek−2
Ti T T T
Se observa que la salida depende del error actual, ek , del error de hace una mues-
tra, ek−1 , y del error de hace dos muestras, ek−2 . Por lo tanto, podemos tener un
vector de error
ek
E = ek−1
ek−2
Dicho esto, la Ecuación (2.6), quedaría
T Td Td Td
uk = uk−1 + kc 1 + + ek − 1 + 2 ek−1 + ek−2 (2.60)
Ti T T T
Ya que los valores de los parámetros del PID, así como el tiempo de muestreo,
Se puede considerar
w1
w = w2
w3
Entonces
uk = uk−1 + wT E (2.62)
(2.56), por lo que podemos decir que el vector w funciona como un vector de
pesos.
depende de los parámetros del PID, así como tampoco del tiempo de muestreo.
mejora del diseño original que fue desarrollado y usado como herramienta de
-open hardware - en su sitio web [29]. El diseño original cuenta con una licencia
nestésico, tipo impedancia-, misma que se puede utilizar para diferentes tipos
3.1.1. Arduino
Es una plataforma de código abierto, tanto de hardware y software, compuesta
y control de diferentes componentes como motores, luces y demás, ver Figura 3.1.
57
CAPÍTULO 3. CONSTRUCCIÓN DE UNA PALA HÁPTICA
1
Figura 3.1: Plataforma Arduino
dor de la placa.
más de su clara y, relativamente, fácil programación son las ventajas que esta
fácilmente dos motores de CD por separado, ver Figura 3.2. Cada control consta
2
Figura 3.2: Ardumoto Shield
Todas estas características se logran gracias al driver de motor L298 que está
1 [Link]
2 [Link]
Oswaldo Guiñansaca Soria 58
CAPÍTULO 3. CONSTRUCCIÓN DE UNA PALA HÁPTICA
voltajes y corrientes que pueden llegar hasta los 2A, y acepta niveles lógicos TTL
Arduino. Esta fuente sirve como soporte para elevar la corriente hasta un punto
óptimo con el que trabajan las cargas conectadas al Ardumoto. En el caso de los
3
Figura 3.3: Distribución de pines del Ardumoto Shield
así como los pines del Ardumoto que se utilizan, se muestran en la Tabla 3.1.
Pines Función
Control
Arduino Ardumoto
3 PWM A 0 = apagado, 255 = máx. velocidad
11 PWM B 0 = apagado, 255 = máx. velocidad
12 Dirección A Señal Digital de Control (Uno/Cero = Derecha/Izquierda)
13 Dirección B Señal Digital de Control (Uno/Cero = Derecha/Izquierda)
3 [Link]
Oswaldo Guiñansaca Soria 59
CAPÍTULO 3. CONSTRUCCIÓN DE UNA PALA HÁPTICA
ángulo de las líneas de campo magnético, paralelas al plano del sensor, a las
3.2.
3.1.4. Actuador
Existen algunos tipos de actuadores que dependen del tipo de potencia que se
dentro de las propiedades con las que debe cumplir la interfaz, su hoja de espe-
4
Figura 3.5: Motor utilizado en la interfaz háptica
3.6.
4 [Link]
Consta de un mecanismo de ajuste para dicha pala en la parte superior, ver Figura
[Link]. Soportes
Ayudan a la estabilización entre el módulo frontal y la base, dando mayor
rmeza a la interfaz, ver Figura 3.8. Como el módulo frontal, esta parte también
es de 6mm de espesor.
Figura 3.8: Soportes para la estabilización del módulo frontal sobre la base de la
interfaz háptica
a la pala y cuenta con un espesor de 6mm, ver Figura 3.9. Se sujeta al módulo
sionero al mismo, ver Figura 3.10. Transere la energía del motor hacia la pala,
[Link]. Pala
Se había mencionado, anteriormente, que la interfaz, al ser kinestésica de tipo
es, justamente, esa herramienta que permite trabajar con los ambientes virtuales.
3.11. En la parte inferior de la misma se le coloca una banda para dar mayor
3.1.6. Montaje
Con todos los materiales y componentes mecánicos y electrónicos a disposi-
ción, el montaje resulta sencillo. Para la unión de las piezas de acrílico se utilizó
háptica.
2. La pieza resultante del paso 1, se la junta con la base. Hasta aquí, ver Figura
3.12.
frontal.
un prisionero.
unos collarines para que la pala no se desplace por el eje, además de dejar
Arduino.
68
CAPÍTULO 4. CONTROL DE LA INTERFAZ HÁPTICA
la pala con respecto a su centro de rotación, o bien, el arco descrito por el mango
de conversión para los bits que se reciben desde el Arduino hacia una cantidad
Lzona = Lrueda
por lo tanto
Reemplazando
rpala · rrueda
xpala = × θrueda (4.1)
rzona
El factor de conversión se representa como una ganancia a la salida de la
Se tiene
rpala = 0.1355 m
rrueda = 0.0178 m
rzona = 0.072 m
2π · #bit
θrueda =
1023
La relación nal es
(0,1355) · (0,0178)
xpala = × θrueda (4.2)
(0,072)
mediante PWM, se traduce en el torque necesario que el motor debe aplicar para
τ = Fr
La fuerza aplicada por la rueda motriz es igual fuerza que recibe la pala en su
parte inferior
Fzona = Frueda
desarrollando
τzona τrueda
=
rzona rrueda
la fuerza en la pala es
τzona
Fpala =
rpala
Por lo tanto, reemplazando
rzona
Fpala = × τrueda (4.3)
rpala · rrueda
rpala = 0.1355 m
rrueda = 0.0178 m
rzona = 0.072 m
además de la resistencia presente en los terminales del motor igual a 1,84ω -se
J ω̇ + bω = C (4.5)
donde
C = constante de Coulomb
La inercia total del rotor del motor viene dado por la Ecuación (4.6), en la
cual, la inercia total es igual a la inercia del rotor más la inercia de la masa que
del motor, ver Anexo B, y es igual a 10.9 [gr · cm2 ]. Mientras, la inercia de la
1
m1 · r12 + m2 r22 + r32
Jmasa = (4.7)
2
masa total = 41 gr
r1 = 1.78 cm
r2 = 0.57 cm
r3 = 0.15 cm
l1 = 1.27 cm
l2 = 1.45 cm
El volumen total es
1
Jmasa = 2
36,97 · 1,782 + 4,028 0,572 + 0,152 = 59,27gr · cm2
paración entre las respuestas real y simulada con ayuda del modelo del motor,
misma.
rango de 0 5V.
En nuestro caso utilizamos una función de costo para determinar dichas cons-
C = 0.5477 [N m2/C 2 ]
b
= 1,42
J
Simulando el diagrama de bloques con los valores anteriormente encontrados
Figura 4.11: Aproximación del modelo teórico y real mediante una función de
optimización
Como
b
= 1,42
J
y
J = 70,17 gr · cm2
entonces
h i
Kg·m2
b = 9,96e − 6 seg
que circula por el mismo y esta determinado por la Ecuación (4.8). Una caracte-
rística importante del motor Maxon 353144, elegido para la interfaz, es que ejerce
τ = km i (4.8)
Materiales e instrumentos
Amperímetro
Balanza
Fuente de 8V
Cinta adhesiva
motor.
metro.
τ = rF (4.9)
donde
F = mg
440 2.968506
690 5.23854
780 6.286248
880 6.98472
que. La constante del torque del motor está determinada por la pendiente de la
km = 0,009 [N m/mA]
corriente necesaria para mantener el movimiento del motor y/o para empezar el
Corriente (mA)
Primer Paso 64.8
Segundo Paso 68
Promedio 66.4
pero pueda empezar a girar una vez que se le da un impulso inicial con la
4. Una vez realizadas las mediciones, ver Tabla 4.2, se tiene un rango de valores
mgD2
Iz = (4.10)
16π 2 fn2 h
donde
m = masa de la pala
1. Se sujeta la pala de dos extremos. Cada uno, a una distancia D/2 desde el
4.16.
programa Solidworks, y es
Parámetros
fn 0.886 Hz
m 106 gr
D 10 cm
h 21 cm
segundos, lo que nos da una frecuencia natural de 0.886 Hz, ver Tabla 4.3.
Por lo tanto
determina el torque que debe imprimir el motor para que se sienta la fuerza en
hacia una relación cinemática de manera opcional, ya que esta relación es útil
4.19,
respuestas al escalón, una positiva y la otra negativa, cabe señalar que la referencia
la sintonización.
Figura 4.20: Respuesta del controlador PID para una entrada escalón a) positivo
y b) negativo
Figura 4.21: Respuesta del controlador PID para una entrada escalón a) positivo
y b) negativo
Figura 4.22: Respuesta del controlador PID para una entrada escalón a) positivo
y b) negativo
manente es casi cero por lo que estos valores son los óptimos y los escogidos para
el controlador PID.
tes tipos como un escalón, sinusoidales, etc. Lo importante es que la planta sea
sería una señal de ruido blanco que contiene componentes de frecuencia en todo
el espectro, pero es complicada de generar, por lo que se utiliza una señal binaria
pseudoaleatoria -PRBS por sus siglas en inglés- que tiene propiedades similares
a los del ruido blanco en su espectro. Es una señal que toma dos posibles valores
señal, sin seguir un patrón, toma un valor aleatorio, de los dos posibles, es decir,
sistema. Se escoge el modelo que puede interpretar los datos con el menor número
un modelo autorregresivo con variable externa -ARX, por sus siglas en inglés-,
Generamos una señal aleatoria en MATLAB, ver Figura 4.25, con las siguien-
tes propiedades:
PRBS, cuya salida u(k) se aplica a la planta haciendo que ésta empiece a ope-
portar la señal de entrada, u(k), y la señal de salida, y(k), y luego de escoger una
estimación polinomial del modelo ARX, se obtiene una gran cantidad de modelos,
ver Figuras 4.28 y 4.29. Pero se procede a elegir el modelo que mejor se ajuste a
número de polos que ofrece cada modelo y la bondad de ajuste que ofrecen los
Figura 4.29: Salida medida vs salida simulada de los modelos que mejor rendi-
miento presentan
4.30, el cual, consta de dos polos para el control de la planta. Además, brinda un
ajuste del 79.14 %, el cual no hay que confundir con la estimación de la Figura
4.29, cuyo porcentaje representa la diferencia del error entre las salidas medida y
simulada de la planta.
de MATLAB
de MATLAB
1 [G H C D] = ssdata (HGid)
Las matrices encontradas son
" #
1,2285 −0,6863
G=
0,5 0
" #
0,125
H=
0
C = [0,0806 − 0,1022]
D=0
tema mediante
. . . n−1
rango H..GH.. · · · ..G H =n
y
T .. T T .. .
. T n−1 T
rango C .G C . · · · . G C =n
Figura 4.31: Control con estado observado para la interfaz háptica - Simulink
las raíces de los polinomios de Bessel normalizados del Anexo C. Como el rango
p1 = −4,503 + j 2,34
p2 = −4,503 − j 2,34
z = eT pi (4.12)
1 K = acker (G, H, [ z1 z2 ] )
el cual nos entrega la matriz de realimentación
K = [−0,0185 0,2021]
es
Ke = [116,9292 80,1450]
háptica, así como la salida de voltaje para el control del torque aplicado al motor.
Figura 4.36: Seguimiento con integrador y estado observado para la interfaz háp-
tica - Simulink
p1 = −5,0093
p2 = −3,9668 + j 3,7845
p3 = −3,9668 − j 3,7845
discretizando
z1 = exp(T (−5,0093))
z2 = exp(T (−3,9668 + j ∗ 3,7845))
z3 = exp(T (−3,9668 − j ∗ 3,7845))
1 Gc = [G H; 0 0 0 ] ;
2 Hc = [ 0 ; 0; 1 ] ;
3 Kc = acker (Gc, Hc, [ z1 z2 z3 ] ) ;
donde " #
1,2285 −0,6863
G=
0,5 0
" #
0,125
H=
0
La matriz de realimentación Kc es
a partir de lo cual
K2 = [1,2363 − 1,1051]
K1 = [21,6553]
Una vez encontrados todos los parámetros necesarios para el seguidor con inte-
Figura 4.37: Respuesta del seguidor con integrador y estado observado ante una
referencia cero - Simulink
La Figura 4.38 muestra la respuesta de la planta ante una entrada tipo escalón.
Figura 4.38: Respuesta del seguidor con integrador y estado observado ante una
entrada escalón - Simulink
El bloque S-Function contiene todo el código del controlador con redes neu-
1 OPss=0;
2 PVss=0;
3 SPss=0;
y se las guarda en los vectores
1 p .OP = [ OPss OPss OPss ] ; % [ y(k −1) , y(k −2) , y(k −3) ]
initialized at ss
2 p .PV = [ PVss PVss PVss ] ; % [ u(k −1) , 0 , 0] i n i t i a l i z e d at ss
3 p .SP = [ SPss SPss SPss ] ; % [w( k ) , w(k −1) , w(k −2) ] i n i t i a l i z e d
at ss
a estos vectores los guardamos en el archivo pid
1 save pid p ;
Dentro de la función mdlOutputs del bloque S-Function agregamos el siguiente
código
ción.
4.40 se deben a perturbaciones del sistema. Algo claro que también se nota es
que el error no se reduce a cero en todos los casos. Hay que recordar que este
la planta.
Figura 4.40: Respuesta del controlador PID neuronal del interfaz háptico - Simu-
link
trolador con redes neuronales, tanto para una referencia positiva como para una
nente.
Figura 4.41: Respuesta del controlador con redes neuronales ante una referencia
escalón a) positiva y b)negativa
dos partes, básicamente: un soporte para el péndulo y el péndulo mismo, las dos
102
CAPÍTULO 5. APLICACIONES CON LA INTERFAZ HÁPTICA
dicho péndulo.
con las herramientas Simulink y Simmechanics. Las Figuras 5.4 y 5.5 muestran el
vamente.
Este tipo de control permite la interacción del usuario con el entorno virtual,
permitiéndole que sea él, el que controle el péndulo de manera manual, mediante
la realimentación de su visión.
En las propiedades del bloque Revolute de la Figura 5.4, podemos cambiar los
des queremos medir: posición, velocidad o aceleración, ver Figura 5.7. Para este
Figura 5.6: Control en lazo abierto del péndulo invertido virtual - Simulink
Tabla 5.1: Valores del PID para el control en lazo abierto del péndulo invertido
virtual
Parámetros PID
kc 17
Ti 0.35
Td 0.07
más no para el péndulo invertido. Los parámetros del PID para esta aplicación
la interfaz háptica. La referencia del control se encuentra en cero para poder dar
cerrado del péndulo invertido. Se utilizan dos controles en cascada, uno para la
Figura 5.8: Control en lazo cerrado del péndulo invertido virtual - Simulink
La interfaz háptica, a diferencia del control en lazo abierto que entrega direc-
tamente el torque al péndulo virtual, esta vez, entrega su posición como referencia
Las Figuras 5.9 y 5.10 presentan la respuesta de salida de los dos controles,
Figura 5.9: Respuesta del controlador de la interfaz háptica en lazo cerrado para
la aplicación del péndulo invertido - Simulink
Tabla 5.2: Valores del PID para el control en lazo cerrado del péndulo invertido
virtual
Figura 5.10: Respuesta del controlador del péndulo invertido virtual en lazo ce-
rrado - Simulink
do a lo largo de esta tesis. Una de ellas, es la ayuda que puede brindar a personas
que tienen algún tipo de impedimento físico en cualquier articulación del cuerpo
En esta sección, se presenta una aplicación que puede ser útil para un estudio
más amplio de la interfaz háptica, que por ejemplo, puede ser un exoesqueleto. Se
la rodilla.
1 [Link]
seguimiento de la rodilla.
Figura 5.13: Señal obtenida de los datos del movimiento de la rodilla, utilizada
como referencia en el seguidor
Los valores de los parámetros del PID utilizados para el sistema de seguimiento
Parámetros PID
kc 5
Ti 0.43
Td 0.1
PID no tiene respuestas negativas que provoquen una mala interacción del
es mucho menor que la fuerza mínima que debe aplicar el usuario cuando
Conclusiones
ventaron utilizando métodos empíricos. Por ejemplo, fue usada una banda
ción entre los dos objetos, lo cual, dicultó el control del interfaz háptico,
La fricción entre la pala háptica y la rueda motriz debe ser mínima, asi-
del interfaz háptico. Se realizaron pruebas entre los 19200 y 115200 baudios,
características de adaptación.
112
CAPÍTULO 6. CONCLUSIONES
buen rendimiento en tiempo real, con cero error de fase entre la interfaz
En la evaluación del interfaz háptico, queda claro que se necesitan más apli-
caciones para realizar una evaluación más completa, así como del número
del mismo.
114
Anexo A
115
® L298
.. TOTAL DC CURRENT UP TO 4 A
LOW SATURATION VOLTAGE
. OVERTEMPERATURE PROTECTION
LOGICAL "0" INPUT VOLTAGE UP TO 1.5 V
(HIGH NOISE IMMUNITY)
DESCRIPTION PowerSO20
Multiwatt15
The L298 is an integrated monolithic circuit in a 15-
lead Multiwatt and PowerSO20 packages. It is a
high voltage, high current dual full-bridge driver de-
signed to accept standard TTL logic levels and drive ORDERING NUMBERS : L298N (Multiwatt Vert.)
L298HN (Multiwatt Horiz.)
inductive loads such as relays, solenoids, DC and L298P (PowerSO20)
stepping motors. Two enable inputs are provided to
enable or disable the device independently of the in-
put signals. The emitters of the lower transistors of nection of an external sensing resistor. An additional
each bridge are connected together and the corre- supply input is provided so that the logic works at a
sponding external terminal can be used for the con- lower voltage.
BLOCK DIAGRAM
15 CURRENT SENSING B
14 OUTPUT 4
13 OUTPUT 3
12 INPUT 4
11 ENABLE B
10 INPUT 3
9 LOGIC SUPPLY VOLTAGE VSS
Multiwatt15 8 GND
7 INPUT 2
6 ENABLE A
5 INPUT 1
4 SUPPLY VOLTAGE VS
3 OUTPUT 2
2 OUTPUT 1
1 CURRENT SENSING A
GND 1 20 GND
Sense A 2 19 Sense B
N.C. 3 18 N.C.
Out 1 4 17 Out 4
Out 2 5 PowerSO20 16 Out 3
VS 6 15 Input 4
Input 1 7 14 Enable B
Enable A 8 13 Input 3
Input 2 9 12 VSS
GND 10 11 GND
D95IN239
THERMAL DATA
Symbol Parameter PowerSO20 Multiwatt15 Unit
Rth j-case Thermal Resistance Junction-case Max. – 3 °C/W
Rth j-amb Thermal Resistance Junction-ambient Max. 13 (*) 35 °C/W
2/13
L298
ELECTRICAL CHARACTERISTICS (VS = 42V; VSS = 5V, Tj = 25°C; unless otherwise specified)
Symbol Parameter Test Conditions Min. Typ. Max. Unit
VS Supply Voltage (pin 4) Operative Condition VIH +2.5 46 V
VSS Logic Supply Voltage (pin 9) 4.5 5 7 V
IS Quiescent Supply Current (pin 4) Ven = H; IL = 0 Vi = L 13 22 mA
Vi = H 50 70 mA
Ven = L Vi = X 4 mA
ISS Quiescent Current from VSS (pin 9) Ven = H; IL = 0 Vi = L 24 36 mA
Vi = H 7 12 mA
Ven = L Vi = X 6 mA
ViL Input Low Voltage –0.3 1.5 V
(pins 5, 7, 10, 12)
ViH Input High Voltage 2.3 VSS V
(pins 5, 7, 10, 12)
IiL Low Voltage Input Current Vi = L –10 µA
(pins 5, 7, 10, 12)
IiH High Voltage Input Current Vi = H ≤ VSS –0.6V 30 100 µA
(pins 5, 7, 10, 12)
Ven = L Enable Low Voltage (pins 6, 11) –0.3 1.5 V
Ven = H Enable High Voltage (pins 6, 11) 2.3 VSS V
Ien = L Low Voltage Enable Current Ven = L –10 µA
(pins 6, 11)
Ien = H High Voltage Enable Current Ven = H ≤ VSS –0.6V 30 100 µA
(pins 6, 11)
VCEsat (H) Source Saturation Voltage IL = 1A 0.95 1.35 1.7 V
IL = 2A 2 2.7 V
VCEsat (L) Sink Saturation Voltage IL = 1A (5) 0.85 1.2 1.6 V
IL = 2A (5) 1.7 2.3 V
VCEsat Total Drop IL = 1A (5) 1.80 3.2 V
IL = 2A (5) 4.9 V
Vsens Sensing Voltage (pins 1, 15) –1 (1) 2 V
3/13
Anexo B
119
�max 26 26 mm, Graphite Brushes, 6 Watt
maxon -max
M 1:2
Stock program
Standard program Order Number
Special program (on request)
with terminals 110946 110947 110948 110949 110950 110951 110952 110953 110954 110955 110956 110957
with cables 353143 353144 353145 353146 353147 353148 353149 353150 353151 353152 353153 353154
Motor Data
Values at nominal voltage
1 Nominal voltage V 7.2 9.0 12.0 12.0 18.0 18.0 24.0 24.0 30.0 36.0 42.0 48.0
2 No load speed rpm 9270 10000 10000 8300 8260 7410 8590 7870 8810 8440 8170 6240
3 No load current mA 118 104 76.8 59.7 39.2 34.0 30.8 27.6 25.4 20.0 16.4 10.3
4 Nominal speed rpm 7160 7620 7600 5590 5640 4790 5880 5100 6210 5850 5550 3550
5 Nominal torque (max. continuous torque) mNm 6.73 7.97 11.1 13.0 13.6 13.8 13.1 12.9 13.7 13.8 13.7 13.7
6 Nominal current (max. continuous current) A 1.08 1.08 1.08 1.03 0.708 0.642 0.532 0.481 0.452 0.365 0.300 0.201
7 Stall torque mNm 38.2 39.7 52.7 43.8 45.6 41.0 43.5 38.1 47.9 46.4 43.7 32.6
8 Starting current A 5.50 4.90 4.80 3.29 2.25 1.82 1.67 1.34 1.51 1.16 0.911 0.455
9 Max. efficiency % 67 69 73 72 74 73 74 73 75 75 75 72
Characteristics
10 Terminal resistance 1.31 1.84 2.50 3.65 8.00 9.91 14.4 17.9 19.9 31.0 46.1 106
11 Terminal inductance mH 0.101 0.138 0.254 0.372 0.862 1.07 1.42 1.69 2.13 3.35 4.85 10.8
12 Torque constant mNm / A 6.94 8.09 11.0 13.3 20.2 22.5 26.0 28.3 31.8 39.9 48.0 71.6
13 Speed constant rpm / V 1380 1180 869 718 472 423 367 337 300 239 199 133
14 Speed / torque gradient rpm / mNm 260 268 198 197 186 186 203 213 188 186 191 197
15 Mechanical time constant ms 33.4 30.5 27.9 27.1 25.4 25.2 24.9 24.9 24.5 24.3 24.2 24.2
16 Rotor inertia gcm 2 12.3 10.9 13.5 13.2 13.0 12.9 11.7 11.2 12.5 12.5 12.1 11.7
121
Tabla C.1: Raíces de los polinomios normalizados de Bessel
k
ANEXO C.
1 −4,62
2 −4,053 ± j2,34
3 −5,0083 −3,9668 ± j3,7845
4 −4,0156 ± j5,0723 −5,5281 ± j1,6553
5 −6,448 −4,1104 ± j6,3142 −5,9268 ± j3,0813
6 −4,2169 ± j7,53 −6,2613 ± j4,4018 −7,1205 ± j1,454
122
RAÍCES DE LOS POLINOMIOS NORMALIZADOS DE BESSEL
ANEXO C. RAÍCES DE LOS POLINOMIOS NORMALIZADOS DE BESSEL
Neuroscience & Biobehavioral Reviews, vol. 34, no. 2, pp. 246259, 2010.
devices, in Computer Graphics Forum, vol. 22, no. 2. Wiley Online Library,
De-La-Torre, Haptic interfaces and devices, Sensor Review, vol. 24, no. 1,
[8] Y.-S. Lee, S. Lin, and R. Narayan, Interactive forces analysis and haptic
pp. 271278.
124
BIBLIOGRAFÍA
[10] B. Hannaford and J.-H. Ryu, Time-domain passivity control of haptic in-
terfaces, Robotics and Automation, IEEE Transactions on, vol. 18, no. 1,
[16] W.-C. Wu, C. Basdogan, and M. A. Srinivasan, Visual, haptic, and bimodal
[18] T. W. Fong, F. Conti, S. Grange, and C. Baur, Novel interfaces for re-
mote driving: gesture, haptic, and pda, in Intelligent Systems and Smart
300311.
Engineering, IEEE Transactions on, vol. 10, no. 3, pp. 496502, 2013.
of the art survey, Int. J. Comput. Sci. Issues (IIJCSI), vol. 9, no. 5, pp.
234244, 2012.
xonomy, research status, and challenges, Computers & Graphics, vol. 21,
[27] C.-C. Yu, Autotuning of PID controllers: A relay feedback approach. Sprin-
2015.