modelado y simulación de un manipulador de 6 grados de

7
Pueblo Cont. 24 (1) 2013 | 15 Modelado y Simulación de un Manipulador de 6 Grados de Libertad para Aplicaciones Industriales en la Región La Libertad

Upload: others

Post on 22-Nov-2021

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelado y Simulación de un Manipulador de 6 Grados de

Pueblo Cont. 24 (1) 2013 | 15

Modelado y Simulación de un Manipulador de 6 Grados de Libertad para Aplicaciones Industriales en la Región La Libertad

Page 2: Modelado y Simulación de un Manipulador de 6 Grados de

| Pueblo Cont. 24 (1) 2013 Pueblo Cont. 24 (1) 2013 |16 17

Modelado y Simulación de un Manipulador de 6 Grados de Libertad para Aplicaciones Industriales en la Región La LibertadWiliton S. Briones Escobedo, Eric A. Castillo Ponce, Erick M. Fiestas Sorogastua

Page 3: Modelado y Simulación de un Manipulador de 6 Grados de

| Pueblo Cont. 24 (1) 2013 Pueblo Cont. 24 (1) 2013 |18 19

Modelado y Simulación de un Manipulador de 6 Grados de Libertad para Aplicaciones Industriales en la Región La LibertadWiliton S. Briones Escobedo, Eric A. Castillo Ponce, Erick M. Fiestas Sorogastua

Figura 3. La distancia entre las piezas a soldar y los extremos de los electrodos de la pieza de soldadura

(asignada al extremo del robot) es un parámetro determi-nante para asegurar la calidad de la soldadura.

Figura 4. MATRIZ homogénea usada en Robótica.

Figura 5. Parámetros geométricos (θi,di,ai,αi).

ai, proporciona información sobre la longitud del eslabón.

αi, define el ángulo de torsión del eslabón.

Los dos siguientes parámetros relacionan la posición relativa de un eslabón con respecto a su predecesor.

di, expresa la distancia entre los dos eslabones y está determinada por el tamaño y forma de la articulación que las une. Conocida como longitud angular.

θi, expresa el ángulo que forman los dos esla-bones (determinado por la forma de la articulación que los une). Se le conoce como ángulo articular.

Zi-1

Yi-1

αi-1

ai-1

xi-1 di

Yi Zi

Xi

ai

θi

= = 3.3 3.1

0 1 0 1R P Rotación TraslaciónT

Los parámetros ai y αi, una vez determinados siempre se mantienen fijos, no así con los otros dos parámetros. Para una articulación tipo rotacional el parámetro θi es variable, se asocia a la variable articular qi, y el parámetro di es fijo. Por el contra-rio en una articulación prismática di es variable, se asocia a la variable articular qi, y θi es fijo.

En el caso de RoboUPAO se tiene un robot car-tesiano, por lo tanto, las articulaciones del cuerpo principal son prismáticas. Es así que las tres pri-meras variables articulares se definieron por una di variable. Y las otras tres articulaciones restantes, por ser rotacionales, se basaron en un θi variable.

Determinar la posición y orientación del ex-tremo del robot dado los valores de las articula-ciones, equivale pasar del sistema de referencia i-1 (sistema de referencia asignado al eslabón i-1, según D-H) al sistema de referencia i (asignado al eslabón i) mediante dos giros y dos traslaciones, en el orden adecuado, que se corresponden con los parámetros D-H que involucran a los eslabo-nes que definen la articulación i. Lo que matemáti-camente se obtiene mediante una Transformación homogénea (i-1Ai):

11 1( , ). ( , ). ( , ). ( , )θ α−

− −=ii i i i i i i i iA Rot z Tras z d Tras x a Rot x

Dónde: Rot= rotación, Tras= traslación; son matrices homogéneas (4x4).

A partir de (2) se obtiene la transformación ho-mogénea total, baseTextermo, que representa la posición y orientación del extremo del robot con respecto al sistema base:

(1)

(4)

(5)

(6)

(7)

(2)

(3)

1 2 11 2 3. . ... −=base base n

extremo extremoT A A A A

11 12 13

21 22 23

31 23 33

0 0 0 1

=

baseextremobase

base extremoextremo base

extremo

r r r x

r r r yT

r r r z

donde los elementos de la cuarta columna pro-porcionan información de posición y los elemen-tos de las tres primeras columnas proporcionan información de orientación.

