_'-~ìf:~* S*
`.“_^_1\,_š›`:-~--' *_V ^",.`,;;'_ _'-_V V' _-_ V ._ ___,_ V _ _ _ _ V. " _, _ V ~ '
ff- -W' ;'I'|- `
z:›_ - V_ _
._;;_-:¢V_V-,=. _; _.
_ _
_: *-_”_-' _
-'1-r" __w1'_' ______ 'W “_§__ ,V _ _ ._ ,__ ___.: ._-__. É .Va_ _
,em al
______.__ .V _ _, V __ __ _ ,___ ..._ _¦____ _ __ _ ¿___ __ V ___¬_V1-«__
3,,
______., ___" __ _ _ _ _,._. VV
Í* -V@ _ _ __ __ _ _ _ __ _ ¡_ É ,›_. _ __ _ _
«J __f V _, ,_ V,_
-uy. ¡_-; V - __
3-__. * _ '_ _ _' “ - ~
W..
.Í-'_*`
,`_ fa~V_V±;:«:
¢on,_S er
_ _, I _;_ :__ _eEnse
,_ V_ ,_`_ _, _ __ "Í",_ _ _
_2:_
___ H
-›r :Q I:
_;1¿';_____._<
(V:-_' †;.;:'_ _ _
;¡_:_;,_|.,'¬V' - _
_
_ __, “" _ ' _ __ -¬í
:Q:-_ _ ___ _ V _ _ __, _ ,__ V- - V_.,, ___ _ _ "___, _~______ V. V _ _ « ___ _
` ' **“ ` , V _V_«¬_ V _ _ ¢¬ _ _
†”:'__:::f_ï'1;_;`:-M ,F_
¿___-¿__ _;¿«_.,_,¿____ __.;u.“_, ' V _ `_-4-':*`__'*
_ _ __ __ _ _ _ V _,_ ,_
,Y
_.V_, `1lJ__
1Í¿VVV-_ _. __, _ _ ,_ ._ ¿V ¡__ _ _ ___ __. _¬V ¿¢;¬.¬: f_.›__ _ _ _ _ .__ ____»_.,-_ ._ ¿if Í
_.. ›V ' - 3' __ V -_›__ V_ V V_ ' _ «_ __,.
__'-aͱ~'†V`V~.Vi*'Éf-A; V _V, ' _ _
1;:
2-'If :Va
LELAZ
_. ~;››u. «___-V ."'_ _ V, ___.,¬~"__. _ns. _ " '\- _. __.
.ab_
V V V »__† V J Vf _
=V._V-¿Vw-_ ___ __ V` _ _VV _
B
LA
D _
V
9
RI
~ wm@
. _ _.. __ _TS_“M;flMl`
_ f .ru_
.M __ _ _Víë
_ __ - _ 'V' -_ _ _ V __, _ _ __,
_ V V_ V ___ __
*fl_V~_Vt;_VV:V.-;f_±V_;__¬¿4¬,:;†=_V..;=-VV`V-1±;_› V2.
__\_«1 _
ÍVr,_VV _ »_ VV 3
vr.
_¶_
_ V V~,___ _ 1 _V -__V V'-faq *_ *VVC-__' ___ _: 1"' V " ,___ _ »_ -- ___ V__,. f"
*_ VV __ _V V _ __ V_ .~ _, ___ V_ _- V_ _- _ _ -___ __ _.-___ _ V _ ______ _____ _ _¬.,____ _ _
- M, , V V _ ,_ V __ ,_ _ . _. - - _ _
V _' _ :V “ V ¡_ V_ «_ _~-- _ V _ ' _ _ _ V' _ _' V *V _V MV _'__. *- V
_ ,_ V _ __ 1 V _ _ -- _ __ ¬_, __ _ _ , __ V _ -- _ ,_ ,___ _ _ V _ _ ¡_ _ V _
_ ____V _ ___”. :¬; _ ›(____,; ,:V ",”__ ___, __, V... '__ __«, __ ','“"__ Í`f'_`Ã`
_ ';_ _. _~ ;_V_-J _, '_
___ “___ _ ____ VV¬ _ ~;¡¡ __ ___ _ _V ,_ _- V_V, ,f _' '
-_ _ . VV _, - V, _______, V_ _1_¡VlI
*í-` _ _. _
._;.«;,-V
_ __. __._ _ _ - __ _V-_
4 VV__; _' V-V'
*-_V___V_f _. __ -V V , _,«_ _ « _ -_ >~_ _,, »_-_ _ _›V_ V
`¿_ì;__',,;n
__@
: ___ _ ___ ,_V ___. ____,_V _
_ f. _ _
¬_< __.__ VV _
[_ V - V V H - V› _ __
*¬É?ï_>"§9f N? V7;
cg¿_ V __ V_ _ _ V,,___ ___ 'V
Ag-V_. _ - V V ._ V- _ ___ _--›,__ __ _ “”' ._ __,; ___ Q. __ ~;_V_ _ V _ _. V _ _ ___ _ VV _
I!¡`___ - _¡_____ V _~\› _ _ V _ ._.__ _ , _, ___« _. ___”. .___ "__ _ .___
_. VV " V__"' HW' 'V . _;
-LV. « 'VV« V, V' ___ ._ - V›« _
Zn
'__ ~
›<"` ` Vs __. ._,___, _ 1 _.,___.-I . _,_ _ V _ _____,_'VV_ _¢ -.__ «
V V , V
Lp _ __,, _ _ _,,___~_V _ _ ¬ ._ _ _
«__
ST ÉA
~_ V __V V«_ r- __:^' ___». ' '
r_ __
"Í"Í'1_*s' '_ __¡Í ._ _ _ »V __ _ V _ - _ ,_ _ __« '___
-\1_._. __,
__!
_.. V V _›V «__ ___ V -_ _ _ __. -, _ _, _.,__ __ .V ,__ V››._«_ - '«" , _m______ _ __. _,______ V _ __ :_ ,___ _ _,_,. __--_ _ _
1:
0 «_ _ ¡__ __ ,___ ,-V «_
_ __ › “ _ _ _ V 1 __ _ V» ›__›_«. - _ _ _ - '__ V _.
__=¬_V»VV;›.«,.V¿¢¿_›«_: f
^' " V Í, _ V _ - ' ' ___'._ '__ _^W"V
___ _ _, _,,-___- ___. , 11 V VV› - _. V ›" _ '*H V_ _ .' ._ ~_"_ V- V V - ___ 7 V V _ 'V _ _ ___, ,___ _ _ _ __' _
_ _ __«_ __ _ -__,_.__ V ___ V ›-- - _ _ _
,_ V__ V _. 'V _- 1' _ _ V 1 *V _
_ _ _ ,___ __
__
¿___ _ .___._ ... _ V _ __ .
__
_ _,___ _ V VV 11 <*.V« _ _» __ _;___¡__V
_?
V _ _ , 'Vw ,___, _ ~› ._V V ._ _,,«, ,
V_ ›_I,_ V _,«Í" V ' _; V
5?: \ _ _ __' .. _ _ _ _
__, _- -V_.^_- _ -_ .V-f
` ""'_V_,._ `,___ _ V, V. _ '
'Vi
_ .___ -_/__, ,_ - _ ___ _._,_
V*- ^ V V UV' -V _V V ._
\ _ __-___ _ ,_ _, -__-. Q A _ nf-^_›¡5›_“V'* 7' V V 7'" ( '
_,_ __._ _ _ _ V, _ ._ _V-- _ _ 1 -_V 1r_
V-¢V<†.-;¡;:_ .'____ VV V_,_, V _ - “V
__”-_- ' _ _ V Vf_. V
_-__
-V _ _ V V__-_ V V_,__. _ ~_¿ _-_V._ ._
-V _ __ ,__ ,_ ___ __ _ ;__ ,___ __ _
_V;__¬_;
V ' _ ›V_ _ , _ V _ _ ,__ _ ___ _
__ _ ›_'-V _ V
_ _ , ___ - _- _, _ _
_ _ __ _ _ __, ›_ __.«_ ___ ,__.____..,_ ._ ___ _ ._ __ __,_›
_ V :_,-- , _- _,:4 « __.,-__ V_ __ V
.___
_ _ _ _ _ ;_,___V.._ _ . __ V ___ ,_ __f_V _ -_ _ _
__"¢_. - -__ ____ _V _ '_ .__V`V V” _, _V-_ -_ ¿____
V V__-__~.V, ,'
.V __ ,__ -1 _ _ _. _. 1 V ' _. *__ ___ V _ _ "__--__ __ ,,V _ _ _ _<¬_V _,__ .,,_ _.,__ ff ___.. -V _
.___. _.__,_,. ~ _ - _- V- _ __
___;
._ __ -V V ._ ,.›, ,_ V _ - ._ __-_~ V VV , _ __ _ V, - ___- _ _ ^¬fV. '_ _" _ .V«›_.,.__. _
__'›__-Vw _ _ __ __ _ _V,_ ,_ V _*," ___ - f '_ V .V _-_V ,;»
`J._ '
. ,______ _ __ , _ _ ,__ _ _,_ V___ _ V_ _¿_
_ _-,___ _ _ _ ___V ._ _, ~'_. ¿V _ _ «_ .. V _ VV` ,_
Y APROBADA POR EL SIGUIENTE COMITÉ
422»
Dr. Rafael Kelly Martinez Director de/ Comité
4
/
1/(AM ,
7 I Dr. César Cruz Herlzandez
Miembro del Comité
Dr. Luis Munguía Orozco
Miembro del Comité
/
D-M.C. Marco Arturo Moreno Corral Miembro del Comité
Z
Dr./José Luis Medina Monroy Jefe del Departamento de Electrónica y Telecomunicaciones
Dr. Federioofiraef Ziehl Director de Estudios de Posgrado
EDUCACION SUPERIOR DE ENSENADA
› '
^ =E;1;i;š;5;1¿ï;5;3;±__,. f;"1f-'&;I1¿E;5=1` ' '
` I _ _.-¿fš;1fš;5l¦1E=ì55;ì§É1š. ^;
DIVISION DE FISICA APLICADA
DEPARTAMENTO DE ELECTRONICA Y
TELECOMUNICACIONES
ESTUDIO DE CONTROLADORES DE DOBLE LAZO
PARA ROBOTS I\/IANIPULADORES
TESIS
que para cubrir parcialmente los requisitos necesarios para obtener el
grado de MAESTRO EN CIENCIAS presenta:
Fermín Pérez Vargas
TELECOMUNICACIONES. Ensenada, Baja California, México. Julio del 2000.
ESTUDIO DE CONTROLADORES DE DOBLE LAZO PARA
ROBOTS MANIPULADORES
Resumen aprobado por:
/
Dr. Rafael Kelly Martínez Director de tesis
La presente tesis tiene como objetivo principal el estudio y análisis de estabilidad del controlador de doble lazo para robots manipuladores. Este controlador se compone de un lazo interno de velocidad y un lazo externo que permite controlar una variable de interés. Esta variable de interés puede ser especificada en coordenadas operacionales o articulares. El objetivo de control puede ser extendido no sólo a control de movimiento sino a control de velocidad en espacio operacional y control por campo de velocidad, entre otros.
Se ha contemplado el estudio del controlador de doble lazo para un motor de co-rriente continua y se ha generalizado este resultado a robots manipuladores cuya salida depende sólo de la posición articular. Asimismo, se ha desarrollado un análisis de estabilidad de este controlador, concluyéndose estabilidad asintótica global.
También se ha llevado a cabo un análisis del controlador de doble lazo para robots manipuladores cuya salida depende no sólo de las posiciones articulares, sino también de las velocidades articulares. El análisis de estabilidad en este caso supone control
ideal de la velocidad.
Como un aporte adicional, esta tesis comprende el diseño y construcción de una
muneca esférica de transmisión directa, así como la obtención de sus modelos cinematico y dinamico.
ON TWO-LOOP CONTROLLERS FOR ROBOT MANIPULATORS
ABSTRACT
The objective of this thesis is the study and analysis of two-loop controllers for robot rnanipulators. This controller is made up of a joint Velocity inner loop and an outer loop that allows control of a wide class of output Variables. These variables can be specified in Operational or joint spaces. The control objetive can be extended to Velocity control in operational space and control Via Velocity fields, among others.
The study of the two-loop controller for a DC motor has been carried out and this result has been generalized to robots whose output depend only of the joint positions. Also, it has been developed a stability analysis of this controller, concluding global asyrnptotic stability.
An analysis of the two-loop controller has been conducted for robot manipulators whose output depend not only on joint positions, but also of the joint velocities. The stability analysis in this case supposes ideal joint Velocity control.
As an additional contribution, this thesis includes the design and construction of a direct-drive spherical wrist, as well as its kinematics and dynamics.
A Dios.
A mis Padres, Fermín y Elvia, por enseñarme a dar siempre el mayor esfuerzo, pero sobre todo por su inmenso amor.
A mis hermanos, Luis Enrique y Alejandro, quienes siempre creen en mi y me han apoyado cada día, a pesar de la distancia.
A Elvia y a Víctor Hugo, porque gracias a ello tengo un motivo muy fuerte para ser mejor cada día y darlo todo, mi sobrino Victor
Hugo, “El Vengador”.
A mi familia, en Tehuacán, en Puebla, en Oaxaca, no importa donde estén, gracias por su apoyo.
A Isa, porque juntos hemos vivido esta aventura.
Al Dr. Rafael Kelly, por su amistad y confianza, así como por compartir sus conocimientos y su metodología a lo largo de este
trabajo.
A los miembros de mi comité de tesis, el Dr. Luis Munguía, el Dr. César Cruz y en especial al M.C. Marco A. Moreno, por sus
correcciones y sugerencias.
A Javier Moreno, por su amistad y su valiosa colaboración en el estudio del controlador de doble lazo.
A Ricardo Campa, con quien siempre tuve un gran apoyo y un punto de vista interesante.
A Jesús Llamas, quien nos apoyó y auxilió en diferentes aspectos.
A Eduardo Gonzalez y Carlos Gómez, mis compañeros de area, por su amistad y ayuda.
A todos mis compañeros de generación, quienes hicieron muy agradable mi estancia en CICESE, y en especial a Moi, un amigo
incondicional.
I Introducción
I_1 Antecedentes . _ _ _ . . . _ . _ _ . _ _
I_2 Objetivos de la tesis . _ _ _ . . _ . _ _ _ _
I_3 Organización del documento . _ . _ _ . _ _
II Modelado de robots manipuladores
II.1 Modelo Cinemático _ _ _ . . . _ _ . . _ _ _
II.2 Dinamica articular de robots . _ _ . _ . _ _
II_3 Objetivos de Control . _ _ _ . _ _ _ _ . _ _
III Control por doble lazo de un motor de c.c.
III.1 Modelo dinámico para un motor de c.c. _ _ _ _
III_2 Objetivo de control _ _ _ _ . . . _ _ _ . _ _
III.3 Control de velocidad de un motor de c.c. _
III.3_l Analisis de estabilidad _ _ . _ _ _ _
III.4 Control de doble lazo para un motor de c.c.
III_4_1 Analisis de estabilidad _ _ . . . _ _
Página
1
. . _ _ _ . _ _ . . _ _ _ _ ._ 1
. . _ _ _ _ _ _ _ . _ . _ _ __ 4
. _ . . _ _ _ _ _ . . _ _ _ ._ 5
8
. . . _ _ _ _ . . . _ _ . . ._ 9
_ . . _ _ _ . . _ _ _ _ . . ._1l
_ _ _ _ . _ _ _ _ _ _ _ _ _ __ 16
20
_ . . . _ __ 21
_ _ _ _ . _ _ . _ _ _ _ _ _ __ 21
. _ _ . _ _ _ _ . . _ . . . __ 22
. . . _ . _ _ _ _ _ _ _ . _ _. 23
__ 24
Página
III_5 Resultados experimentales . _ _ _ . . _ _ _ _ _ . _ . _ _ _ _ _ _ _ _ _ _ _ 28
III_5_1 Consideraciones prácticas . _ . _ . _ _ . _ _ _ _ _ _ _ _ _ . _ _ _ 29
IlI.5_2 Control de Velocidad _ _ _ _ . _ . _ . _ _ _ _ _ . _ _ _ . _ _ . _ _ 31
III_5.3 Controlador de doble lazo . _ _ _ _ _ . _ _ . _ _ _ _ _ . . _ _ _ _ 33
IV Control de doble lazo de robots manipuladores considerando como
salida y = h,(q): Teoría 36
lV_l Estructura del controlador _ _ _ _ . . _ _ . _ . . . _ _ . _ _ _ _ . _ _ 36
IV_2 Controlador de doble lazo con lazo interno de Velocidad tipo PD+ _ _ _ 41
IV_2.1 Condiciones de positividad para Q1 y para Q2 . _ . _ _ _ . . _ _ 45
IV_3 Controlador de doble lazo con lazo interno de Velocidad tipo par calculado 46
IV.3_1 Condiciones de positividad para Q1 y Q2 . . _ _ _ . _ . . . _ _ _ 49
V Control de doble lazo' de robots manipuladores considerando como
salida y = h(q): Experimentos 50
V.1 Consideraciones prácticas . . _ _ . _ _ _ . _ _ _ . _ _ _ _ _ _ _ _ _ _ _ _ 52
V_1_1 Estimación de la velocidad articular _ _ . _ _ _ _ _ _ _ _ _ _ _ _ _ 52
V_l.2 Fricción . . _ _ _ . _ . _ _ . _ _ _ _ _ _ _ _ . _ _ _ . _ . _ . _ _ _ 53
Página
V.2 Experimentos realizados en la muñeca esférica de 2 g.d_l. _ _ _ _ _ _ _ _ 55
V_2_1 Control de doble lazo con lazo interno tipo PD-4-_ _ _ . . _ _ _ _ 55
V_2.2 Control de doble lazo con lazo interno tipo par calculado. _ _ _ _ 58
V.3 Experimentos realizados en el robot planar de 2 g.d.l _ . _ _ _ _ _ _ . _ _ 59
V_3_1 Experimentos en espacio articular _ _ _ _ _ _ . _ _ _ _ _ _ _ . _ _ 60
V_3_2 Experimentos en espacio operacional _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 65
VI Control de doble lazo de robots manipuladores considerando como
salida y = h(q,¿1) 72
VI.1 Estructura del controlador _ _ _ . . _ _ . _ _ _ . _ _ _ _ . _ . . _ . . _ _ 72
VI_2 Ejemplos de escenarios para el controlador de doble lazo generalizado _ 76
VI.2.1 Control de movimiento en coordenadas operacionales _ _ _ . _ _ 77
VI_2.2 Control de velocidad en coordenadas articulares _ . _ . _ _ _ _ _ 77
VI_2_3 Control de velocidad en coordenadas operacionales _ . . _ _ _ _ 78
Vl_2_4 Control por campo de velocidad en coordenadas operacionales _ 78
VI_3 Simulaciones _ _ _ _ _ . _ _ _ _ _ _ _ _ _ . . _ _ _ _ _ _ . _ _ _ _ _ _ . _ _ 80
VI_3_1 Control de Velocidad en coordenadas operacionales _ _ . _ _ _ _ 81
VII Conclusiones generales
VII_1 Conclusiones y comentarios _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _
VII_2 Trabajo futuro _ _ _ _ _ _ . . _ _ _ . . _ _ . _ _ _ _ _ . _ _ _ _
LITERATURA CITADA
Anexo A Revisión sobre cinemática de robots manipuladores
A.1 Cinemática directa de robots manipuladores _ _ . _ _ _ _ _ _ _
A_l_l Matrices de Rotación _ _ _ _ _ _ . . _ _ _ _ _ _ _ _ _ _ _
A_l_2 Representación mínima _ _ _ _ _ _ . _ . _ _ _ _ _ _ _ _ _
A.l.3 Matrices de transformación homogénea _ _ _ _ _ _ _ _ _
A.l_4 Convención Denavit-Hartenberg . _ . _ . . _ _ _ _ _ _ _
Anexo B Diseño mecánico de la muñeca esférica
B_1 Configuración deseada y diseño final _ . _ _ _ _ _ _ _ _ _ _ _ _
B_2 Diseño de los eslabones _ _ _ _ . . _ _ _ _ _ _ _ _ _ _ _ . _ . _ _
B_2_l Primer eslabón _ . . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
B_2_2 Segundo eslabón . _ _ _ _ . _ _ _ _ . _ _ _ _ . _ . _ _ _
B_2_3 Tercer eslabón . _ _ . . _ . _ _ _ _ . _ . _ _ _ _ . _ . _ _
Página
89
89
91
92
96
96
98
__.__l00
__.._10l
_..__lO4
112
_____113
.____l16
.____ll8
_. 121
Página
B_2_4 Fusibles de seguridad _ . _ _ _ _ _ . _ _ _ _ _ _ _ _ _ . _ _ _ . _ _ 125
B_3 Armado de la muñeca esférica _ _ . _ _ _ _ _ _ . _ _ _ _ . _ _ . _ _ _ _ _ 126
Anexo C Modelo cinemático de la muñeca esférica 129
Anexo D J acobiano de la muñeca esférica 134
D_1 Jacobiano analítico _ _ _ _ _ _ . _ . _ _ . _ _ _ _ _ _ _ _ _ _ _ . _ _ _ _ _ 135
D_2 Jacobiano geométrico . _ _ _ _ _ . . _ _ . . _ . _ . _ . _ _ . _ . _ _ _ _ _ 136
D_3 Analisis de singularidades _ . . . . _ _ _ _ _ _ _ . . . _ _ _ _ _ _ _ _ 137
Anexo E Modelo dinámico de la muñeca esférica 139
Anexo F Modelado de la muñeca esférica con 2 g.d_l. 149
Anexo G Programas para SPAC y SEAC 158
G_l Programas del Capítulo III _ _ . . . _ _ _ _ _ _ . _ _ _ _ _ _ . _ _ _ _ _ _ 158
G.1.1 Controlador PI para control de Velocidad de un motor de c.c. _ _ 158
G.1_2 Controlador de Doble Lazo para control de movimiento de un
motor de c.c. _ _ _ . . _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ . . _ _ _ 160
G_2 Programas del Capítulo V . _ _ . _ _ _ _ _ _ . _ _ . _ _ _ _ . . _ _ . _ _ 161
Página
G_2_2 Control de movimiento en espacio de tarea _ _ _ _ . _ _ _ _ _ _ _ 175
Anexo H Programas en SIMNON 184
H.1 Controlador de doble lazo generalizado para control de velocidad en el
espacio de tarea . . _ _ _ _ _ _ _ _ . _ _ _ _ . _ . _ _ _ _ _ _ _ _ . _ _ _ _ 184
H_2 Controlador alternativo para control de Velocidad en el espacio de tarea 185
H_3 Controlador de doble lazo para control por campo de velocidad en el
espacio de tarea _ . _ _ . . _ _ _ _ _ _ . . _ _ . _ _ _ _ . _ . _ _ . _ _ _ _ 186
H_4 Controlador de doble lazo alternativo para control por campo de
veloci-dad en el espacio de tarea _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ 188
Figura Página
1 Descripción de un robot manipulador de n g.d_l. _ _ . _ _ _ _ . _ _ _ _ 8
2 Esquemas generales de control. a) Coordenadas articulares. b)Co0rdenadas
operacionles _ _ . _ . _ _ _ . . _ _ _ _ _ _ _ _ _ _ . _ . _ _ _ _ _ _ _ _ _ _ _ 17
3 Diagrama de bloques del control de velocidad Pl para im motor de c.c. 23
4 Esquema general del controlador de doble lazo para motores de c.c. _ _ 25
5 Diagrama de bloques del control de movimiento con dos lazos de
retro-alimentación para un motor de c.c. . _ _ _ _ _ _ . . _ _ _ _ _ _ _ _ _ _ _ 27
6 Diagrama de bloques del controlador PID equivalente al controlador de
movimiento con dos lazos de retroalimentación para motores de c.c. _ _ 29
7 Controlador PI de velocidad. a)Error de velocidad. b)Par aplicado. _ _ 32
8 Controlador de doble lazo. a)Error de Posición. b)Par aplicado. _ _ _ _ 35
9 Diagrama de bloques del esquema general del controlador de doble lazo. 37
10 Robots prototipo: a)Robot planar vertical. b)Muñeca esférica_ . _ _ _ _ 50
11 Error de posición articular para el controlador de doble lazo tipo PD-i-_ 56
12 Pares aplicados, controlador de doble lazo tipo PD+ en coordenadas
Figura Página
13
14
15
16
17
18
19
20
21
22
Error de posición articular para el controlador de doble lazo tipo par
calculado. . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . . _ _ _ _ _ _ _ _ _ . _ _ _ 59
Pares aplicados, controlador de doble lazo tipo par calculado en
coor-denadas articulares _ _ . _ _ _ _ _ _ _ _ _ _ _ . _ _ _ _ . _ _ _ _ _ _ _ _ _ _ 60
Error de posición articular para el controlador de doble lazo tipo PD-I-_ 62
Pares aplicados, controlador de doble lazo tipo PD+ en coordenadas
articulares _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . _ _ _ _ _ 63
Error de posición articular para el controlador de doble lazo tipo par
calculado. _ _ . _ . . _ _ _ _ _ _ _ _ _ _ _ _ _ . _ _ _ _ _ . . _ _ _ _ _ _ _ 64
Pares aplicados, controlador de doble lazo tipo par calculado en
coor-denadas articulares . _ _ . _ _ _ _ . _ _ _ _ _ _ _ _ _ _ _ . _ _ _ _ _ . _ _ _ 65
Trayectoria trazada por el extremo del robot utilizando el controlador
de doble lazo tipo PD+_ _ . _ _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ . . . _ _ _ _ 67
Error de posición cartesiana para el controlador de doble lazo tipo PD-I-_ 68
Pares aplicados, controlador de doble lazo tipo PD-|- _ _ _ _ _ _ _ _ _ _ _ 68
Trayectoria trazada por el extremo del robot utilizando el controlador
Figura Página
23 Error de posición cartesiana para el controlador de doble lazo tipo par
calculado. . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ 70
24 Pares aplicados, controlador de doble lazo tipo par calculado. _ _ _ _ _ 71
25 Esquema general del controlador de doble lazo para una salida y = h,(q, ¿1)_ 73
26 Trayectoria trazada por el extremo del manipulador. Control de
veloci-dad en coordenadas operacionales por doble lazo. _ _ _ _ . _ _ _ . _ _ _ _ 82
27 Error de velocidad. Control de velocidad en coordenadas operacionales
por doble lazo. _ . _ _ _ _ _ _ _ _ . . . _ _ _ _ _ _ . _ _ _ _ _ _ _ _ _ _ _ 83
28 Campo de velocidad 1›(a:) que dibuja un círculo. _ _ _ _ _ . _ _ _ _ _ _ 85
29 Trayectoria trazada por el extremo del manipulador. Control por campo
de Velocidad en coordenadas operacionales utilizando el controlador de
doble lazo _ _ _ _ . _ _ _ _ _ . _ _ . _ _ . _ . _ _ _ _ _ __ . _ _ _ _ _ _ _ _ _ 87
30 Error de velocidad. Control por campo de velocidad en coordenadas
operacionales utilizando el controlador de doble lazo. _ _ _ _ . _ . _ _ _ 88
31 Sistema de referencia OXYZ y un sistema de coordenadas ligado al
cuerpo OUVI/V _ _ _ _ _ _ _ . _ . _ _ _ _ _ _ _ _ _ _ _ . _ _ _ _ . _ _ _ _ _ 99
32 Sistema de coordenadas y sus parámetros_ _ . _ _ _ _ _ . _ _ _ _ _ _ _ _ 106
Figura
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Página
Configuración utilizada que cumple los requisitos preestablecidos. _ _ _ 114
Dimensiones del motor 1: Modelo DM1015B_ . _ . _ _ _ _ _ . _ _ _ _ _ 115
Dimensiones del motor 2: Modelo DM1004C_ _ _ _ _ . _ _ _ _ _ _ _ _ _ 115
Dimensiones del motor 3: Modelo 1004B_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 116
Diseno final. _ _ . _ _ _ . _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ _ _ 117
Espacio de trabajo de la Muñeca Esférica _ _ _ _ _ _ _ _ . _ . _ _ _ _ _ _ 117
Motor 1 y piezas 1 a 4. _ _ _ . _ _ . _ _ _ _ . _ _ _ _ _ _ _ _ _ _ _ _ _ _ 118
Pieza 1: a)Principales dimensiones. b)Representación en sólido. _ _ _ _ 119
Piezas 2 y 3: a)Principales dimensiones. b)Representación en sólido. _ 120
Pieza 4: a)Principales dimensiones. b)Representación en sólido. _ _ _ _ 120
Motores 2y3ypìezas5,6,7y8_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ._ 121
Pieza 5: a)Principales dimensiones. b)Representación en sólido. _ _ _ _ 122
Pieza 6: a)Principales dimensiones. b)Representación en sólido. _ _ _ _ 123
Pieza 7: a)Principales dimensiones. b)Representación en sólido. _ _ _ _ 123
Pieza 8: a)Principales dimensiones. b)Representación en sólido. _ _ _ _ 124
Principales cotas para la muñeca esférica, ésta se encuentra contenida
Figura Página
50 a) Ubicación de los fusibles para la pieza 6. b)Ubicación de los fusibles
para la pieza 7. _ _ _ _ _ _ . . . _ . _ _ _ _ _ _ _ . _ _ _ _ _ . . _ _ _ _ _ 126
51 Ilustración del procedimimiento de armado. Se crean dos módulos y
posteriormente se unen estos. La estructura se cierra con la pieza 3. _ _ 127
52 a)Vista desde arriba de la muñeca totalmente extendida. b)Vista lateral
de la misma posición. _ _ _ _ . _ _ . _ _ _ _ _ . _ _ _ _ . _ _ _ _ _ _ _ _ 128
53 Ubicación de los sistemas coordenados correspondientes. _ . _ _ . . _ _ 129
54 Detalle del modelado de la muñeca y ubicación de marcos coordenados. 142
55 Asignación del marco de referencia. _ _ _ _ _ _ . _ . _ _ _ _ _ _ _ _ _ _ _ 142
56 Modelado del primer eslabón y su marco de referencia _ . _ _ _ _ . _ _ _ 143
57 Modelado del segundo eslabón y su marco de referencia. _ _ . _ . _ _ _ 144
58 Modelado del tercer eslabón y su marco de referencia. . _ _ _ _ _ _ _ _ 145
59 Datos de entrada para “Robotica” _ . . _ _ _ . . _ _ _ _ _ _ _ _ _ _ _ _ _ 147
60 Pieza 9: a)Principales dimensiones. b)Representación en sólido. _ _ _ _ 149
61 Asignación del marco de referencia. _ _ _ _ _ _ _ _ . _ . _ _ _ _ _ . _ _ _ 151
62 Modelado del primer eslabón y su marco de referencia _ _ _ _ _ _ _ _ _ _ 152
63 Modelado del segundo eslabón y su marco de referencia. _ _ _ _ _ . _ _ 153
Figura Página
65 Datos de entrada para “Robotica” _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . _ _ _ 155
66 Muñeca esférica experimental. a)Vista superior con ql = 0 y qg = rr.
Tabla
I
II
III
IV
V
VI
Página
Tres tipos de representación de los ángulos de Euler_ _ _ _ _ _ _ _ _ _ _ 101
Características de los 3 motores. _ _ . _ . _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 114
Parámetros de Denavit-Hartenberg para la muñeca esférica. _ _ _ _ _ _ 130
Parámetros de Denavit-Hartenberg para la muñeca esférica de 3 g.d_l. _ 141
Densidades del aluminio y del acero. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 143
DOBLE LAZO PARA ROBOTS
MANIPULADORES
FERMIN PEREZ VARGAS
I.1
Antecedentes
Robot, es una palabra que inmediatamente nos hace imaginar a R2D2, el “Arturito” de
la guerra de las galaxias o sin más, a un ser animado capaz de tener un comportamiento
similar al humano y realizar las mismas tareas, pero a mayor velocidad y precisión. Es
muy común que la gente llame “robot” a cualquier cosa que opera con un cierto grado
de autonomía y que es controlado por una computadora. Sin embargo, en sus orígenes
la palabra robot no involucraba tanta inteligencia. La primera vez que se introdujo esta
palabra fue en 1920, por el escritor de origen checo Karel Capek en su obra Rossum's
Universal Robots [Sciavicco y Siciliano, 1996]. La palabra robot en checo significa
trabajo. Los robots hoy en día son capaces de realizar una gran cantidad de tareas que
van desde el pegado de etiquetas en una botella hasta la exploración espacial, pasando
por muy diversas áreas, como la medicina, la industria automotriz, la química, etc.
Esta nueva ciencia que se dedica al estudio de robots es llamada robótica, y este
término fue introducido por el ruso Isaac Asimovl [Sciavicco y Siciliano, 1996], escritor
de ciencia ficción que concibiera a los robots como autómatas de apariencia humana
carentes de sentimientos. De acuerdo a Asimov la robótica se basa en las siguientes tres
leyes fundamentales [Asimov y Silverberg, 1996]:
1. Ningún robot puede lesionar a un ser humano o, a través de su inactividad,
permitir que un ser humano sufra daños.
2. Todo robot debe acatar las órdenes que los seres humanos le dan, salvo si éstas
entran en conflicto con la Primera Ley.
3. Todo robot debe proteger su existencia siempre y cuando dicha protección no
entre en conflicto con la Primera o la Segunda Ley.
La robótica es una ciencia interdisciplinaria que combina aspectos de la ingeniería
eléctrica, mecánica e industrial, con ciencias computacionales, matemáticas y economía.
Y es precisamente esta combinación de elementos la que ha determinado el crecimiento
y desarrollo de la robótica. La robótica se puede dividir en robótica avanzada y robótica
industrial ]Bugarín, 1998]. Dentro de esta última gama de tipos de robots se
encuen-tran los llamados robots manipuladores. De acuerdo a la Federación Internacional de
Robótica bajo la norma ISO /TR 8373, un robot manipulador se define de la siguiente
manera ]Kelly, 1995]:
“Un robot manipulador industrial es una máquina manipuladora con varios grados de
libertad controlada automáticamente, reprogramable y de múltiples usos, pudiendo
estar en un lugar fijo 0 móvil, para su empleo en aplicaciones industriales”.
En la definición anterior se mencionan dos características que determinan la
capacidad de realizar diversas tareas, estas dos características son las que hacen de los
robots máquinas de gran utilidad y adaptabilidad.
La cantidad de ventajas que ha representado el uso de los robots en la industria es
muy grande, ha permitido la reducción de costos de producción de una manera muy
importante, ha incrementado la precisión y productividad, dos factores que propician
calidad, además los robots poseen una gran flexibilidad comparados con las máquinas
especializadas y ejecutan tareas pesadas, repetitivas y riesgosas para el hombre.
Un robot manipulador se puede considerar como un brazo mecánico articulado
for-mado por eslabones conectados a través de uniones o articulaciones. De manera general,
el número de articulaciones determina el número de grados de libertad (g.d_l.) del
ro-bot manipulador. Las articulaciones generalmente pueden ser rotatorias (rotacionales)
o lineales (prismáticas)_ Una articulación rotacional es como una bisagra o gozne, la cual
permite una rotación relativa entre dos eslabones. Una articulación prismática permite
un movimiento lineal relativo entre dos eslabones. La manera en que la articulación
provoca el movimiento del eslabón respectivo puede ser de naturaleza electromecánica,
neumática o hidráulica. Los dispositivos que provocan el movimiento en las
articula-ciones son denominados actuadores. Recientemente un nuevo tipo de actuadores han
sido incorporados al mercado debido a los avances tecnológicos en la construcción de
motores de alto par: los motores de transmisión directa, los cuales han hecho posible
incorporar una nueva generación de robots llamados de transmisión directa. En
correpondientes [Asada et al., 1981], eliminando el uso de las transmisiones como son
engranajes, bandas, poleas, etc. El uso de los motores de transmisión directa permite
eliminar los llamados juegos mecánicos, reducir la fricción por contacto, proporcionar
una mayor precisión y disminuir el tiempo de respuesta [Reyes, 1997].
El problema de control de movimiento de robots manipuladores consiste en encontrar
una función vectorial de pares aplicados a sus articulaciones, de tal forma que las
posiciones asociadas a las coordenadas articulares del robot sigan con precisión una
posición deseada en función del tiempo ]Kelly, 1995]. Como caso particular del objetivo
de control de movimiento se tiene el objetivo de control de posición para o simplemente
control de posición, el cual consiste en encontrar un Vector de pares aplicados de tal
forma que el Vector de posiciones articulares se aproxime lo mejor posible a un vector
constante de posicion articular deseada.
I.2
Objetivos de la tesis
El presente trabajo de investigación se enfoca al estudio y al análisis de estabilidad
de un controlador denominado de doble lazo. Este controlador se compone de un lazo
interno de control de velocidad a nivel articular y un lazo externo que permite controlar
una variable de interés. Esta variable de interés puede ser especificada en coordenadas
operacionales (posición cartesiana por ejemplo) y coordenadas articulares. Asimismo,
el objetivo de control se puede extender no sólo a control de movimiento sino a control
Como un objetivo adicional, este trabajo también comprende el diseño y
cons-trucción de una muñeca esférica de transmisión directa, asi como la obtención de sus
modelos dinámico y cinemático_
I.3
Organización del documento
La distribución de este documento de tesis es la siguiente: en el capítulo I se
presen-tan conceptos básicos sobre robótica, enfocados a robots manipuladores, los cuales son
nuestro objeto de estudio. En el capítulo II se presentan los antecedentes necesarios
para la mejor comprensión del mismo, como son, la ilustración de las partes que forman
un robot manipulador, la cinemática y dinámica de los manipuladores y los objetivos
de control más comunes. El capítulo III versa sobre el estudio del control de
veloci-dad de un motor de c.c. utilizando un controlador PI y a partir de éste, se genera
una estructura de doble lazo para el control de posición; conjuntamente se presenta
un análisis de estabilidad de ambos controladores y la estructura del controlador de
doble lazo es comparada con la estructura de un controlador tipo PID. Resultados de
experimentación también son presentados en este capítulo (III). En el capitulo IV se
presenta la estructura del controlador de doble lazo para robots manipuladores
con-siderando un salida dependiente sólo del vector de posición articular y un estudio de
la estabilidad de este controlador tomando a los controladores par calculado y PD+
como controladores de velocidad articular para el lazo de interno. Con la finalidad de
IV, en el capitulo V se presentan experimentos realizados en dos robots prototipo con
que cuenta el Laboratorio de Robótica y Servomecanismos del CICESE, el primero es
un robot planar vertical de 2 g.d_l. y el segundo una muñeca esférica de 2 g.d_l. cuyo
diseño y contrucción son presentados en el anexo. En el capitulo VI se ha generalizado
el resultado del capítulo IV a robots con salidas dependientes de la posición y de la
ve-locidad articular considerando un control ideal de veve-locidad para el lazo interno, al final
de este capítulo, se presentan simulaciones realizadas para verificar el comportamiento
cualitativo del controlador de doble lazo generalizado.
La información correspondiente al diseño y a la construcción de la muñeca esférica
se presenta en una serie de anexos. El anexo A es una revisión sobre la cinemática de
robots manipuladores, enfocada a la obtención del modelo cinemático directo utilizando
la convención de Denavit-Hartenberg y la representación mínima mediante los ángulos
de Euler_ El anexo B presenta los detalles del diseño mecanico de la muñeca y el
armado de la misma. En el anexo C se obtiene el modelo cinemático directo de acuerdo
al estudio realizado en el anexo A. El Jacobiano anaitico y el Jacobiano geométrico son
obtenidos en el anexo D, así como la determinación de las singularidades cinemáticas
de la muñeca esférica. La obtención del modelo dinámico mediante el empleo de las
herramientas computacionales “Autocad” y “Robotica” es descrito en el anexo E. En el
anexo F se describe la obtención del modelo dinámico de la muñeca de 2 g.d_l. utilizada
en los experimentos realizados en el capítulo V. El listado de los programas elaborados
en los anexos G y H respectivamente. Finalmente, los planos de cada una de las piezas
Un robot manipulador se puede considerar como un brazo mecánico articulado formado
por eslabones conectados a través de uniones 0 articulaciones (figura 1). De manera
general, el número de articulaciones determina el número de grados de libertad (g.d_l.)
del robot manipulador. Las articulaciones generalmente pueden ser rotatorias
(rota-cionales) o lineales (prismáticas)_ Una articulación rotacional es como una bisagra
ki)
y'
Vectm' de
xv 9 z'
1' ¦
_ ,__ qz__.C1fl]
Posicivflfes q [qf _ qa za
articulares Q ' 'U3 _
E ¿atan 2
\
S
§
Articulación 2 __ 'ye
`\` __
`\\ xfi
Mar@ df?
,ref-'e7'Q'ƒLC'l«a› Extre'm° final
del robot
'S
\ É*
1"
-5*
s
I/
“
ii l ã
Ú
Figura 1: Descripción de un robot manipulador de n g.d_l.
o gozne, la cual permite una rotación relativa entre dos eslabones. Una articulación
representa la interconexión entre dos eslabones.
Para propósitos analíticos, las posiciones articulares son agrupadas en el vector de
posiciones articulares q = [q1, qg, ___, q,,]T (donde n es el número de grados de libertad).
Para poder denotar la posición angular o lineal de cada eslabón es necesario asignarle
un marco de referencia adecuado. En ocasiones, interesa determinar la posición y
orientación del extremo final del robot, expresadas en términos del marco de
refe-rencia cartesiano colocado en la base del robot y una representación mínima. Estos
son agrupados en el vector de posición y orientación del extremo final del robot az =
[:t1, mg, ___, :1:m]T, donde m S n. Para que un manipulador pueda ubicar un objeto en el
espacio con el extremo del último eslabón son necesarios 6 g.d_l., de los cuales 3 son para
la ubicación del extremo del último eslabón en el espacio y 3 más que especifican su
orientación. Sin embargo, dependiendo de la aplicación se pueden tener más o menos
g.d_l. El vector rr: está definido en el espacio en el cual la tarea del manipulador es
especificada y recibe el nombre de espacio de trabajo [Sciavicco y Siciliano, 1996]. Por
otro lado, el espacio articular denota el espacio donde q está definido.
II_1
Modelo Cinemático
La cinemática del brazo robot trata del estudio analítico de la geometría del movimiento
de un robot con respecto a un sistema de coordenadas de referencia fijo como una
función del tiempo y de las variables articulares, sin considerar las fuerzas 0 fenómenos
una descripción del desplazamiento y orientación del efector final como una función del
tiempo y, en particular, de la relación que pueda existir entre las Variables articulares
del robot. El problema de la cinemática directag de un robot es el estudio del significado
geométrico de los eslabones y/u objetos relacionados a las tareas de manipulación en
términos de posición, velocidad y aceleración. El problema de la cinemática directa
puede ser planteado de la siguiente manera: dadas las variables articulares del robot q,
se desea determinar la posición y orientación :I: del extremo final respecto a un marco de
referencia dado. Las variables articulares representan los ángulos entre los eslabones en
el caso de las articulaciones rotacionales o de revolución, y a la extensión del eslabón en
el caso de las articulaciones prismáticas o de deslizamiento. De esta manera, es posible
relacionar el marco de referencia de un eslabón con el marco de referencia de algún
otro eslabón del mismo manipulador, e incluso un marco externo a él. El movimiento
relativo de cada una de las articulaciones resulta en el movimiento de los elementos que
posicionan al extremo del manipulador en una posición deseada.
0 El modelo cinemático directo resuelve el problema de obtener la posición del
extremo final del robot en el espacio de trabajo (az = [:1:1, $2, ___, s:,_,,]T) a partir
del vector de posiciones articulares (q = ]q1, qz, ___, q,,])T_ En la literatura se hace
referencia a la cinemática directa como:
w = ƒ(q)-
(1)
0 El modelo cinemático inverso resuelve el problema de obtener el vector de
posiciones articulares q a partir del vector de la posición y orientación :1: del
extremo final del manipulador en el espacio de trabajo. En la literatura se hace
referencia a la cinemática inversa como:
q-fra»
(a
En general, la cinemática directa definida como :1: = ƒ (q) donde ƒ : ÉR" -› ålìm es una
función no lineal. Sin embargo, existe un mapeado lineal entre el espacio de movimiento
articular y el espacio de movimiento del extremo final del robot, denominado jacobiano
analítico del robot, y su función es describir el mapeo desde el espacio de velocidades
articulares q al espacio de la velocidad zi: en el espacio de trabajo. El jacobiano se
presenta al derivar con respecto al tiempo el modelo cinemático directo (1):
fi: = %S,q) = %f)Íl% = JA(<1)f`1-
(3)
En la literatura se hace referencia a él como:
tcr=§§Q
(e
II.2
Dinámica articular de robots
La dinámica del robot trata con las formulaciones matemáticas de las ecuaciones de
movimiento del brazo. Tales ecuaciones son útiles para la simulación en computadora
del movimiento del robot, el diseño de ecuaciones de control apropiadas para el robot
Un robot manipulador es básicamente un dispositivo de posicionamiento. Para
controlar la posición debemos conocer las propiedades dinámicas del manipulador para
saber como es que las fuerzas ejercidas causan el movimiento. Muy poca fuerza y
el manipulador será lento en su reacción, demasiada fuerza y el brazo puede chocar,
romperse u oscilar alrededor de la posición deseada. En general el rendimieno dinámico
de un manipulador depende directamente de la eficacia de su modelo dinámico y de los
algoritmos de control. El problema de control consiste en obtener modelos dinámicos
del brazo robot físico y a continuación especificar leyes 0 estrategias de control
corres-pondientes para conseguir la respuesta y rendimiento del sistema deseado.
Derivar las ecuaciones de movimiento para robots no es tarea fácil debido al gran
número de g.d_l. y a las no linealidades presentes en el sistema. Las ecuaciones
dinámicas de un robot manipulador pueden ser obtenidas a partir de las ecuaciones
de movimiento de Newton. Sin embargo, este método presenta la desventaja de que se
complica demasiado cuando aumenta el número de articulaciones del robot. En estos
casos es más conveniente emplear las ecuaciones de movimiento de Lagrange_
Considérese un robot manipulador que se compone de n eslabones. La energía total
E de un robot de n g.d_l. es la suma de sus energías cinética /C y potencial Li:
«f<q<±>_ «mi - /<<q<±>_ ac» + uiqfim. A
energía cinética IC y su energía potencial Z/{:
5(q(†f)›¿1(1f)) = ¡C(¢1(f)_¿1(t)) r
U(q(t))-Aquí se considera que la energía potencial Z/{ es debida a las fuerzas conservativas
como la fuerza de gravedad y fuerzas debidas a resortes.
Las ecuaciones de movimiento de Lagrange para un manipulador de n g.d_l. están
dadas por:
d ama) _@fi<q_q>=,
dt äq ôq '
o en forma equivalente:
_ _ :'T¿, 'L=l.,...,'I"¿
d 5501, fi)
5501, ¿Il
-donde T, son las fuerzas y pares ejercidos externamente (por actuadores) en cada
arti-culación así como fuerzas no conservativas. Como fuerzas no conservativas se incluyen
las de fricción, las de movimiento de un objeto dentro de un fluido, y en general las que
dependen del tiempo o de la velocidad.
Nótese que se tendrán tantas ecuaciones escalares dinámicas como g.d_l. tenga el
robot manipulador.
La energía cinética lC(q, q) asociada a tal dispositivo mecánico articulado puede
expresarse siempre como:
donde M (q) es una matriz simétrica definida positiva de n >< n denominada la matriz
de inercia. La energía potencial Z/1 (q) no tiene una forma específica como en el caso de
la energía cinética, pero se sabe que depende del vector de posiciones articulares q.
El lagrangiano .C(q, q) se puede expresar de la siguiente manera:
_ 1 .T _
C(q_ q) = iq M(q)q
-U(q)-Con esta forma para el lagrangiano, la ecuación de movimiento de Lagrange para
robots manipuladores puede expresarse como:
dí,
(§a“`M<«1>a)] - â (-šqTM(q>q) + 3%? = †
tomado de esta manera la siguiente forma:
M(q)¿i+0(q_f'1)à+9(q) = 1'-
(5)
Esta ecuación es la ecuación dinámica para robots de n g.d_l. Esta ecuación es una
ecuación diferencial vectorial no lineal en el estado [qT qT]T_ C(q, q)q es un vector
de n >< 1 llamado el vector de fuerzas centrifugas y de Coriolis, g(q) es un vector de
n >< 1 llamado el vector de fuerzas 0 pares gravitacionales y 1' es un vector de n >< 1
llamado vector de fuerzas externas, siendo generalmente los pares y fuerzas aplicadas
por los actuadores en las articulaciones.
A pesar de la complejidad de la ecuación dinámica (5) que gobierna el
compor-tamiento de los robots manipuladores, esta ecuación y sus términos formantes, poseen
son una herramienta muy valiosa en el estudio de sistemas de control para robots
ma-nipuladores. Tres de estas propiedades serán utilizadas ampliamente en el estudio del
controlador de doble lazo.
Propiedad 1. Para el caso de robots provistos únicamente de articulaciones rotacionales,
existe una constante ,B > 0 tal que:
iM,_,{M(q)} 5 s v q e an.
(6)
Propiedad 2. Para el caso de robots provistos únicamente de articulaciones rotacionales,
existe una constante km > 0 tal que:
||C(q, ¿1)|| S kcillwllllvll
(7)
para todo q, rc, y E 3%".
Propiedad 5'. Si la matriz de Coriolis C (q, q) se obtiene de una manera apropiada, ésta
puede ser relacionada con la matriz de inercia M(q) por la expresión:
wf [%M<q> - 0<q_«'1)l fc = 0 va am e ir
(8)
y de hecho, (q)- C(q,¿1) es una matriz antisimétrica_ Equivalentemente la
matriz M(q) - 2C(q, q) es antisimétrica, y también resulta cierto que:
Mía) = C'(¢1,¿1)+ C(f1› ¿1)T-
(9)
Independientemente de la manera en que C (q, ¿1) sea obtenida, ésta siempre
sa-tisface:
II.3
Objetivos de Control
Los robots industriales son diseñados para realizar tareas en las cuales éste se desplace
dentro de un espacio de trabajo, pudiendo o no interaccionar con su medio ambiente.
El control de movimiento se refiere al problema de controlar el manipulador sin
in-teraccionar con el medio; por ejemplo, tareas de pintado o traslado. Aquí se define
una trayectoria parametrizada en el tiempo por donde se desea que pase el extremo
del robot. Un caso particular del control de movimiento, es cuando la trayectoria
deseada es un punto, a éste se le denomina control de posición pura. Las
especifica-ciones donde el robot si debe tener interacción con su medio ambiente, por ejemplo el
pulido y el ensamble, caen dentro de las categorías de control de fuerza o control híbrido
movimiento-fuerza ]Craig, 1989]. El objetivo de control para robots depende de la tarea
que se desea encomendar al manipulador. En este trabajo se tratará exclusivamente el
problema de control de movimiento y de no ser así se indicará adecuadamente.
Los robots son estructuras multivariables que tienen como entrada a los pares 1',
mientras que como salidas es posible elegir entre las posiciones y velocidades articulares,
ya sea en el espacio articular o en el espacio operacional. En la figura 2 se esquematiza
este concepto.
Para plantear el objetivo de control, es necesario definir una ecuación de salida:
v = h(¢1)
(11)
“id ' † fi
“id C'o Tit'rol.ciclor Rob ot _ (7
q¿__T I I
| I
CL)
fi¬_¬
W
~ïHHP~+I
i;¬_-I
c
1., i -- fe-] R b 1:
'
ïrí_ I O71 70 (LC O7 ]I`
]
]
]
Í
bi
Figura 2: Esquemas generales de control. a)Coordenadas articulares. b)Coordenadas operacionles_
directa, esto es:
M®=fl®-
(H)
Nótese que de esta manera la salida sólo depende de las posiciones articulares q del
robot. Sin embargo, algunas veces es necesario considerar una salida más general, la
cual depende no sólo de las posiciones q, sino también de las velocidades articulares q,
por lo que (11) se puede reescribir de la siguiente manera:
v=h@fll
U@
campo de velocidada, donde la salida para el caso de coordenadas articulares es definida
como y = q-v(q), donde 'v es el campo de velocidad definido en cordenadas articulares.
Otro caso particular de (13) es en el cual la salida depende únicamente de q, un ejemplo
es el control de velocidad en coordenadas articulares donde 'y = ¿1_
La clasìficación de los objetivos de control para robots manipuladores más común
es la siguiente [Kelly, 1995]:
0 Control de posición pura. El objetivo de control de posición pura o
simple-mente control de posición, consiste en encontrar un vector de pares aplicados de
tal forma que el vector de salida yft) se aproxime lo mejor posible a un vector de
salida constante deseada yd:
tljglo vii) = ya
o definiendo el error de salida como §r)(t) = yd - y(t):: 0'
0 Control de movimiento. El objetivo de control de movimiento consiste en
encontrar un vector de pares aplicados de tal forma que el vector de salida y(t)
se aproxime lo mejor posible a un Vector variable deseado yd(t):
,1¿1;¿y<±› - y__<±>
lim §¡(t) = 0.
III
Control por doble lazo de un motor de c.c.
Existe una tendencia muy importante en el uso de motores eléctricos como actuadores
de robots manipuladores industriales con capacidades de carga pequeña y mediana,
siendo los más populares los motores de c_c.4 con imán permanente y los motores
sin escobilla ]Sciavicco y Siciliano, 1996], debido a la gran simplicidad de control que
presentan. Para este tipo de robots -que resultan ser la mayoría de los que existen
en el mercado- el proceso de diseño de sus controladores ha partido de la síntesis de
“buenos” controladores para motores, siendo predominantes los reguladores de
veloci-dad, debido a su vasta aplicación industrial.
Debido a ello, es común encontrar sistemas de control de robots que se basan en el
control de sus actuadores. De esta manera, estos sistemas de control contienen un lazo
interno de regulación de velocidad y otro lazo -externo- destinado a controlar otra
variable de interés, como puede ser la posición articular q o la posición y del extremo
del robot en un marco cartesiano dado.
Considerando que los principales actuadores de robots industriales son los motores
de c.c., en este capítulo se realiza un estudio del controlador PI que permite cumplir
con el objetivo de control de velocidad angular de un motor de c.c. Posteriormente, en
base a este controlador de velocidad angular se propone un controlador denominado de
doble lazo para el control de posición angular para motores de c.c.
III.1
l\/Iodelo dinámico para un motor de c.c.
El modelo dinámico de un motor de c.c. considerando la fricción es la siguiente:
%Ä+fid®=†
U9
donde cj y q representan la aceleración y velocidad angular del rotor respectivamente,
.Im representa la inercia del rotor, f,_,,(q) es el par debido a la fricción del motor y T es
el par aplicado al eje del motor.
El modelo dinámico del motor se puede representar en variables de estado de la
q
i
É
=
_
(15)
dt _ _, _
q *Im IT _ fmiqll
Un estudio más amplio de modelado de motores de c.c. puede encontrarse en [Kelly, siguiente manera:
1995]
III.2
Objetivo de control
El objetivo de control que se pretende lograr es el de control de movimiento, el cual
consiste en encontrar el par aplicado T de tal forma que la salida q(t) se aproxime lo
mejor posible una función de salida deseada wd(t)_
De manera particular, para el caso de control de velocidad angular el objetivo de
control se puede escribir de la siguiente manera:
o definiendo el error de velocidad angular como tÚ(t) = w,¿(t) - q(t):
Élim uÚ(t) = 0.
Asimismo, para el caso de control de posición angular el objetivo de control se puede
escribir de la siguiente manera:
lim qff) = qdbf)
(17)
t-oo
o definiendo el error de posición angular como (j(t) = q¿(t) - q(t):
= 0'
III.3
Control de velocidad de un motor de c.c.
La mayoría de controladores de velocidad para motores de c.c. sólo permiten cumplir
con el objetivo de regulación, por lo que a continuación se estudia el siguiente
contro-lador de velocidad basado en una estructura tipo PI para un motor de c.c. que permite
alcanzar el objetivo de control de velocidad:
T = Jmlwd `l` ¡fvw `I` kizl + (18)
Z=(.|J
donde rbd representa la aceleración angular deseada, k:,,, y lc, son las ganancias
propor-cional e integrativa del controlador.
Para ilustrar de mejor manera el concepto del controlador de velocidad, en la figura
Odd i i
_
mJ
T , ___ _,
_ + _ _ __
01,, _ __ :+f%+†]/ldoior ¿Í
'
i
I _
4
»rial¬cif
T
Figura 3: Diagrama de bloques del control de velocidad PI para un motor de c.c.
III.3.1 Análisis de estabilidad
El sistema en malla cerrada (es decir una vez que se sustituye la ecuación del controlador
(18) en el modelo dinámico del motor (14)) se puede representar de la siguiente manera:
uif___i;i
mmm;A
la cual representa una ecuación diferencial lineal y autónoma, con un único equilibrio
en el origen [Z MT = [0 0]T _
Aprovechando las características del sistema en malla cerrada, es posible demostrar
estabilidad asintótica global del sistema mediante el uso del criterio de Routh-Hurwitz_
Este criterio es un método algebraico que proporciona información sobre la estabilidad
de un sistema lineal e invariante en el tiempo que tiene una ecuación característica
con coeficientes constantes. El criterio, prueba si cualquiera de las raíces de la ecuación
La ecuación característica de (19) dada por det[sI - A] = 0 toma la forma:
32 + kpâ + kt = 0. (20)
De acuerdo al criterio de Routh-Hurwitz [Kuo, 1996], las condiciones necesarias y
suficientes para que dicho sistema sea estable son las siguientes:
kp>0,
Por lo tanto, el proceso de sintonía para las ganancias de este controlador se limita
a que ambas ganancias sean positivas para garantizar estabilidad asintótica global del
sistema y cumplir con el objetivo de control:
= 0.
III.4
Control de doble lazo para un motor de c.c.
En base al controlador PI de velocidad anterior (18), se propone un controlador de
movimiento basado en una estructura de doble lazo que permite cumplir con el
obje-tivo de control de movimiento en posición angular, es decir que se cumpla de manera
asintótica el siguiente límite:
' lim q(t) = 0.
t-oo
En la figura 4 se presenta el esquema de este controlador. En este esquema se
observa que la estructura del controlador consiste en un lazo que permite controlar la
la posición q y velocidad angular q genera las referencias de velocidad wd para el lazo
interno.
Lazo ~] Control de T _ Í] -›
gd Errterno velocidad MOÉOT I
i
,
_
I
Figura 4: Esquema general del controlador de doble lazo para motores de c.c.
El lazo externo (en si es otro lazo de retroalimentación) se define de la siguiente
manera:
wa = (ia + ¡CCI (21)
donde cod a partir de este momento representa la velocidad angular deseada para el
lazo internos, qd es la velocidad articular deseada, tj = qd - q es el error de posición
articular y le es denominada la ganancia del lazo externo. El objetivo de agregar este
lazo externo, es que nos permita calcular o generar las referencias de velocidad deseadas
wd para el lazo de velocidad (18) que se estudió en la sección anterior.
Considerando el error de velocidad angular LD = wd - q', y sustituyendo cod en la
ecuación (21) obtenemos:
<_`ï+kq-o=o.
(22)
El uso de ¿ud para definir la referencia de velocidad del lazo interno es con la finalidad de establecer una clara identificación de las referencias de velocidad y aceleración generadas por el lazo externo.
En condiciones de control de velocidad ideal, es decir cuando idealmente se tuviese
wd E tj, entonces Q = 0 y el sistema (22) se reduce az
(Í-I-/<:cj=O.
La solución a esta ecuación diferencial tiende a cero de manera exponencial, cumpliéndose
de esta forma el objetivo de control lim¿_,O0 cÍ(t) = 0.
III.4.1 Análisis de estabilidad
El sistema completo en malla cerrada (una vez que se le ha agregado el lazo externo
(22) al controlador de velocidad de la sección anterior (18)) para control de movimiento
z (11 0
í ~ -
~
+
(23)
øj -kcj ¿D
el cual representa una ecuación diferencial lineal y autónoma, con un único equilibrio es el siguiente:
en el origen [Z U3 (HT = [0 0 0]T.
Al igual que con el control de velocidad de la sección anterior, se realizó un análisis
de estabilidad para este sistema mediante el criterio de Routh-Hurwitz. La ecuación
característica para el sistema completo descrito por (23) es:
las siguientes:
le + k,, > 0,
(25)
Ííllíìp + > 0,
kki > O. (27)
Para que las desigualdades anteriores sean satisfechas es suficiente que k, ki, ¡cp > 0.
¿Sii
_- /¬v
I¿ N
g ,¬ ¬ - q
¿Q
ï_____l QZ
+ +
__¬_i
ÉQ2_ 8
Pr
m
r
/+
+-±>,>›_¬
sus-`->
*IFigura 5: Diagrama de bloques del control de movimiento con dos lazos de retroali-mentación para un motor de c.c.
En la figura 5 se representa el sistema completo en un diagrama de bloques. En él
se puede observar que éste esta formado por dos lazos de retroalimentación: el primero
de ellos (lazo interno) tiene una ganancia proporcional kp y otra integral ki, formando
parte del esquema de control de velocidad de movimiento para el motor, y el segundo
(lazo externo) retroalimenta la posición q del eje del motor definiendo asi el error de
posición zj, agregando una ganancia proporcional kz en el lazo directo.
figura 5 es un PID. Para demostrarlo obtendremos de forma explícita la ley de control
a partir del diagrama de bloques:
† = fm@ + Jm@ + ké) + Jmkpfiâd + ka) + Jma /(ãd + ka)
(28)
o de manera equivalente:
† = fm) + Jmfifid - /«,a<0)) + Jm ((/«ki + /fa@ + /fa / a+ <k + /mà]
(29)
La ecuación (29) es un tipo de controlador PID con compensación de fricción fm(<j)
y precompensación de aceleración Jmrjd, más un término constante dependiente de la
posición inicial del motor -Jmk,-å(0). Las ganancias proporcional ké, integral y
derivatitva /12:1 quedan definidas como:
kg = kkp 'l' ki, 2 = fi? “l” (Cp.
El diagrama de bloques del sistema equivalente aplicando el par de entrada al motor
de la manera en que se ha establecido en la ecuación (29) se muestra en la figura 6.
Debido a que los sistemas representados en las figuras 5 y 6 son equivalentes, las
condiciones de estabilidad para este último son las establecidas en (25)-(27).
III.5
Resultados experimentales
En esta sección se presentan dos experimentos realizados con la finalidad de verificar
Ej-1 Í C`^†
l]IYLl
¬ ,/
ÍÍ ie «l kk l» E Moíov'
Wai
Figura 6: Diagrama de bloques del controlador PID equivalente al controlador de movimiento con dos lazos de retroalimentación para motores de c.c.
1@
+1
___A_¬ 1 \,
1
11
+,__-gg) \^-¿_ ~|
de control de movimiento. El primero utilizando el controlador de velocidad (18) y el
segundo utilizando el controlador de movimiento (21) y (18) bajo un esquema de doble
lazo.
III.5.1 Consideraciones prácticas
Antes de presentar los resultados obtenidos es necesario mencionar las consideraciones
practicas para la realización de estos experimentos.
Ambos experimentos se realizaron en un motor de alto rendimiento fabricado por
la empresa Compumotor. Este motor, modelo DM1004C, posee 3 modos de operación
modo posición, modo velocidad y modo par o torque, asimismo posee un codificador
incremental de 655,360 pasos por vuelta y un torque maximo de 4 Nm. En el apéndice
La mayoría de los diseños de controladores suponen que las posiciones q y velocidades
q son medidas con exactitud, sin embargo es muy común que sólo se tengan disponibles
sensores para la determinación de la posición, y la velocidad asociada tenga que ser
determinada a partir de estas posiciones. Este es el caso del motor utilizado para estos
expermientos. Por esta razón, se utiliza un filtro para estimar la velocidad angular Q.
El filtro mas sencillo es la aproximación de Euler, el cual tiene la forma:
¿HI 2 Wihïfi (39)
donde lc es el tiempo discreto, q¡,+1 y q¡,+1 son la posición y velocidad angular en el
instante lc -I- 1, qk es la posición en el instante k y h es el período de muestreo.
Ex-perimentos anteriores han demostrado que un período de muestreo de 2.5 mseg es
suficientemente pequeño para lograr un buen desempeño del controlador. Debido a la
naturaleza discreta del cálculo numérico de la velocidad, los controladores
implementa-dos son de tiempo discreto, sin embargo, debido a la elección del período de muestreo
de 2.5 mseg es razonable considerar al sistema como de tiempo continuo.
Otro componente importante es la consideración de la fricción que posee el rotor del
motor. Aunque existen diferentes componentes de fricción y una diversidad de modelos,
por simplicidad sólo se ha modelado en las simulaciones la fricción de Coulomb y la
fricción viscosa. Este modelo tiene la siguiente forma:
: 'l' fcSígn(q) (31)
La fricción viscosa es una fuerza que se opone al movimiento entre dos superficies
en contacto, la cual es originada por la viscosidad de los lubricantes y en algunos casos
por pequenos contaminantes como polvo y óxido. Su comportamiento se describe como
una función proporcional a la velocidad.
La fricción de Coulomb se manifiesta como una fuerza que se opone al movimiento
cuando hay deslizamiento entre dos cuerpos y es originada por las asperezas que existen
en la superficie de contacto.
Para los experimentos sólo se ha compensado la fricción viscosa del motor, es decir,
se ha tomado ƒm(fj) = ƒvq.
III.5.2 Control de velocidad
La referencia para la velocidad angular deseada md es la siguiente:
wd = 3abt2e`”'t3sen(wt) -f- wb(1 - e`“t3) cos(wt) [rad/seg] (32)
donde a = 2.0 [seg_3], b = % y w = 3.5 [rad/seg]. Nótese que en esta referencia no
existen cambios abruptos de velocidad, y que al principio de la prueba -en el tiempo
t = 0- la velocidad, así como la aceleración son cero.
Para el controlador PI de velocidad descrito por (18):
T = J,.,,[od + kpo + az] + ƒm(q)
(33)
É = (D
basada en las simulaciones correspondientes, se determinaron las siguientes ganancias:
/cp = 200.0 [1/seg], (34)
l<;,- = 15000.0 [1/seg2].
En la figura 7 se muestra el error de velocidad (Í) y el par aplicado T usando el
controlador PI de velocidad (33). En ella se observa que el par aplicado 7' se
encuen-tra muy por debajo de los límites permitidos de 4 [Nm] y el error de velocidad en
estado estacionario tiene valores pico que oscilan entre ±40 [grad/seg] que representa
aproximadamente el 13% del máximo de la velocidad angular deseada que es de 315
[grad/seg]. Cabe hacer mención que este error puede disminuirse con un aumento en
¿Í fgrcrd. /seg]
l'lll"l)i"l“`ll“i`ll`l ii
É
Í
fs"
0 2 ›«/ s 5 fo 1 [Seg]
CL)
I _
__¡_ 'T /Nm]
2:
“j
¬2-J - ,
I'-U 2 4 6' 8 7Út[5@_q]
Ó)
el valor de ambas ganancias kp y Is,-, e incluso mediante un proceso de sintonía en base
a prueba y error. Sin embargo este error puede considerarse pequeño o grande
depen-diendo de la tarea especificada para el motor, por lo que se consideró que un error de
alrededor del 10% era un buen resultado. Otra observación importante es que los picos
en la grafica del error coinciden con el cambio de giro del motor, lo cual quiere decir
que la fricción de Coulomb afecta considerablemente en el movimiento del mismo. La
fricción de Coulomb no fue compensada debido a que el ruido presente en la estimación
de la velocidad ocasiona que la función signo genere conmutaciones indeseadas.
III.5.3 Controlador de doble lazo
Las consideraciones prácticas que se llevaron a cabo para este experimento son las
descritas en IIl.5.1. La trayectoria deseada para este experimento es la siguiente:
q, = tu _ 6-“*”)Sen(w±) [ma]
(ss)
donde a = 2.0 [seg`3], b = % y 'w = 3.5 [rad/seg]. Nótese que en esta referencia no
existen cambios abruptos de velocidad, y que al principio de la prueba ~ en el tiempo
t = 0 Ñ la velocidad así como la aceleración son cero, y que la referencia de velocidad
Para el sistema completo descrito por (23):
z CZ) 0
d
ã o
=
~k,,o - laz +
0
(36)
cj -kfj ol
las ganancias del controlador fueron elegidas de la manera siguiente. Para el lazo
interno (control de velocidad) se conservaron las ganancias (34) del experimento de
control de velocidad y la ganancia k para el lazo externo fue elegida después de un
proceso de sintonía basado primeramente en las simulaciones y posteriormente en los
experimentos. Finalmente las ganacias del controlador de doble lazo fueron:
kp = 200.0 [1/seg),
If, = 15000.0 [1/Seg2],
(37)
k = 35.0 [1/seg].
En la figura 8 se presenta el par aplicado T y el error de posición angular q' para
el controlador de doble lazo. En ella se observa que el par aplicado 'r se mantiene
muy por debajo del limite permitido de 4 (Nm), lo cual indica que no existe ninguna
saturación del par. Para el error de posición Q, en estado estacionario se observan
valores pico máximos de 0.83 grados y mínimos de -0.92 grados, esto es, el error de
posición máximo es de aproximadamente un 1% de la amplitud de la trayectoria deseada
(35). Estos valores pico coinciden con los cambios de giro del motor, por lo que se han
W~),~*¬,a))¬,)~
0 2 J 6' B 70 I. [seg]
ci) A T [N771]
_¡,.
2-“j EUQLQKRÍÂQ;
_2-_4 1 V | | i >
0 1. -Í G 8 ¡Oi [seg]
b )
IV
Control de doble lazo de robots manipuladores
considerando como salida y = h(q): Teoría
En base al control de doble lazo para motores de c.c. propuesto en (21) y (18), se
ha generalizado este resultado a robots manipuladores. A continuación se presenta la
estructura de este controlador denominado de doble lazo para robots manipuladores.
IV.1
Estructura del controlador
El controlador que se analiza en este trabajo de tesis, es un controlador que permite
resolver el problema de control de movimiento en el espacio de tarea, el cual puede
ser especificado en coordenadas articulares, operacionales o de algún otro tipo. Las
caracteristicas principales del controlador son las siguientes. Se compone de dos lazos,
denominados interno y externo respectivamente. El lazo externo permite, mediante la
medición de las variables actuales de posición del robot, así como del cálculo de las
posiciones y velocidades deseadas, generar la referencia de velocidad requeridas por el
lazo interno. El lazo interno recibe estas referencias generadas por el lazo externo, al
mismo tiempo que adquiere las variables articulares del robot (posición y velocidad),
implementado con ellos un lazo de control de velocidad a nivel articular en el robot. Para
ilustrar este concepto, en la figura 9 se muestra la estructura general del controlador
de doble lazo.