Capit2b

7
Modelado, Análisis del Desempeño y Simulación de un Robot Industrial Arnoldo A. Fernández R. 17 2.6 Modelo cinemático directo de velocidad. En el modelado cinemático de velocidad de un robot manipulador se establecen las relaciones existentes entre la derivada respecto al tiempo del vector de coordenadas operacionales ( x ) y la derivada respecto al tiempo del vector de configuración ( q ). Es evidente que el vector x define implícitamente la velocidad del órgano terminal del manipulador, mientras que q define las tasas instantáneas de cambio de las variables articulares; es decir, define las velocidades articulares. El modelo directo de velocidad permite calcular el vector x correspondiente a un vector dado q de velocidades articulares del manipulador. Este modelo se obtiene mediante la derivación respecto al tiempo de la ecuación del modelo directo de posición (Ec. 2.3): x = J (q ) q (2.15) Donde: J (q ) es la matriz jacobiana de dimensión m × n ; ésta es igual a x / q y es función de las variables articulares. Los elementos de la matriz jacobiana están dados por: J ij j = ) f i (q q i = 1,..., m j = 1,..., n (2.16) Donde J ij define el elemento del i-ésimo renglón y la j-ésima columna. A. Cálculo de la matriz jacobiana básica. El cálculo de la matriz jacobiana a partir de la derivación respecto al tiempo de las funciones del modelo directo de posición, indicada en la ecuación 2.16 , resulta tedioso para robots de más de dos grados de libertad. Ese procedimiento se puede evitar mediante métodos alternativos. En esta sección se describe un método basado en el cálculo de los vectores diferenciales translacionales y rotacionales ( d n , d n ) del marco n como función de dq [ Khalil, 1992]. Estos vectores se pueden determinar mediante:

Transcript of Capit2b

Page 1: Capit2b

Modelado, Análisis del Desempeño y Simulación de un Robot Industrial Arnoldo A. FernándezR.

17

2.6 Modelo cinemático directo de velocidad.

En el modelado cinemático de velocidad de un robot manipulador se establecen lasrelaciones existentes entre la derivada respecto al tiempo del vector de coordenadas operacionales

( x•

) y la derivada respecto al tiempo del vector de configuración ( q••

). Es evidente que el vector

x•

define implícitamente la velocidad del órgano terminal del manipulador, mientras que q••

definelas tasas instantáneas de cambio de las variables articulares; es decir, define las velocidadesarticulares.

El modelo directo de velocidad permite calcular el vector x•

correspondiente a un vector

dado q••

de velocidades articulares del manipulador. Este modelo se obtiene mediante la derivaciónrespecto al tiempo de la ecuación del modelo directo de posición (Ec. 2.3):

x = J (q) q (2.15)

Donde:

J (q) es la matriz jacobiana de dimensión m × n ; ésta es igual a ∂x / ∂q y esfunción de las variables articulares.

Los elementos de la matriz jacobiana están dados por:

J i jj

=)