1) Cinemática directa

De acuerdo a lo descrito, el modelado cinemá-tico directo se desarrolló mediante los siguientes 3 pasos:

1. Asignación de los sistemas de referencia para cada eslabón, según el método de D-H.

2. Determinación de los parámetros (θi, di, ai, αi).

3. Cálculo de las transformadas homogéneas i-1Ai.

2) Cinemática inversa

Sea (x, y, z) los valores de posición del extremo del robot y (φ, θ, ψ) los valores de orientación del mismo, se puede obtener los valores de los qi me-diante la cinemática inversa. A su vez el modelo cinemático inverso se puede determinar a partir de la matriz T, que relaciona a la base y al extremo

del robot, aprovechando la condición de ortonor-malidad de la matriz de rotación R3,3 [14], lo que significa que de una matriz homogénea

0 0 0 1

x x x x

y y y y

z z z z

n o a p

n o a p

n o a p

se puede obtener su inversa de una manera más rápida:

0 0 0 1

− − −

Tx y z

Tx y z

Tx y z

n n n n p

o o o o p

a a a a p

Por lo tanto, para hallar la cinemática inversa se van multiplicando las correspondientes inver-sas de i-1Ai por la matriz T, como se muestra en (6). De tal forma que se despeja las correspondientes qi.

3 1 4 1 5 1 1 24 5 1 2 3( ) .( ) .( ) . . .− − − =base

extremoA A A T A A A

Sin embargo, este proceso se vuelve muy com-plejo a medida que aumentan los grados de liber-tad.

La solución que se sigue para RoboUPAO es el desacoplo cinemático [5]. Método que solo es apli-cable a robots cuyos tres últimos grados de liber-tad se cortan en un punto (Fig. 6).

El desacoplo cinemático, cumplida la condi-ción de corte común, origina la siguiente igualdad:

3 13 6 3[ ] ( ) . ( ) [ ]−= = =base base base T

extremo ijR r R R R n o a

Page 4: Modelado y Simulación de un Manipulador de 6 Grados de

| Pueblo Cont. 24 (1) 2013 Pueblo Cont. 24 (1) 2013 |20 21

Modelado y Simulación de un Manipulador de 6 Grados de Libertad para Aplicaciones Industriales en la Región La LibertadWiliton S. Briones Escobedo, Eric A. Castillo Ponce, Erick M. Fiestas Sorogastua

(8)

(9)

Figura 6. Cinemática de un robot de 6 grados de libertad, cuyos tres últimos grados se cortan en un punto [5].

Donde R es la matriz de rotación mostrada en la Fig. 4 y rij son los componentes numéricos co-nocidos de baseTextermo, que permiten encontrar igualdades a fin de despejar para q4, q5 y q6.

3) Jacobiano

Es importante conocer la relación entre las ve-locidades de las coordenadas articulares y las del extremo del robot.

La matriz Jacobiana (8) relaciona las velocida-des articulares con el vector de veloci-dades del extremo del robot expresado en el espa-cio cartesiano [9]. La matriz Jacobiana está dada por:Equation Section (Next)

1

1

ψ ψ

∂ ∂ ∂ ∂ = ∂ ∂ ∂ ∂

x x

n

a

n

f f

q q

J

f f

q q

donde:

qi: son las variables articulares, i=1,…,n.

ƒx,…, ƒψ: representan las funciones que rela-cionan las variables del robot con las variables ar-ticulares de x e ψ.

Al igual que en el caso de la cinemática, cuan-do se tiene como dato las velocidades articulares, entonces se dice que se usa el Jacobiano directo (9) para determinar las velocidades del extremo del robot.Equation Section (Next)

1

.a

x q

y

zJ

q

φθψ

=

Para el caso inverso, es decir se tienen las ve-locidades del extremo del robot y se quiere determinar las correspondientes velo-cidades articulares, entonces se usa la Jacobiana inversa.

C. Generador de trayectorias

En general, para poder controlar el movimien-to del robot previamente es necesario establecer las características del mismo.

Por ejemplo, si el robot tiene que pasar entre dos puntos y si no hay más restricciones que un tiempo para pasar entre ellos y las posiciones y orientaciones inicial y final, se puede pensar en generar directamente las trayectorias sobre el es-pacio articular. Dado que esto permite determinar trayectorias sencillas pero de gran rapidez.

