Documentos de Académico
Documentos de Profesional
Documentos de Cultura
6900 PDF
6900 PDF
net/publication/43601537
CITATIONS READS
0 1,152
5 authors, including:
Some of the authors of this publication are also working on these related projects:
Metodología de Diseño de Sistemas Biomecatrónicos. Aplicación al desarrollo de un Robot Paralelo híbrido para diagnóstico y rehabilitación View project
All content following this page was uploaded by Nuria Rosillo on 03 June 2014.
Resumen: Este trabajo presenta el desarrollo y la validación de una metodología que permite el
modelado y la resolución del problema dinámico en tiempo real de robots manipuladores. La ecuación
dinámica del robot está basada en la ecuación de movimiento de Gibbs-Appell, proporcionando un
conjunto de ecuaciones bien estructuradas que pueden ser calculadas en tiempo real.
El artículo aborda el cálculo e implementación del problema dinámico directo e inverso de robots,
aplicándose al control en tiempo real de un robot industrial PUMA 560 equipado con una arquitectura
abierta de control basada en un computador personal industrial. Copyright © 2010 CEA.
Palabras Clave: sistemas robotizados, control de robots, ecuaciones de Gibbs-Appell, dinámica inversa,
control por computador, aplicaciones digitales de computación.
El primer algoritmo recursivo que resuelve el problema generalizadas que compensan las fuerzas externas generalizadas
dinámico indirecto basado en el principio de Newton-Euler se τ k se obtienen como:
debe a (Stepanenko y Vukobratovic, 1976). (Orin et al, 1980) n
∂ Gi
obtuvieron un algoritmo de complejidad O(n2) introduciendo
sistemas de coordenadas locales y (Luh, Walker y Paul, 1980)
τk = ∑ ∂ q&&
i =k j
, k = 1, 2 ⋅ ⋅ ⋅ n (3)
obtuvieron un algoritmo recursivo eficiente basado también en
Newton-Euler con una complejidad O(n).
Desarrollando esta última ecuación:
r r
La aplicación de las ecuaciones de Kane en el campo de la n ⎧⎪ ∂ i &r&Gi i r& T i ∂ iω& i
robótica fue iniciada por (Kane y Levinson, 1983), quienes τk = ∑
i =k ⎪
m ⋅i &r&T
⎨ i Gi r ⋅
∂ q&&k
+ ω i ⋅ I Gi ⋅
∂ q&&k
resolvieron los problemas dinámicos directo e inverso con una ⎩
complejidad similar a los algoritmos más eficientes de la época. (4)
⎛ ∂ iωr& i ⎞ i r r ⎫
T
Posteriormente, (Angeles, Ma y Rojas, 1989) utilizaron notación
tensorial para desarrollar, a partir de las mismas ecuaciones de
+⎜
⎜ ∂ q&& ⎟
[
⎟ ⋅ ωi × (i I G ⋅i ωi ) ⎪⎬
i
]
⎝ k ⎠ ⎪⎭
Kane, un algoritmo eficiente para su resolución.
En este trabajo, se han utilizado las ecuaciones de Gibbs-Appell, Reorganizando la expresión (4) se pueden obtener los dos
ecuaciones que fueron introducidas por Gibbs en 1879 y términos que se indican en la ecuación siguiente:
formalizadas por Appell veinte años después. Estas ecuaciones ⎧⎛ i r& ⎞T r ⎫⎪
[ ]
n
⎪⎜ ∂ ωi ⎟ i
∑
r r
constituyen, a pesar de su relativa poca utilización, una de las τk = ⎨⎜ ⋅ I Gi ⋅i ω& i +i ωi × (i I Gi ⋅i ωi ) ⎬
⎟
formulaciones dinámicas más simples. Ésta permite expresar las i =k ⎪⎝ ∂ q&&k ⎠ ⎪
ecuaciones del robot de forma lineal con respecto a los 1444444442444444443⎭
⎩
parámetros dinámicos, lo cual es sumamente conveniente para la Ak
identificación de los mismos. Además proporcionan otras (5)
n ⎡⎛ i &r& ⎞T ⎤
ventajas muy interesantes como, por ejemplo, permitir la ⎢⎜ ∂ rGi ⎟ ⋅ m ⋅i &rr& ⎥
inclusión del efecto de la dinámica de los actuadores de una + ∑ ⎢⎜ ∂ q&&k ⎟
i = k ⎢⎝
i G i ⎥
Para incrementar la precisión del modelo dinámico del robot La matriz A está a su vez compuesta por nxn submatrices Aij
manipulador se pueden incluir otros comportamientos definidas como:
dinámicos. En (Valera et al., 2007), se muestra cómo se puede ⎛ nηˆ n 0 K 0 0 ⎞⎟
⎜
considerar en el modelo del robot la fricción en las ⎜ n−1 Rn nηˆ n n −1
ηˆ n−1 L 0 0 ⎟
articulaciones, utilizándose diferentes modelos de fricción: ⎜ n−2 n n−2 ⎟
Rn ηˆ n Rn−1 n−1ηˆ n−1 L 0 0 ⎟
modelos lineales simétricos, el modelo de fricción asimétrico A=⎜ (15)
⎜ M M O M M ⎟
propuesto por (Lu, et al., 1993) y el modelo de (Grotjahn et al., ⎜ 2 n ⎟
2001) que incluye un término no lineal con respecto de la ⎜ Rn ηˆ n
2
Rn−1 n−1ηˆ n−1 L 2ˆ
η2 0 ⎟
velocidad. En este caso, la ecuación (6) está compuesta por las ⎜ 1 R nηˆ 1
Rn−1 n−1ηˆ n−1 L 1
R2 2ηˆ 2 1ˆ ⎟
η1 ⎠
⎝ n n
aportaciones:
n ∂Gli Así, las submatrices de A se pueden calcular como:
τ k = τ lk + τ f k = ∑ ∂q&&
k
+ F f k (q& k )
1
424 3
(9) ⎧ Aij = 0
⎪
i< j
1=124
i4 3 ω n +1− j + n +1− j ω~ n +1− j n +1− j ωˆ n +1− j
n +1− j ˆ& (16)
fricción ⎨ Aij = i= j
barras rigidas ⎪ A = n +1−i R
⎩ ij n + 2 −i Ai −1, j i> j
de forma que la ecuación (7) se puede reescribir de la forma
siguiente: La matriz B se compone también de nxn términos,
r descomponiéndose a su vez en una submatriz 3x3 B1ij y una
⎡Φ l ⎤
r
(r r r ) r
τ = W q , q& , q&& ⋅ Φ = Wl[ ]
Wf ⋅⎢ r ⎥ (10) submatriz columna 3x1 B2ij
⎣⎢Φ f ⎥⎦
r Bij = [ B1 ij B2ij ] (17)
donde el vector de parámetros Φ l viene dado por la ecuación (8)
r
y Φ f está definido por el vector de los parámetros de fricción: La matriz B1, constituida a partir de los términos B1ij, presentará
r
[
Φ f = Fn1 L Fnm L F11 L F1m T ] la forma siguiente:
⎛ −n~
(11)
⎜ r~
&&
On 0 L 0 0 ⎞⎟
⎜ H n − &r&O
n −1 n −1 ~ L 0 0⎟
En esta última referencia se encuentra también el modelo de ⎜ n −2 ~ n −1
⎟
n −2 ~
robot en el que se han incluido los pares correspondientes al ⎜ Hn H n−1 L 0 0⎟
B1 = ⎜ (18)
efecto giroscópico de los rotores y las posibles excentricidades M M O M M⎟
de los ejes de rotación. ⎜ 2~ 2 ~
⎟
⎜ Hn H n−1 L − 2 ~ &r&
O2 0⎟
3. OBTENCIÓN DE LA MATRIZ DE OBSERVACIÓN ⎜⎜ 1 ~ 1~ 1~ ⎟
⎝ H n H n −1 L H 2 0 ⎟⎠
Como se ha presentado en las ecuaciones (7) o (10) del apartado
anterior, para poder obtener la ecuación dinámica del sistema
robotizado es necesario obtener la matriz de observación W. Definiéndose los términos auxiliares η ij :
Dicha matriz se puede calcular a partir de la expresión siguiente: ⎧⎪η ij = n +1− j
ω~n+1− j n+1− j ω~n+1− j + n+1− j
ω~& n+1− j i= j
(12) ⎨ (19)
W = D ⋅ AB ⎪⎩η ij =
n +1−i
Rn+ 2−i ⋅ η i −1, j i> j
donde D se define como:
Así, las matrices B1ij se podrán calcular como:
⎛ ⎛ n r& ⎞T ⎞ ⎧B1ij = 0 i<
⎜ ⎜ ∂ ωn ⎟ ⎟
⎜ ⎜ ∂q&& ⎟ 01×3 L 01×3 ⎟ ⎪⎪ n +1− j~
&r& (20)
⎨ B1ij = On + 1− j i=
⎜⎝ n ⎠ ⎟ ⎪ n +1−i n +1−i~ i>
⎜ r T ⎟ ⎩⎪ B1 = Rn + 2 −i B1i −1, j − rOn + 1−i On + 2 − i ηij
⎛ ∂ n−1ω& n−1 ⎞ (13)
ij
⎜
D = ⎜ 01×3
⎜ ⎟ L 01×3 ⎟
⎜ ∂q&&n−1 ⎟ ⎟
⎝ ⎠ Para obtener la matriz B2 se utilizará la expresión:
⎜ M M O ⎟
⎜ ⎟
r T ⎛ 0 0 L 0 0⎞
⎜ ⎛ ∂ 1ω& 1 ⎞ ⎟ ⎜ n−1 r ⎟
⎜ 01×3 01×3 ⎜ ⎟ ⎟
⎜ ⎜ ∂q&&1 ⎟ ⎟ ⎜ hn 0 L 0 0⎟
⎝ ⎝ ⎠ ⎠ r
⎜ n−2 h r
n−2
hn−1 L 0 0 ⎟⎟ (21)
B2 = ⎜
n
⎜ M M O M M⎟
⎜ 2r 2
r ⎟
⎜ rnh hn −1 L 0 0 ⎟
⎛ j r& ⎞
T r r
con ⎜ ∂ ω j ⎟ = [0 0 1] para todo j = 1..n. ⎜ 1h 1
h L 1
h 0 ⎟
⎝ n n −1 2 ⎠
⎜ ∂q&& j ⎟
⎝ ⎠
Definiendo el término auxiliar δ ij :
La matriz AB está compuesta por dos submatrices ⎧⎪δ ij = n+1−i ~rOn+1−iOn+2−i i = j +1
correspondientes a cada uno de los términos recursivos Ak y Bk ⎨ n+1−i ~ (22)
⎪⎩δ ij = rOn+1−iOn+2−i n+1−i Rn+2−i + n+1−iRn+2−i δ i −1, j i > j + 1
de la ecuación (5):
AB = [ A B ] (14)
42 Modelado y Resolución del Problema Dinámico Inverso y Directo en Tiempo Real de Robots Industriales
Dichas matrices se calculan como: La Figura 2 muestra los pares para los 6 ejes del PUMA de uno
⎧⎪ B2ij = 0 i≤ j de los experimentos realizados. En línea continua se muestran
⎨ B2 = − δ n− j r
Rn +1− j n +1− j &r&On +1− j (23) los pares medidos en el robot real y, en línea discontinua, se
⎪⎩ ij ij i> j
muestran los pares estimados por el modelo del robot obtenido.
40
Para realizar la validación de la identificación realizada se ha Figura 2. Pares medidos y calculados del robot PUMA.
utilizado una trayectoria de movimiento distinta a la empleada
en el procedimiento de identificación, obteniéndose la respuesta
4. CÁLCULO E IMPLEMENTACIÓN DEL PROBLEMA
del robot real y del modelo dinámico descrito mediante los
DINÁMICO DEL ROBOT EN TIEMPO REAL
parámetros base identificados. La Figura 1 muestra el esbozo del
procedimiento experimental utilizado para validar el modelo Como se ha visto en el apartado anterior, a partir de la matriz de
dinámico propuesto para el robot industrial. observación del sistema y de la identificación del vector base de
los parámetros inerciales se puede obtener el vector de fuerzas
generalizadas del sistema:
r r r
(
r rr r r r
W q ,q& ,q&&,t ⋅ Φ = τ q ,q& , f ,Φ ,t )
(24) ( )
A partir de esta expresión se puede plantear el cálculo de la
ecuación dinámica del sistema robotizado:
r r r r r r r
M (q ) ⋅ q&& + C q ,q& ⋅ q& + G( q ) = τ (25) ( )
r r r&
donde M (q ) es la matriz de masas del sistema, C q ,q es el
r
( )
vector de fuerzas centrífugas y de Coriolis y G (q ) son los
Figura 1. Esquema de validación utilizado. términos gravitacionales.
N. Rosillo, A. Valera, F. Benimeli, V. Mata, F. Valero 43
Para poder resolver el problema dinámico inverso del sistema De esta forma, se han programado las funciones para obtener los
robotizado se ha desarrollado un algoritmo secuencial inspirado términos gravitacionales de la ecuación (26), los términos de
en los algoritmos propuestos por Walter y Orin (Walker y Orin, Coriolis de la ecuación (28) y los términos inerciales de la
1982). Se puede comprobar que los términos gravitacionales ecuación (31). A partir de estas funciones se puede obtener la
r
G (q ) dependen únicamente de las coordenadas generalizadas ecuación dinámica del sistema robotizado (25). La programación
r de los términos dinámicos se realiza a partir de la matriz de
q . Por ello, se pueden obtener estos términos inicializando a
observación W de los parámetros dinámicos identificados del
cero las velocidades y aceleraciones generalizadas r
r sistema robotizado Φ .
&r& = 0 ) en la matriz de observación W de la ecuación
( q& = 0 y q
(24): El cálculo de W se realiza tal y como se ha mostrado en el
r r r r apartado 3 y los parámetros dinámicos utilizados se obtuvieron
W (q ,0 ,0 ) ⋅ Φ = G(q ) (26)
previamente con un procedimiento fuera de línea. El cálculo de
W se realiza a partir de la ecuación (12) mediante el producto de
Para hallar los términos centrífugos y de Coriolis C q, q& se (r r ) dos matrices: D y AB. El cálculo de D no tiene coste
puede observar que éstos dependen tanto de las coordenadas computacional asociado porque es simplemente una matriz
como de las velocidades generalizadas. Por ello, si se inicializan cuyos elementos son 0 ó 1. La matriz AB se calcula a partir de
a cero las aceleraciones generalizadas en la ecuación (24): las matrices A y B. El cálculo de las submatrices que forman A
(
r r
) ( )
r r r r r r
W q ,q& ,0 ⋅ Φ = C q ,q& + G (q ) (27)
se realiza a partir de la ecuación (16), y son necesarios:
⎧⎪ 9n
r r&
( )
De esta forma, se puede obtener C q, q restando directamente Sumas ⎨ n( n − 1 )
12
i= j
i> j
⎪⎩ 2
las ecuaciones (26) y (27):
( (r r
)
r r r
) ( )
rr r
W q ,q& ,0 ⋅Φ − G(q ) = C q ,q& (28)
⎧⎪ 6n i= j
Productos ⎨ n( n − 1 )
27 i> j
El último término de la ecuación dinámica del robot que falta es ⎪⎩ 2
la matriz de masas del sistema. Éste depende, además del vector
r
que agrupa los parámetros inerciales Φ , de la geometría de las Por lo tanto, para la construcción de la matriz A se necesitan
r
coordenadas generalizadas q empleadas para modelizar el n( n − 1 ) n( n − 1 )
12 + 9 n sumas y 27 + 6 n productos.
mecanismo. Para obtener dicha matriz se pueden utilizar los 2 2
términos gravitacionales y de Coriolis calculados previamente:
r r r r r r r r
La matriz B se compone de las matrices B1ij y B2ij. Para calcular
M ( q ) ⋅ q&& = τ − G( q ) − C( q ,q& ) (29)
la primera matriz se necesitan los términos auxiliares ηij de la
r ecuación (19). La complejidad de estos términos es:
Sin embargo, hay que tener en cuenta que M (q ) es una matriz
⎧6 n i= j
nxn (6x6 en el caso del robot PUMA) y no un vector. Por ello, a ⎪
Sumas ⎨ n( n − 1 )
diferencia de lo que ocurría con los términos gravitacionales y de ⎪⎩ 18 i> j
2
Coriolis, no se puede calcular directamente. Para poder
solucionar el problema se pueden obtener las columnas de forma ⎧6 n i= j
independiente mediante la expresión: ⎪
Productos ⎨ n( n − 1 )
⎪⎩ 18 i> j
⎡1 ⎤ ⎡m11 ⎤ 2
⎡m11 m12 L m16 ⎤ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢0⎥ ⎢m21 ⎥ (30)
⎢ M O M ⎥ ⋅ ⎢M ⎥ = ⎢M ⎥ A partir de los ηij se pueden obtener las matrices B1ij según la
⎢⎣m61 m62 L m66 ⎥⎦ ⎢ ⎥ ⎢ ⎥ ecuación (20). El coste computacional de este cálculo (para i>j)
⎣0⎦ ⎣⎢m61 ⎦⎥ es 18n( n − 1 ) sumas y 21n( n − 1 ) productos. De esta forma,
el coste total del cálculo de las matrices B1 son
Así, para poder obtener la matriz completa lo que se hace es 27 n( n − 1 ) + 6 n sumas y 30 n( n − 1 ) + 6 n productos.
calcular la columna i-ésima de dicha matriz, uniéndolas
posteriormente: Las matrices columna B2ij necesita los términos auxiliares δ ij .
( r r r r r
) r r
W (q ,0 ,ei ) ⋅ Φ − G (q ) = M i (q ) (31)
El coste de este cálculo es el siguiente:
r r ⎧0 i= j
siendo M i (q ) la columna i de la matriz de inercias y ⎪
Sumas ⎨ ( n − 1 )( n − 2 )
⎪⎩26 i> j
ei = [0 K1K0]T un vector columna donde la posición i será 1 e 2
indicará la columna a hallar. ⎧0 i= j
⎪
Productos ⎨ ( n − 1 )( n − 2 )
A fin de desarrollar el problema dinámico inverso y poder ⎪⎩ 30 i> j
2
validar el algoritmo propuesto, se ha utilizado la aplicación Real-
Time Workshop de Matlab, que permite la implementación El cálculo de las matrices B2ij se define en la ecuación (23) y
automática de programas ejecutables en tiempo real a partir de tiene el coste siguiente:
esquemas Simulink.
44 Modelado y Resolución del Problema Dinámico Inverso y Directo en Tiempo Real de Robots Industriales
-10
-15
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)
20
Término G
Aportación al par (N.m) términos G, C y M (1º art.)
15 Término C
Término M
10
-5
-10
-15
-20
30
Las estrategias de control implementadas vienen dadas por la
20 par estimado expresión general siguiente:
10
par real robot
τ c = M (q ) a + C (q, q& )q& + G (q) (33)
donde
Par (N.m) 2ª articulacion
-60
0 1 2 3 4 5 6 7 8 9 10 En la ecuación (33) se puede observar como el controlador
Tiempo (s)
cancela los términos no lineales de la ecuación dinámica del
Figura 7. Par real y calculado de la 2ª articulación del PUMA. robot (los términos de Coriolis y gravitacionales) sumando
dichas fuerzas a la acción de control. Una vez canceladas el
15 sistema se convierte en un sistema lineal simple de entrada-
salida.
10
q&& = a (34)
Error par estimado y real 2ª articulacion
0
Tal como se muestra en la Tabla 1, dependiendo de la expresión
que se utilice para el término a, se pueden obtener diferentes
-5 estrategias de control.
-10 Tabla 1. Acción de control lineal a de los controladores por
dinámica inversa
-15
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s) Controlador Acción de control lineal a
Figura 8. Error entre el par real y calculado de la 2ª articulación Punto a punto − K d q& − K p e
del PUMA. Control trayectoria q&&d − K d e& − K p e
30 t
Control Trayectoria
∫
Término G
Término C
20
Término M
con acción integral
10
0
0
donde e=q-qd y Kd, Kp y Ki son las matrices (diagonales y
-10 definidas positivas) de ganancias derivativas, proporcionales e
-20
integradoras.
-30
El primero es un controlador punto a punto exponencialmente
-40
0 1 2 3 4 5 6 7 8 9 10
estable con una selección adecuada de las matrices Kd y Kp. El
Tiempo (s) segundo controlador es similar al primero, pero en este caso se
Figura 9. Aportación términos dinámicos de gravedad, Coriolis e establece un control de trayectoria en el que la respuesta del
inerciales al para de la 2ª articulación del PUMA. robot debe seguir una trayectoria variable qd(t) y sus sucesivas
derivadas que describen la velocidad q& d ( t ) y la aceleración
q&&d ( t ) deseada. El tercer controlador es también un controlador
Por último, en este trabajo también se ha planteado y resuelto el
problema dinámico directo de robots. Éste se puede obtener de de trayectoria en el que se ha añadido un término integral del
una forma análoga a la planteada para la resolución del problema error.
dinámico inverso. En este caso se parte de la ecuación (25) y se
despeja el término de la aceleración generalizada. De esta forma, Estas estrategias se han implementado para establecer el control
la ecuación dinámica que se obtiene es la siguiente: en tiempo real del robot industrial PUMA 560, robot que se
r r r r r r r
q&& = M (q )−1 τ − C q , q& ⋅ q& − G( q ) ( ( ) ) (32)
muestra en la Figura 10.
Para poder acceder a las variables de estado del sistema se ha Como en las fases de identificación del apartado 3 y de la
sustituido la unidad de control original por una unidad nueva resolución del problema dinámico del apartado 4, el periodo de
basada en un computador personal industrial equipado con un muestreo utilizado para establecer el control del robot industrial
procesador Intel Pentium IV a 2.66GHz. La Figura 11 muestra la es de 5ms. En las pruebas y las ejecuciones realizadas se ha
arquitectura de control utilizada. comprobado que este periodo es suficientemente grande puesto
que el tiempo medio de ejecución del controlador (que incluye
Amplifica- Motores las lecturas de los encoders, el cálculo del controlador y las
dores de
Convertidor D/A corriente conversiones Digital/Analógico) que se obtuvo fue 3.55ms, con
Algoritmos de Control
Potencia
continua
un tiempo de ejecución máximo de 3.57ms.
Convertidor A/D
Potenciómetros Las figuras siguientes muestran una ejecución real del robot
industrial PUMA 560. En la Figura 13 se muestran la referencia
Tarjeta Encoders Encoders
(línea continua) y la posición real (línea discontinua) para las 6
articulaciones del robot. La Figura 14 muestra los errores
PC Etapa potencia Brazo robot cometidos.
1
-0.6
-0.8
-0.5
-1
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
-1
Ref y Pos PUMA (rad) 6ª articulacion
referencia
-1.5 pos real
-2
-2.5
-3
-3.5
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
Figura 12. Controlador por dinámica inversa punto a punto del Figura 13. Referencias y posiciones reales de las seis
robot industrial PUMA.560. articulaciones del robot industrail PUMA.560.
N. Rosillo, A. Valera, F. Benimeli, V. Mata, F. Valero 47
0.01
-0.01
30
0.005 -20
0 -30
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
-0.005 0
0.02 -50
-60
0
-70
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
-0.02
15
0.04 -5
-10
0.02
Error 4ª articulacion
-15
0 -20
-0.02 -25
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
-0.04
5
-0.06 4
0 2 4 6 8 10 12 14 16 18 20
Tiempo (S)
Par de control (N.m) 4ª articulación
2
0.04
1
0
Error 5ª articulacion
0.02
-1
-2
0
-3
-4
-0.02
-5
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)
-0.04
0 2 4 6 8 10 12 14 16 18 20
Tiempo (S) 4
0.1 3
Par de control (N.m) 5ª articulación
2
Error 6ª articulacion
0.05
1
0
0
-0.05 -1
-2
-0.1
0 2 4 6 8 10 12 14 16 18 20
-3
Tiempo (S)
-4
0 2 4 6 8 10 12 14 16 18 20
Figura 14. Error referencias y posiciones reales del robot. Tiempo (s)
8
La Tabla 2 muestra el valor medio y la media cuadrática (RMS)
del error entre la referencia y la posición real de cada 6
Par de control (N.m) 6ª articulación
articulación. 4
∑e ∑e
-2
2
i i
Articulación -4
n n -6
0 2 4 6 8 10 12 14 16 18 20