∂∂fi (qq

i = 1,..., mj = 1,... , n (2.16)

Donde J i j define el elemento del i-ésimo renglón y la j-ésima columna.

A. Cálculo de la matriz jacobiana básica.

El cálculo de la matriz jacobiana a partir de la derivación respecto al tiempo de las funcionesdel modelo directo de posición, indicada en la ecuación 2.16 , resulta tedioso para robots de másde dos grados de libertad. Ese procedimiento se puede evitar mediante métodos alternativos. En estasección se describe un método basado en el cálculo de los vectores diferenciales translacionales yrotacionales ( dn, δδ n ) del marco n como función de dq [Khalil, 1992]. Estos vectores sepueden determinar mediante:

Page 2: Capit2b

Modelado, Análisis del Desempeño y Simulación de un Robot Industrial Arnoldo A. FernándezR.

18

dJ dq

n

n

n δδ

= (2.17)

La matriz jacobiana J n de la ecuación 2.17 es la misma que permite calcular las velocidades de

translación y rotación ( Vn y ωω n ) del marco n en función de las velocidades articulares q.

La matriz jacobiana correspondiente a cualquier representación de las coordenadasoperacionales x puede ser obtenida de la matriz J n , la cual es llamada matriz jacobiana básica[Dombre y Khalil, 1988].

Si dn y δδ n se refieren a un marco dado r, entonces esos vectores se representanmediante rdn y rδδ n, y la correspondiente matriz jacobiana será llamada rJn. En la mayor partede las aplicaciones r = 0 .

Puesto que la variable articular j representa ya sea una translación o una rotación,dependiendo del tipo de articulación, a lo largo del vector zj, se tiene que:

d a a L a a L

a a

dq

dq

, ,n

n

n n n n n n n

n nδδ

=

+ × + ×

σ σ σ σ

σ σ

1 1 1 1 1

1 1

( ) ( ):

. . .

. . .

1

n

(2.18)

Por lo tanto, teniendo en cuenta la ecuación 2.17, se tiene que:

J n = σ σ σ σ

σ σ1 1 1 1 1

1 1

a a l a a la a

, ,+ × + ×

( ) ( )n n n n n n n

n n

...

... (2.19)

Donde:

lk,n es el vector que va del origen del marco k al origen del marco n, okon.

aj es el vector unitario a lo largo de zj.

Jn es llamada la matriz jacobiana vectorial del robot.

Page 3: Capit2b

Modelado, Análisis del Desempeño y Simulación de un Robot Industrial Arnoldo A. FernándezR.

19

Proyectando los elementos de la matriz Jn en un marco dado i, se obtiene la matrizjacobiana iJn.

Se observa que la transformación de la matriz jacobiana referida a un marco i para referirlaa un marco j se puede realizar mediante:

j JA

AJn

ji

ji

in=

0

0 (2.20)

Donde la matriz jiA es la matriz de rotación clásica del marco j al i .

Para obtener la matriz jacobiana JE , que relaciona los vectores de desplazamientosdiferenciales del marco de la herramienta del órgano terminal E con dq, se puede usar la ecuación2.19, después de remplazar lk,n por lk,E, o bien usar la siguiente relación:

iE

iE n i

nJI L

IJ=

,

0 , (2.21)

En la ecuación 2.20, el término − iE nL , es una matriz 3 × 3 que equivale a un operador

de producto vectorial tal que V w = v × w.

B. Descomposición de la matriz jacobiana.

Renaud [Renaud, 1980] demostró que la matriz jacobiana puede descomponerse en 3matrices, de las cuales la primera y la segunda son de rango completo, mientras que la tercera tieneel mismo rango que iJn, pero contiene elementos más simples, tales que su inversa será más fácil deobtener. En esta sección se calcula la matriz jacobiana del marco n como función de otra matrizjacobiana Jj , correspondiente a otro marco fijo al eslabón terminal pero alineado instantáneamentecon el marco intermedio j. Así, esta última matriz está definida mediante:

Page 4: Capit2b

Modelado, Análisis del Desempeño y Simulación de un Robot Industrial Arnoldo A. FernándezR.

20

Ja a l a a l a a l

a a a, , ,

jn n n n n n n n

n n

=+ × + × + ×

σ σ σ σ σ σσ σ σ

1 1 1 1 1 2 2 2 2 2

1 1 2 2

( ) ( ) ... ( )...

(2.22)

Se puede calcular Jn , definida en la ecuación 2.19, como función de Jj usando larelación:

JI L

IJn

j n

n=−

,

0 (2.23)

Donde I y 0 son las matrices 3 × 3 unitaria y cero, respectivamente.

Proyectando la relación 2.23 para rerferirla al marco i, se obtiene:

in

ij n i

n

ij

jj n

ji i

jJI L

IJ

I A L AI

J=−

=

, ,

0 0 (2.24)

La matriz rJ n se calcula entonces mediante el producto siguiente:

r

r

rni

i

ij

jj n

ji i

jJA

AI A L A

IJ=

0

0 0 ,

(2.25)

En esta última ecuación las primeras dos matrices son de rango completo.

En general los valores de j e i (es decir el marco intermedio cambiante y el marco deproyección, respectivamente) correspondientes a la más simple matriz iJ j se obtienen mediante:

j = p + 1,

Page 5: Capit2b

Modelado, Análisis del Desempeño y Simulación de un Robot Industrial Arnoldo A. FernándezR.

21

i = p.

Con p siendo igual a la parte entera de n/2.

Así, para un robot con seis grados de libertad, la matriz 3J4 es en general la más simple. Silas últimas tres articulaciones son de ejes concurrentes entonces L4,6 será igual a cero.

Los términos de la k-ésima columna de iJ j , obtenida de la relación 2.22, están dadospor las siguientes expresiones:

a) Si la articulación k es rotacional:

ij

ik k j

ik

ik

kk

kk j

ik

J

=

− ×

k

( ), ,a la

A â la

= (2.26)

b) Si la articulación k es translacional:

( )ij

ikJ

k=

a0

(2.27)

Para calcular la matriz jacobiana iJE se reemplaza jLj,n de la relación (2.24) porjLj,E.

C. Modelos diferenciales como función de la representación de las coordenadasoperacionales.

Sea x = [ xp xr ]T el vector que representa las coordenadas operacionales de unmanipulador. Para una representación dada de x, se puede escribir [Dombre y Khalil 1988]:

Page 6: Capit2b

Modelado, Análisis del Desempeño y Simulación de un Robot Industrial Arnoldo A. FernándezR.

22

dxdx

dp

r r

n

n

= = p

0ΩΩ0

0 0 δδ (2.28)

Donde xp y xr definen los vectores de posición y orientación del órgano terminal,respectivamente, con respecto al marco 0. Las matrices Ωp y Ωr están dadas en [Dombre yKhalil, 1988] para diferentes representaciones del vector operacional x.

De la relación 2.17, se obtiene:

dxdx

J dqp

r rn

= p 0Ω

Ω

0

0 , (2.29)

de donde se obtiene una expresión de la forma de la ecuación 2.15, que corresponde al modelodirecto de velocidad:

x

xJ q

p

r rn = p 0Ω

Ω

0

0 (2.30)

O bien:

= ( ) x J q q• •

,

Donde:

J(q) = Ω

Ωp 0

0

0 rn

J (2.31)

Page 7: Capit2b

Modelado, Análisis del Desempeño y Simulación de un Robot Industrial Arnoldo A. FernándezR.

23

2.7 Modelo cinemático inverso de velocidad.

El modelo inverso de velocidad permite calcular las velocidades articulares q que serequieren en el manipulador para obtener una velocidad deseada x en el órgano terminal.

Conceptualmente, el modelo inverso de velocidad se puede obtener en forma muy simple, apartir del modelo directo (ecuación 2.15), de la siguiente manera:

= ( ) q J q x• •

-1, (2.32)

En el dominio de configuraciones accesibles de un robot existen ciertas configuraciones quevuelven singular a la matriz jacobiana. En estas configuraciones (llamadas singulares) no es posibleobtener la inversa de la matriz, esto conduce a una indeterminación del modelo cinemático inverso.

En una configuración singular un robot esta localmente incapacitado para desplazar el órganoterminal en una cierta dirección del espacio cartesiano. Es decir hay ciertos vectores x imposibles derealizar. Por esta razón, en general, no es deseable utilizar configuraciones singulares en la ejecuciónde una tarea.

La inversa de la matriz jacobiana puede obtenerse en forma simbólica o numérica. Lasolución simbólica tiene la ventaja de reducir el costo de computación, pero en cada caso debenpreverse las configuraciones singulares [Chevallereau 1987, Chevallereau 1988a]. Los métodosnuméricos son más generales; la mayoría de los que se usan comúnmente se basan en el uso de lapseudo-inversa de la matriz jacobiana. Mediante un enfoque unificado, los algoritmoscorrespondientes pueden tomar en cuenta los casos regular, singular y redundante. El costo de estecálculo es relativamente más importante que el de los métodos simbólicos.

Debido a que en el análisis que se realiza en esta tesis no se utiliza el modelo inverso develocidad, no se presentan en esta sección los métodos de cálculo existentes para el modelo inversode velocidad. Estos métodos son tratados ampliamente en diferentes textos; por ejemplo:Yoshikawa (1990), Khalil (1992), Ángeles (1997).