En aplicaciones de corte, soldadura, sellado, engomado, etc., el movimiento debe ser estableci-do en el espacio cartesiano, ya que el extremo de la herramienta del robot debe seguir una trayectoria con una geometría (lineal, circular, elíptica, etc.) y velocidad deseada.

En ambos casos, los movimientos se deben rea-lizar con la máxima suavidad y precisión posible.

En el caso de trayectorias en el espacio articular optamos por los siguientes tres pasos:

• Conversión de los puntos cartesianos inicial y final a valores articulares.

• Interpolación de los valores articulares para cada articulación.

• Movimiento de cada articulación de forma in-dependiente.

El primer paso se solucionó mediante la cine-mática inversa y los otros dos, mediante técnicas de interpolación [4].

El método de interpolación que se eligió fue en base a requerimientos de suavidad, lo que obligó a imponer al menos cuatro condiciones de contorno. Las dos primeras que aseguren que se comienza y se termina en los puntos adecuados y las dos siguientes que garanticen que las velocidades de inicio y final son nulas.

Matemáticamente, las cuatro condiciones pre-vias se cumplen con un polinomio de tercer grado [5]:

Figura 7. Agrupación de puntos de 4 píxeles. Para el barrido de imágenes se tiene el primer punto comenzando en (85,78) y el

segundo punto en (85,82).

Figura 8. Determinación de un punto colindante.

2 3( ) ( ) ( ) ( )i i iq t a b t t c t t d t t= + − + − + −(10)

donde: representa el dominio tiempo, los coeficientes a,b,c,d, son determina-dos tal que se cumpla con las cuatro condiciones previas y para ello hace uso de la información del usuario o también el generador de trayectoria me-diante heurísticas determina los valores de paso de velocidad para cada di. Para este último caso, se usó la ecuación planteada en [6].

1) Trayectorias por procesamiento de imagen

Para agilizar la generación de una trayecto-ria deseada de la herramienta de RoboUPAO, se plantea utilizar archivos de imagen, por ejemplo mediante el uso del software Paint, y a través de algoritmos de procesamiento en Matlab, obtener las condiciones de contorno para el interpolador cúbico.

El proceso para obtener la trayectoria del robot mediante procesamiento de imagen consta de las siguientes fases:

Determinación de la imagen binaria: Se con-vierte la imagen en una matriz con datos binarios, mediante el sistema de coordenadas de píxeles, . Donde un pixel en blanco es representado por un uno y un pixel en negro es representado por un cero (la imagen es en blanco y negro).

Barrido de imagen: Se toman puntos cada cier-ta distancia en la matriz de imagen obtenida en el paso previo. Esta distancia entre puntos es aproxi-madamente de 0.1 cm (equivalente a 4 pixeles). Es decir que un punto es representado por una sub-matriz de cuatro filas y cuatro columnas. El barri-do (de izquierda a derecha) determina la posición (r,c) donde comienza la sub-matriz de ceros que define un punto (Fig. 7). Las posiciones de los pun-tos son guardados en una matriz de r filas y dos columnas. Siendo el valor de r igual a los puntos que contiene la imagen.

Puntos secuenciales: Los puntos de la matriz son organizados siguiendo un patrón de similitud mediante la asignación de un pixel a su alrededor, lo que determinará los puntos colindantes a cada uno de ellos (Fig. 8). El proceso se repite con cada punto colindante determinado, hasta definir una trayectoria.

Interpolación: Se envía al interpolador la ma-triz de puntos previamente organizada por la fase

Page 5: Modelado y Simulación de un Manipulador de 6 Grados de

| Pueblo Cont. 24 (1) 2013 Pueblo Cont. 24 (1) 2013 |22 23

Modelado y Simulación de un Manipulador de 6 Grados de Libertad para Aplicaciones Industriales en la Región La LibertadWiliton S. Briones Escobedo, Eric A. Castillo Ponce, Erick M. Fiestas Sorogastua

previa para generar la trayectoria del robot. El in-terpolador genera automáticamente dos puntos intermedios entre cada dos puntos pertenecientes a la matriz de puntos.

D. Simulación

Aquí se presenta el procedimiento para la si-mulación del modelado cinemático y generación de trayectorias mediante Matlab. Para la visuali-zación de imágenes en 3D se usa el soporte Virtual Reality Modeling Language (versión VRML97) y un visualizador llamado VRML plug-in Blaxxun contact, el cual trabaja con Simulink. Sin embargo SolidWork exporta archivos en formato VRML1.0, por lo que a fin de conseguir la compatibilidad con VRML97 se usó el editor Ligos V-Realm Buil-der. El software que da soporte a la simulación (Matlab) presenta una interfaz gráfica de usuario (GUI), y archivos .m que contienen el código del modelado cinemático y generación de trayectoria. Finalmente un transductor en Simulink recibirá los datos del programa .m para proporcionar los valores de cada articulación según la trayectoria generada. Un esquema general de la simulación puede verse en la (Figura 9).

Figura 9. Esquema de desarrollo para RoboUPAO.

1) Interfaz gráfica de usuario

Con la finalidad de ingresar los valores de las variables articulares, la posición de la herramienta en el espacio cartesiano, entre otros, se hizo uso de una interfaz gráfica de usuario, que no es sino una ventana didáctica donde el usuario puede ingre-sar datos que sean entendidos por el ordenador y los enlace al programa de RoboUPAO (Figura 10).

Para hacer más didáctica la interfaz, las tareas específicas se dividieron en grupo de botones. En la zona de “Variables Articulares”, se puede variar independientemente cada variable articular. En

“Posicionar Extremo”, se le indica a RoboUPAO la posición y orientación en que debe situarse la herramienta en el espacio cartesiano. En “Velocida-des”, se le otorga a cada articulación una velocidad, y presionando el botón “Obtener V.”, se obtienen las velocidades de la herramienta del robot; puede también dejarse la decisión de las velocidades al interpolador si seleccionamos “Manual”. En “Área Trabajo”, se deciden las dimensiones del área de trabajo de RoboUpao. Y en “Trayectorias”, tenemos la opción de cargar un archivo de imagen o gene-rar una trayectoria propia grabando los puntos donde se encuentra la herramienta.

La GUI tiene asociado un archivo .m, cuyo có-digo permite enlazar funciones de cada botón, con los cálculos matemáticos relacionados a los mis-mos.

2) Transductor simulink

Pasa los valores de las articulaciones al entorno 3D y con esta información visualizar el movimien-to del robot.

Los valores de las articulaciones y otras varia-bles de interés ingresan por 12 entradas (ver Figu-ra 11, marcadas con circunferencias). El producto de matrices homogéneas se visualiza en la matriz encerrada por un rectángulo. También se refleja la variación del área de trabajo.

Figura 10. GUI de RoboUPAO.

Figura 11. Programa en Simulink.

RESULTADOS Y DISCUSIONES

A. Cinemática directa

Asignados los sistemas de referencia según el algoritmo D-H (Fig. 12), se obtuvieron los paráme-tros geométricos mostrados en la Tabla 1.

Tabla 1. Parametros geometricos de RoboUpao

Con la obtención de los parámetros geométri-cos de RoboUPAO se procedió a la obtención de las correspondientes matrices homogéneas 1i

iA−

mediante (1), para luego encontrar Tbaseextermo

con la ayuda de (2) y obtener lo siguiente:

Page 6: Modelado y Simulación de un Manipulador de 6 Grados de

| Pueblo Cont. 24 (1) 2013 Pueblo Cont. 24 (1) 2013 |24 25

Modelado y Simulación de un Manipulador de 6 Grados de Libertad para Aplicaciones Industriales en la Región La LibertadWiliton S. Briones Escobedo, Eric A. Castillo Ponce, Erick M. Fiestas Sorogastua

donde las variables articulares de traslación así como las medidas constantes están en centíme-tros, y las variables articulares de rotación están en radianes.

B. Cinemática inversa

Conocida la posición del extremo del robot, determinada por los componentes hallados de base

extermoT , se debe determinar los valores de la variables articulares en función de los valores de posición del extremo del robot. Para ello se utilizó el denominado desacoplo cinemático, obteniéndo-se lo siguiente:

Estas permiten mover el extremo del robot pero manteniendo constante las variables rotacio-nales; en este caso, para poder también usarlas se tomó (21) y (22) ya que son las posiciones en x, y e z de la herramienta de RoboUPAO. Se despejó de la siguiente manera:

3 1 35

4

yq l l Pq arcos

l

− − + = −

1 2 14

4 5

zq P l duq arcos

l senq

− + −= −

(29)

(30)

(31)

(32)

(33)

(34)

donde vale recordar que x = p11, y = p21, z = p31.

Por lo visto en la matriz de traslación P3,1 no aparece la variable q6. Eso quiere decir que no in-fluye para nada en la posición, pero sí en la orien-tación.

La orientación de RoboUpao se expresó según los ángulos de Euler de la forma XYZ [5], los cua-les salieron por el modelo de la estructura mecáni-ca como se muestra a continuación:

2

πψ =

6qθ =

4 52q q

πϕ = − − +

C. Jacobiano

La matriz Jacobiana que se obtuvo fue la si-guiente:

4 4 5 4 5 4

4 5

4 4 5 4 4 5

0 1 0 cos( )sin( ) cos( )sin( ) 0

0 0 1 0 sin( ) 0

1 0 0 sin( )sin( ) cos( ) cos( ) 0

0 0 0 0 0 1

0 0 0 1 1 0

0 0 0 0 0 0

l q q l q q

l q

l q q l q q

− − − − −

que permite encontrar

D. Trayectorias

Se tomaron en cuenta tres ejemplos que mues-tran con claridad el trabajo del interpolador cú-bico. El primero de ellos se trabajó con la opción “Manual”, con el fin de imponer velocidades, y con la opción del programa que permite guardar puntos establecidos por el usuario; los cuales los unirán y culminará en una trayectoria. En el se-gundo se siguen los pasos del ejemplo previo, con la diferencia que esta vez se le deja libertad al in-terpolador para que decida las velocidades con la opción “Automático”. El último ejemplo se ve la ge-

neración de una trayectoria mediante un archivo hecho en Paint.

Figura 13. Movimiento de la herramienta del primer ejemplo.

Ejemplo 1

Luego de grabar los puntos clave variando la posición de las articulaciones en “Variables Articu-lares” y las velocidades en “Velocidades”, y tenien-do en cuenta que la opción “Manual” estuviera activada, se pasó a la construcción de la nueva trayectoria (Figura 13) con un clic en “Generar T.”, pero seleccionando previamente en “Nom.T” y en la caja de texto contigua, ingresando el nombre que la representará.

La trayectoria completa estuvo constituida por cinco puntos (Tabla 2), los cuales estuvieron rela-cionados con las velocidades predispuestas por el usuario (Tabla 3).

Puntos Px(cm) Py(cm) Pz(cm)

1

2

3

4

5

12

5.64

79.74

71.05

70

31

38.1

38.05

31.04

31

25

75.02

72.18

44

30

0

0

0

55

5

-90

-62

18

4

-90

0

90

90

90

90

Q O ψ

Puntos Vx Vy Vz Vϕ Vθ Vψ

1

2

3

4

5

0

0.13

-12.51

-11.13

0

0

14.27

3.47

-13.08

0

0

21.46

-0.39

-9.69

0

0

1.1

1.4

1.2

0

0

-0.1

-0.7

-0.6

0

0

0

0

0

0

Tabla 2. Posición y Orientación en los Puntos

Tabla 3. Velocidades del extremo de RoboUpao

Vx,Vy,Vz: velocidades en cm/s.

Vφ, Vθ, Vψ: velocidades en rad/s.

Con los datos de la Tabla 3 la trayectoria final (Figura 13) se vio afectada originándose curvas indeseadas, lo que significa que no existió suavi-dad. Tal característica se dio, a causa del forzado matemático que sufrió el interpolador al momento de adaptar las velocidades para que se cumpla la trayectoria, pasando por los puntos que se le in-dicaron. El resultado de la trama de velocidades y aceleraciones a lo largo de toda la trayectoria se puede apreciar en la Figura 14.

Ejemplo 2

Se tomaron los mismos puntos del ejemplo anterior con la finalidad de observar la capacidad del interpolador cúbico para generar sus propias velocidades.

En base a aquello la trayectoria final sufrió un cambio sustancial con respecto a la suavidad. Aquel fenómeno se produjo por una mejora en la distribución de las velocidades a lo largo del cami-no (Figura 14).

Page 7: Modelado y Simulación de un Manipulador de 6 Grados de

| Pueblo Cont. 24 (1) 2013 Pueblo Cont. 24 (1) 2013 |26 27

Modelado y Simulación de un Manipulador de 6 Grados de Libertad para Aplicaciones Industriales en la Región La LibertadWiliton S. Briones Escobedo, Eric A. Castillo Ponce, Erick M. Fiestas Sorogastua

Ejemplo 3

Para este último ejemplo primero se procedió a hacer el dibujo de la trayectoria en Paint. Luego en el GUI de RoboUPAO se seleccionó e ingresó el nombre, con el que fue guardado, en la caja de texto “Nom. Ar.”, la cual se encuentra en “Trayec-torias”. Finalmente se dio inicio con el proceso ha-ciendo clic en el botón “Generar T.”.

Para la obtención de trayectorias mediante este método, se tuvo más cuidado al momento de pro-gramarlo. Por ello los puntos que se enviaron al interpolador estuvieron lo más próximos posibles, ocasionando que el interpolador solo cree dos puntos intermedios entre los puntos obtenidos de la imagen procesada. De esta manera se obtuvo una copia casi identica de la figura real en la tra-yectoria de la herramienta del robot.

En suma, mientras más puntos obtenidos de la imagen y con más puntos del interpolador entre aquellos, mejor se aproxima la trayectoria a la ima-gen real. No obstante, se presenta un problema en cuanto a las velocidades y aceleraciones. En este último ejemplo se procesó una imagen simple, que permitió que las velocidades y aceleraciones no presenten mucha inestabilidad.

Figura14. Tramas de velocidades y aceleraciones. (a) Primer ejemplo. (b) Segundo ejemplo.

CONCLUSIONES

El modelado mecánico de RoboUPAO representa una mecánica sencilla y a la vez robusta, adecuada para las áreas con mayor demanda en la industria Li-berteña, ya que el extremo del robot donde se sitúa la herramienta, mostró en la simulación facilidad de movimiento sobre el área variable de trabajo.

El modelado cinemático propuesto permite posicio-nar y orientar las articulaciones y el extremo del ro-bot, ya sea directa e inversamente.

El modelado del Jacobiano directo permite obtener las velocidades del extremo del robot, basados en la velocidad de cada articulación, y así poder usarlas en el interpolador cúbico.

El interpolador cúbico usado permite crear una tra-yectoria a partir de las velocidades otorgadas por el usuario y de establecer sus propias velocidades res-pectivamente.

El método de procesamiento digital de la imagen ex-puesto cumplió satisfactoriamente con entregarle al interpolador los puntos claves de la trayectoria.

BIBLIOGRAFÍA

[1] ANIBAL OLLENO BATURONE.(2001). “Manipuladores y robots móviles”. Barcelona: MARCOMBO S.A.

[2] CRAIGJOHN J. CRAIG (2006). Robótica (3° edición). Pearson. Educación.

[3] FAWELL, ROBERT, SCHMITT, NEILM A. (1988). “Fondo, Robótica y Sistemas Automáti-cos”. Madrid-España: ANAYA multimedia.

[4] AUDI, PIERA, DANIEL. (1988) “Cómo y cuándo aplicar un Robot Industrial”. Barcelona: MARCOMBO S.A.

[5] BARRIENTOS CRUZ, PEÑÍN HONRUBIA, BARLAQUER BERNALDO DE QUIROE.(2007). “Fundamentos de Robótica”. Madrid: McGraw-Hill.

[6] IÑIGO MADRID, VID AL IDIARTE. (2004)“Robots Industriales Manipuladores”. Mé-xico DF: Alfaomega.

[7] CARVAJAL.(2008) “Modelamiento y Diseño de Robots Industriales”. Bogotá.

[8] RIVAS ARDISANA. (2000) “Robótica Indus-trial, fundamentos y aplicaciones”. Madrid: Mc-Graw-Hill.

[9] W. SPONG, SETH HUTCHINSON, M. VID-YASAGAR. (2006) “Robot Modeling and Con-trol”. Jhon Wiley & Sons Ltd.

[10] G. FERRATE. (1986) “Robótica Industrial”. Barcelona: Macombo Boixareu Editories.

[11] F. TORRES, J. GIL, P. PUENTE, R. ARA-CIL. (2002) “Robots y Sistemas Sensoriales. Ed. Prentoce Hall.

[12] K. S. FU, R. C. GONZALES, C. S. LEE. (1988) “Robótica: Control, Detección, Visión e Inteligen-cia”. McGraw-Hill. Madrid.