apuntes robótica

23

Upload: chinolpf6536

Post on 20-Dec-2015

49 views

Category:

Documents


4 download

DESCRIPTION

Apuntes de "Fundamentos de robótica" de la UNED

TRANSCRIPT

Page 1: Apuntes Robótica

Teoría de exámenes de Robótica

Jorge Remedios.

27 de Enero de 2009

Page 2: Apuntes Robótica

Tema 1

De�nición y clasi�cación de un robot.-

De�nición

Manipulador multifuncional reprogramable, capaz de mover materias, piezas, herramientas odispositivos especiales, según trayectorias variables, programadas para realizar tareas diversas(Asociación de Industrias Robóticas).

Máquina de manipulación automática reprogramable y multifuncional con tres o más ejes quepueden posicionar y orientar materias, piezas, herramientas o dispositivos especiales para laejecución de trabajos diversos en las diferentes etapas de la producción industrial, ya sea enuna posición �ja o en movimiento (Federación Internacional de Robótica).

Estructura mecánica universal combinada con dispositivos electrónicos e informáticos, capazde adaptarse a diferentes tipos de acciones, en las que concurren, en mayor o menor grado, lascaracterísticas de movilidad, gobernabilidad, autonomía y polivalencia (De�nición genérica).

Clasi�cación y de�nición.

Robot Industrial.

� Máquina de manipulación automática reprogramable y multifuncional con tres o másejes que pueden posicionar y orientar materias piezas, herramientas o dispositivos es-peciales para la ejecución de trabajos diversos en las diferentes etapas de la producciónindustrial, ya sea en una posición �ja o en movimiento.

◦ Robot Secuencial.

◦ Robot de trayectoria controlable.

◦ Robot adaptativo.

◦ Robot telemanipulado.

Robot de Servicio.

� Dispositivos electromecánicos móvil, dotados de uno o varios brazos independientescontrolados por un programa de ordenador y que realizan tareas no industriales.

Robot Teleoperado.

� Dispositivos robóticos controlados remotamente por un humano.

1

Page 3: Apuntes Robótica

Tema 2

Tipos de sensores internos del Robot: enumeración.-

Sensores de posición.

� Analógicos

◦ Potenciometros.

◦ Inductosyn. Sensores lineales de posición

◦ LVDT. Sensores lineales de posición

◦ Sincro. Captadores angulares de posición.

◦ Resolver. Captadores angulares de posición.

� Digitales.

� Encoders Absolutos. Codi�cadores angulares de posición.

� Encoders incrementales. Codi�cadores angulares de posición.

� Regla óptica.

Sensores de velocidad.

� Tacogeneratriz.

Sensores de presencia.

� Inductivos

� Capacitivos.

� Efecto Hall.

� Célula Reed.

� Óptico.

� Ultrasonido.

� Contacto.

Transmisiones y Reductores.-

Las transmisiones son los elementos encargados de transmitir el movimiento desde los actua-dores hasta las articulaciones. . Dado que el robot mueve su extremo con velocidades elevadas esnecesario reducir al máximo su momento de inercia por lo que los pesados actuadores suelen sercolocados en la base del robot con lo que se hacen necesarios medios de transmisión que trasladen elmovimiento a las articulaciones. también a veces sirviendo para transformar el movimiento circularen lineal y viceversa.

Los reductores son los encargados de adaptar el par y la velocidad de salida del actuador a losvalores adecuados para el movimiento de los elementos del robot. A los reductores utilizados enrobótica se les exigen unas condiciones de funcionamiento muy restrictivas por las altas prestacionesque se les exigen en cuanto precisión y velocidad de posicionamiento.

2

Page 4: Apuntes Robótica

Tema 3

Ángulos de Euler ZXZ y Roll, pitch y Yaw.-

Ángulos de Euler ZXZ.

Los ángulos de Euler ZXZ son una de las representaciones más habituales entre las que realizanlos giros sobre ejes previamente girados. Se le suele asociar con los movimientos básicos de ungiroscopio. Los pasos a seguir son:

1. Girar el sistema OXYZ respecto al eje OZ un ángulo φ de modo que pasa a ser OX'Y'Z'.

2. Girar el sistema OX'Y'Z' un ángulo θ respecto al nuevo eje OX' de modo que pasa a serOX�Y�Z�.

3. Girar el sistema OX�Y�Z� un ángulo ψ respecto al eje OZ�.

Tiene especial importancia realizar los giros en el orden correcto ya que estos no cumplen lapropiedad conmutativa

Roll, pitch and yaw.

Roll, pitch and yaw o alabeo, cabeceo y guiñada es la representación generalmente usadaen aeronáutica, siendo también el más habitual entre los que se aplican a los giros sobre los ejesdel sistema �jo.

Los pasos son los siguientes

1. Girar el sistema OXYZ un ángulo ψ con respecto al eje OX en lo que se denomina Yaw oguiñada.

2. Girar el sistema OXYZ un ángulo θ con respecto al eje OY en lo que se denomina Pitch ocabeceo.

3. Girar el sistema OXYZ un ángulo φ con respecto al eje OZ en lo que se denomina Roll oalabeo.

Cuaternios

Un cuaternio Q está constituido por cuatro componentes q0 q1 q2 y q3 que representan las

coordenadas del cuaternio en una base{e,~i,~j,~k

}en donde e representa a la parte escalar y i,j,k

a la vectorial de modo que también se puede representar como

Q = [q0, q1, q2, q3] = [s,~v]

Para la representación de cuaternios como metodología de representación de orientaciones seasocia al giro del ángulo θ sobre el vector k al cuaternio de�nido por:

Q = Rot(k, θ) =(cos

θ

2, ksen

θ

2

)

3

Page 5: Apuntes Robótica

Coordenadas y Matrices homogéneas. Concepto y aplicación.

Concepto.

La representación mediante coordenadas homogéneas de la localización de sólidos en un espacion-dimensional se realiza a través de coordenadas (n+1)-dimensional de manera que un vector~p(x, y, z) se representa como ~p(wx,wy,wz, w) donde w es un valor aleatorio que representa unfactor de escala. De esta manera un vector ~p = a~i+b~j+c~k se representa en coordenadas homogéneasmediante el vector columna:

~p =

xyzw

=

awbwcww

=

abc1

De este modo un vector 2~i+3~j+5~k se podría representar como {2, 3, 5, 1}T y como {4, 6, 10, 2}T

y así sucesivamente. dándose los casos especiales donde todos son cero con lo que el factor de escaladebe de ser un número no nulo o donde el factor de escala es 0 con lo que pasa a representar unvector in�nito por lo que nos sirve para representar direcciones.

Con la de�nición de coordenadas homogéneas nos surge el concepto de matriz de transfor-mación homogénea T a una matriz 4x4 que representa la transformación de un sistema decoordenadas homogéneas de un sistema a otro.

T =[

Rotacion TranslacionPerspectiva Escalado

]=

R11 R12 R13 P11

R21 R22 R23 P21

R31 R32 R33 P31

F11 F12 F13 E11

Aplicación.

Dado que en robótica se puede considerar la perspectiva como nula y el factor de escala globalcomo unitario, la matriz será:

T =[R3x3 P3x1

0 1

]De esta manera la matriz de transformación homogénea sirve para:

1. Representar la posición y orientación de un sistema girado y trasladado O'UVW con respectoa un sistema �jo de referencia OXYZ.

2. Transformar un vector expresado en coordenadas OUVW a su expresión en el sistema dereferencia OXYZ.

3. Rotar y trasladar un vector con respecto a un sistema de referencia �jo OXYZ.

Translación

rxryrz1

=

1 0 0 px0 1 0 py0 0 1 pz0 0 0 1

T (p)

rurvrw1

=

ru + pxrv + pyrw + pz

1

Rotación

T (x, α) =

1 0 0 00 cosα −senα 00 senα cosα 00 0 0 1

T (y, φ) =

1 0 0 00 cosφ −senφ 00 senφ cosφ 00 0 0 1

4

Page 6: Apuntes Robótica

T (z, θ) =

1 0 0 00 cosθ −senθ 00 senθ cosθ 00 0 0 1

Translación junto con rotación

Rotación seguida de translación:

T ((x, α), p) =

1 0 0 px0 cosα −senα py0 senα cosα pz0 0 0 1

Translación seguida de rotación:

T (p, (x, α)) =

1 0 0 px0 cosα −senα pycosα− pzsenα0 senα cosα pysenα+ pzcosα0 0 0 1

Signi�cado geométrico de las matrices homogéneas. vectores no a p.

La matriz T de transformación se suele escribir:

T =

nx ox ax pxny oy ay pynz oz az pz0 0 0 1

=[n o a p0 0 0 1

]

En donde ~n,~o,~a es una terna ortonormal que representa la orientación y ~p es un vector querepresenta la posición.

Considerando el vector ruvw = [0, 0, 0, 1]T tenemos:rxryrz1

=[n o a p0 0 0 1

]0001

=

pxpypz1

de lo que deducimos que el vector ~p representa la posición del origen del sistema OUVW conrespecto al sistema OXYZ.

De igual manera podemos pasar a deducir que ~n representa las coordenadas del eje O'U conrespecto al sistema OXYZ, el vector ~o las de O'V y el vector ~a las de O'W. O sea, que ~p representa laposición y [~n ~o ~a] es una terna ortonormal a derechas que representa la orientación, lo que conlleva:

‖n‖ = ‖o‖ = ‖a‖ = 1

~n× ~o = ~a

[~n ~o~a]−1 = [~n ~o ~a]T

Con lo que nos es fácil obtener la matriz inversa de la matriz homogénea de transforma-ción(MTH):

T−1 =

nx ny nz −~nT ~pox oy oz −~oT ~pax ay az −~aT ~p0 0 0 1

5

Page 7: Apuntes Robótica

Signi�cado geométrico de las matrices homogéneas. Grá�cosde Transformación. ***

Signi�cado Geométrico de las MTH.

La matriz T de transformación se suele escribir:

T =

nx ox ax pxny oy ay pynz oz az pz0 0 0 1

=[n o a p0 0 0 1

]

En donde ~n,~o,~a es una terna ortonormal que representa la orientación y ~p es un vector querepresenta la posición.

Considerando el vector ruvw = [0, 0, 0, 1]T tenemos:rxryrz1

=[n o a p0 0 0 1

]0001

=

pxpypz1

de lo que deducimos que el vector ~p representa la posición del origen del sistema OUVW conrespecto al sistema OXYZ.

De igual manera podemos pasar a deducir que ~n representa las coordenadas del eje O'U conrespecto al sistema OXYZ, el vector ~o las de O'V y el vector ~a las de O'W.

Grá�cos de transformación.

Nos encontramos con situaciones como las de la Figura 1 en donde la localización espacial deun objeto o de su sistema de referencia asociado, puede realizarse a través de la composición dediversas transformaciones distintas.

Figura 1: Robot

Por ejemplo para llegardesde el sistema de referen-cia OXYZ al extremo de laherramienta podemos apli-car la transformada respec-to a la base OTR y de aquíal extremo del manipula-dor con RTE y siguiendohasta el extremo de la he-rramienta mediante ETH .Otra opción es la de par-tiendo del sistema de refe-rencia OXYZ ir a la base dela pieza mediante la tras-formada OTM y de aquí alextremo de la herramien-ta mediante la transforma-da MTH .

Teniendo estas dos maneras podemos escribir

OTRRTE

ETH =O TMMTH

6

Page 8: Apuntes Robótica

Figura 2: Grá�co de Transformación

Y se puede representar por el llamado grá�co de la transformación que podemos ver en la�gura 2 y mediante el cual podemos obtener en cada momento las distintas relaciones entre lossistemas.

Si por ejemplo deseamos hallar la relación entre el objeto y la herramienta bastará con despejarla ecuación: (

OTM)−1 OTR

RTEETH =O TH

Y de este mismo modo podremos obtener cualquier otra relación.

7

Page 9: Apuntes Robótica

Tema 4

Signi�cado geométrico de los cuatro parámetros del algoritmoDH.-

θi Es el ángulo que forman los ejes xi−1 y xi en un plano perpendicular a zi−1 utilizandola regla de la mano derecha. Variable para articulaciones giratorias.

di Es la distancia a lo largo del eje zi−1 desde el origen del sistema de coordenadas (i− 1)−esimo hasta la intersección del eje zi−1 con el eje xi. Variable para articulacionesprismáticas.

ai Es la distancia a lo largo del eje xi que,para el caso de articulaciones giratorias, vadesde la intersección del eje zi−1 con el eje xi hasta el origen del sistema i-ésimo y parael caso de articulaciones prismáticas se calcula como la distancia más corta entre zi yzi−1.

αi Es el ángulo de separación del eje zi y el eje zi−1, medido en un plano perpendicularal eje xi, utilizando la regla de la mano derecha.

Matriz Jacobiana. Relaciones diferenciales. Jacobiana inversa.Con�guraciones singulares.-***

El modelo cinemático de un robot busca relaciones entre las variables articulares y la posición.Y aunque no se tienen en cuenta fuerzas o pares si que se puede obtener además de la relación entrelas coordenadas articulares y del extremo, la relación entre sus respectivas derivadas. De este modose podrá saber que velocidad se debe imprimir a cada articulación para conseguir un trayectoriatemporal y velocidad concretas.

La matriz Jacobiana es la que nos da las relaciones entre los vectores de las velocidades delas coordenadas articulares y los de la posición y orientación del extremo del robot.

La matriz Jacobiana Directa permite conocer las velocidades del extremo del robot a partirde los valores de las velocidades de cada articulación.

La matriz Jacobiana Inversa permitirá conocer las velocidades articulares necesarias paraobtener unas velocidades determinadas en el extremo de robot.

Relaciones diferenciales.

El método más directo para obtener la relación entre las velocidades articulares y del extremodel robot consiste en diferenciar las ecuaciones correspondientes al modelo cinemático directo.

Si consideramos las velocidades del extremo del robot x, y, z, α, β, γ y las ponemos en funciónde las articulaciones q1, q2, q3, ..., qn tendremos que:

x = f(q1, ..., qn) y = f(q1, ..., qn) z = f(q1, ..., qn)

α = f(q1, ..., qn) β = f(q1, ..., qn) γ = f(q1, ..., qn)

8

Page 10: Apuntes Robótica

y derivando respecto al tiempo:

x =n∑1

∂fx∂qi

qi y =n∑1

∂fy∂qi

qi z =n∑1

∂fz∂qi

qi

α =n∑1

∂fα∂qi

qi β =n∑1

∂fβ∂qi

qi γ =n∑1

∂fγ∂qi

qi

que traducido a forma matricial es:xyzα

βγ

= J·

q1...

...qn

con J =

∂fx∂q1

· · · ∂fx∂qn

.... . .

...

∂fγ∂q1

· · · ∂fγ∂qn

Jacobiana inversa.

Al igual que hemos obtenido la Jacobiana directa mediante la relación de los velocidades de losextremos a partir de las velocidades articulares, podemos obtener la relación inversa:

q1...

...qn

= J−1 �

xyzα

βγ

Esta alternativa que podría parecer fácil, en la práctica donde tenemos una matriz 6× 6 com-

puesta por funciones trigonométricas, es inviable.La segunda alternativa es la evaluación numérica de la matriz J para una con�guración qi

concreta del robot e invertir numéricamente esta matriz para conseguir la inversa. La pega es queestos valores cambian mientras el robot se mueva lo que obliga a recalcular constantemente. A estohay que añadir los casos de con�guraciones singulares, o sea, aquellos donde el Jacobiano se anula.

Otra di�cultad es en aquellos casos donde la matriz J no sea cuadrada ya que el número degrados de libertad del robot no coincide con la dimensión del Jacobiano. En el caso que el númerode grados de libertad sea menor, tendrá más �las que columnas y como consecuencia el robottendrá ciertas restricciones en su movimiento; aunque esto suele ocurrir en casos en los que estarestricción no tiene importancia en cuyo casos podemos identi�car que grado de libertad cuyovalor es indiferente y eliminarlo de la ecuación volviendonos a quedar una matriz cuadrada. El otroextremo es cuando el robot es redundante, o sea, tiene más grados de libertad que los necesarios,en este caso podemos localizarlos y establecer la velocidad articular de los mismos como cero oconstante según nos convenga.

En caso de que la matriz Jacobiana no sea cuadrada nos queda la opción de utilizar algunapseudo-inversa como

(J JT

)−1.

Un tercer método de cálculo de la matriz Jacobiana inversa consiste en repetir el proceso seguidopara la obtención de la Jacobiana directa pero partiendo del modelo cinemático inverso.

q1 = f1 (x, y, z, α, β, γ)...

qn = fn (x, y, z, α, β, γ)

J−1 =

∂f1∂x · · · · · · ∂f1

∂γ...

. . ....

.... . .

...∂fn∂x

∂fn∂γ

Aunque como en el primer método eso puede se algebraicamente complicado.

9

Page 11: Apuntes Robótica

Con�guraciones singulares.

Las con�guraciones singulares son aquellas en las que el determinante de su matriz Jacobianase anula, motivo por el que no existe matriz inversa. Dado esta anulación, un desplazamientoin�nitesimal de las coordenadas cartesianas equivaldría a un incremento in�nito en las coordenadasarticulares..

Las con�guraciones singulares de un robot se clasi�can en:

Singularidades en los límites del espacio de trabajo del robot. Es cuando el extremo llega aalgún punto extremo tanto externo como interno.

Singularidades en el interior del espacio de trabajo del robot. Suelen producirse por alinea-miento de ejes.

Se debe de prestar atención a la localización de las con�guraciones singulares del robot para quesean tenidas en cuenta en su control, evitándose solicitar a los actuadores movimientos a velocidadesinabordables o cambios bruscos de las mismas.

Un posible procedimiento de resolución sería:

1. Identi�car la articulación correspondiente al grado de libertad perdido.

2. Eliminar la �la correspondiente al grado de libertad perdido y la columna correspondiente ala articulación causante.

3. Obtener las velocidades de todas las articulaciones, a excepción de la eliminada.

Matriz Jacobiana. Jacobiana Analítica. Jacobiana geométrica.Relación entre la Jacobiana Analítica y la Jacobiana Geométrica.-***

El modelo cinemático de un robot busca relaciones entre las variables articulares y la posición.Y aunque no se tienen en cuenta fuerzas o pares si que se puede obtener además de la relación entrelas coordenadas articulares y del extremo, la relación entre sus respectivas derivadas. De este modose podrá saber que velocidad se debe imprimir a cada articulación para conseguir un trayectoriatemporal y velocidad concretas.

La matriz Jacobiana es la que nos da las relaciones entre los vectores de las velocidades delas coordenadas articulares y los de la posición y orientación del extremo del robot.

La matriz Jacobiana Directa permite conocer las velocidades del extremo del robot a partirde los valores de las velocidades de cada articulación.

La matriz Jacobiana Inversa permitirá conocer las velocidades articulares necesarias paraobtener unas velocidades determinadas en el extremo de robot.

Jacobiana Analítica.

Es la Jacobina que relaciona la velocidad de las articulaciones con la localización del extremodel robot.

xyz

φ

θ

ψ

= JA·

q1...

...qn

con JA =

∂fx∂q1

· · · ∂fx∂qn

.... . .

...

∂fψ∂q1

· · · ∂fψ∂qn

siendo x y y z las coordenadas de posición y φ θ y ψ son ángulos que indican la orientación

del extremo del robot y que pueden estar referidos en cualquiera de los métodos utilizados, porejemplo los ángulos de Euler.

10

Page 12: Apuntes Robótica

Jacobiana Geométrica.

La matriz Jacobiana Geométrica, o sólo Jacobiana, es la que relaciona la velocidad de lasarticulaciones con las velocidades lineales y angulares del extremo del robot.

VxVyVzwxwywz

= J·

q1...

...qn

con J =

∂fV x∂q1

· · · ∂fVx∂qn

.... . .

...

∂fwz∂q1

· · · ∂fwz∂qn

siendo Vx Vy y Vz las velocidades lineales y wx wy y wz indican la velocidad angular del extremo

del robot.

Relación entre Jacobiana Analítica y Jacobiana Geométrica.

J =[

1 00 Q

]· JA

JA =[I 00 Q−1

]· J

Q =

0 −Sφ CφSθ0 Cφ SφSθ1 0 Cθ

Teniendo en cuenta que si θ = 0 o θ = π no puede ser aplicado la inversa al no poderse hallar

Q−1.

11

Page 13: Apuntes Robótica

Tema 6

Funciones genéricas de control cinemático.-

El control cinemático recibe como entrada los datos procedentes del programa del robot escritopor el usuario(punto de destino, precisión, tipo de trayectoria deseada, velocidad o tiempo invertido,etc) y apoyándose en el modelo cinemático del robot establece las trayectoria para cada articulacióncomo funciones de tiempo.

La funciones serán:

1. Convertir la especi�cación del movimiento dada en el programa en una trayectoria analíticaen el espacio cartesiano.

2. Muestrear la trayectoria cartesiana obteniendo un número �nito de puntos de dicha trayec-toria.

3. Aplicar la transformación homogénea inversa para convertir cada uno de esos puntos en suscorrespondientes coordenadas articulares.

4. Interpolación de los puntos articulares obtenidos, generando para cada variable articular unaexpresión qi(t) que pase o se aproxime lo más posible a los diseñados por el usuario.

5. Muestreo de la trayectoria articular para generar referencias al control dinámico.

Funciones de control cinemático. Diagrama de un ejemplo de2 GDL.-***

El control cinemático recibe como entrada los datos procedentes del programa del robot escritopor el usuario(punto de destino, precisión, tipo de trayectoria deseada, velocidad o tiempo invertido,etc) y apoyándose en el modelo cinemático del robot establece las trayectoria para cada articulacióncomo funciones de tiempo.

La funciones serán:

1. Convertir la especi�cación del movimiento dada en el programa en una trayectoria analíticaen el espacio cartesiano.

2. Muestrear la trayectoria cartesiana obteniendo un número �nito de puntos de dicha trayec-toria.

3. Aplicar la transformación homogénea inversa para convertir cada uno de esos puntos en suscorrespondientes coordenadas articulares.

4. Interpolación de los puntos articulares obtenidos, generando para cada variable articular unaexpresión qi(t) que pase o se aproxime lo más posible a los diseñados por el usuario.

5. Muestreo de la trayectoria articular para generar referencias al control dinámico.

12

Page 14: Apuntes Robótica

Figura 3: Ejemplo de control cinemático para 2 GDL

Partiendo del la Figura 3a) en donde tenemos los puntos 1 y 2 entre los que nos queremos mover,para ello tal como vemos en la �gura 3b) , se seleccionan 4 puntos dentro de la trayectoria parapasar a obtener los vectores articulares en la �gura 3c) mediante la transformación homogéneainversa para a continuación trata de unir estos 4 puntos con algún tipo de función que pasando portodos ellos garantice la suavidad y no supere las velocidades y aceleraciones máximas permisibles.

El inconveniente de este método es que se debe resolver repetidamente la transformación ho-mogénea inversa lo que conlleve un elevado conste computacional. Como alternativa se presentacon la utilización de la matriz Jacobiana.

Funciones de control cinemático. Tipos de trayectorias. Tra-yectorias punto a punto, continuas.-***

El control cinemático recibe como entrada los datos procedentes del programa del robot escritopor el usuario(punto de destino, precisión, tipo de trayectoria deseada, velocidad o tiempo invertido,etc) y apoyándose en el modelo cinemático del robot establece las trayectoria para cada articulacióncomo funciones de tiempo.

La funciones serán:

1. Convertir la especi�cación del movimiento dada en el programa en una trayectoria analíticaen el espacio cartesiano.

2. Muestrear la trayectoria cartesiana obteniendo un número �nito de puntos de dicha trayec-toria.

3. Aplicar la transformación homogénea inversa para convertir cada uno de esos puntos en suscorrespondientes coordenadas articulares.

4. Interpolación de los puntos articulares obtenidos, generando para cada variable articular unaexpresión qi(t) que pase o se aproxime lo más posible a los diseñados por el usuario.

5. Muestreo de la trayectoria articular para generar referencias al control dinámico.

Tipos de trayectorias.

La realización de la tarea de moverse entre dos puntos puede ser realizado según in�nitastrayectorias.

Trayectorias punto a punto.

En este tipo de trayectorias la articulación evoluciona de una posición inicial a una �nal sinconsideración ninguna sobre el estado o evolución de las demás articulaciones. Cada actuador llevaa su articulación en el menor tiempo posible, distinguiéndose dos casos:

13

Page 15: Apuntes Robótica

Movimiento eje a eje. En el que sólo se mueve un eje cada vez, lo que produce un mayortiempo de ciclo aunque tiene como ventaja el menor consumo de potencia instantánea de losactuadores.

Movimiento simultáneo de ejes. Los actuadores comienzan simultáneamente a mover susarticulaciones para llevarlas a su punto �nal, dando como resultado un tiempo de ciclo igualal del eje que mayor tiempo emplee. La desventaja es que puede que algún actuador hayaforzado su articulación al máximo para luego quedarse parada esperando por el eje más lento.

Las trayectorias punto a punto sólo se implementan en robots muy simples o con unidades decontrol muy limitantes.

Trayectorias continuas.

Cuando se pretende que la trayectoria que sigue el extremo del robot sea conocida por el usuarioes preciso calcular de manera continua las trayectorias articulares.

Mediante las funciones de control cinemático calculamos las trayectoria de cada articulaciónque describirá un movimiento aparentamente caótico para dar como resultado en su conjunto unmovimiento programado del extremo que normalmente es la línea recta o el arco.

Trayectorias punto a punto e isócronas o coordinadas.-

La realización de la tarea de moverse entre dos puntos puede ser realizado según in�nitastrayectorias.

Trayectorias punto a punto.

En este tipo de trayectorias la articulación evoluciona de una posición inicial a una �nal sinconsideración ninguna sobre el estado o evolución de las demás articulaciones. Cada actuador llevaa su articulación en el menor tiempo posible, distinguiéndose dos casos:

Movimiento eje a eje. En el que sólo se mueve un eje cada vez, lo que produce un mayortiempo de ciclo aunque tiene como ventaja el menor consumo de potencia instantánea de losactuadores.

Movimiento simultáneo de ejes. Los actuadores comienzan simultáneamente a mover susarticulaciones para llevarlas a su punto �nal, dando como resultado un tiempo de ciclo igualal del eje que mayor tiempo emplee. La desventaja es que puede que algún actuador hayaforzado su articulación al máximo para luego quedarse parada esperando por el eje más lento.

Las trayectorias punto a punto sólo se implementan en robots muy simples o con unidades decontrol muy limitantes.

Trayectorias coordinadas o isócronas.

Si a las trayectorias punto a punto de movimiento simultáneo de ejes le realizamos un cálculoprevio podemos adaptar las velocidades de las articulaciones para que todos los ejes inviertan elmismo tiempo en su movimiento coordinandose y adaptándose a la más lenta.

La gran ventaja de este tipo de trayectoria es que el tiempo invertido es el menor posible y nose le piden a los actuadores esfuerzos de manera inútil.

Tipos de trayectorias.-

La realización de la tarea de moverse entre dos puntos puede ser realizado según in�nitastrayectorias.

Trayectorias punto a punto.

En este tipo de trayectorias la articulación evoluciona de una posición inicial a una �nal sinconsideración ninguna sobre el estado o evolución de las demás articulaciones. Cada actuador llevaa su articulación en el menor tiempo posible, distinguiéndose dos casos:

14

Page 16: Apuntes Robótica

Movimiento eje a eje. En el que sólo se mueve un eje cada vez, lo que produce un mayortiempo de ciclo aunque tiene como ventaja el menor consumo de potencia instantánea de losactuadores.

Movimiento simultáneo de ejes. Los actuadores comienzan simultáneamente a mover susarticulaciones para llevarlas a su punto �nal, dando como resultado un tiempo de ciclo igualal del eje que mayor tiempo emplee. La desventaja es que puede que algún actuador hayaforzado su articulación al máximo para luego quedarse parada esperando por el eje más lento.

Las trayectorias punto a punto sólo se implementan en robots muy simples o con unidades decontrol muy limitantes.

Trayectorias coordinadas o isócronas.

Si a las trayectorias punto a punto de movimiento simultáneo de ejes le realizamos un cálculoprevio podemos adaptar las velocidades de las articulaciones para que todos los ejes inviertan elmismo tiempo en su movimiento coordinandose y adaptándose a la más lenta.

La gran ventaja de este tipo de trayectoria es que el tiempo invertido es el menor posible y nose le piden a los actuadores esfuerzos de manera inútil.

Trayectorias continuas.

Cuando se pretende que la trayectoria que sigue el extremo del robot sea conocida por el usuarioes preciso calcular de manera continua las trayectorias articulares.

Mediante las funciones de control cinemático calculamos las trayectoria de cada articulaciónque describirá un movimiento aparentamente caótico para dar como resultado en su conjunto unmovimiento programado del extremo que normalmente es la línea recta o el arco.

Interpolación de trayectorias.-***

Una de las funciones de control cinemático es la de unir una sucesión de puntos en el espacioarticular por los que se quiere que pasen las articulaciones del robot, añadiendo restricciones develocidad y aceleración de paso por los puntos de manera que se asegure la suavidad de la trayectoriay que se garantice la capacitación de los actuadores para dicha trayectoria.

Esto se suele realizar por funciones polinómicas las cuales se deben de elegir teniendo presenteque tanto el cálculo de sus parámetros como su posterior utilización se realiza en tiempo real.

Las funciones interpoladoras más utilizadas sólo son calculadas para un grado de libertaddebiendo de ser recalculadas y reutilizadas por cada grado de libertad. Estas son:

Interpoladores lineales.

Son los interpoladores más sencillos y su función consiste en mantener constante la veloci-dad entre cada dos puntos. El resultado es que mantiene la continuidad de la posición pero seoriginan saltos bruscos de la velocidad de las articulaciones que conllevan aceleraciones de valorin�nito(imposibles).

La trayectoria lineal que une dos puntos consecutivos será:{q(t) = (qi − qi−1) t−t

i−1

T + qi−1 ti−1 < t < ti

T = ti − ti−1

La selección de paso por los puntos podrá hacerse en base a determinados criterios como son:

Intentando que cada articulación alcance su punto de destino en el menor tiempo posible queconlleva una velocidad constante de la articulación igual a la máxima.

Ajustando los instantes de paso para realizar un movimiento coordinado en donde todas laarticulaciones terminen al mismo tiempo.

Seleccionando los tiempos de manera que el extremo del robot recorra una trayectoria pre�-jada.

15

Page 17: Apuntes Robótica

Interpoladores cúbicos.

Cada pareja de puntos adyacentes se unen mediante un polinomio de grado 3 lo que producecuatro coe�ciente que son utilizados para imponer cuatro condiciones de contorno, dos de velocidady dos de posición.

Se consigue con esto que la trayectoria este compuesta por una serie de polinomios cúbicosconcatenados, que se denominan splines, que se escogen de modo que proporcionen continuidad develocidad y posición.

La expresión de la trayectoria será:

q(t) = a+ b(t− ti−1) + c(t− ti−1)2 + d(t− ti−1) ti−1 < t < ti

a = qi−1

b = qi−1

c = 3T 2 (qi − qi−1)− 2

T 2 qi−1 − 1

T 2 qi

d = − 2T 2 (qi − qi−1) + 1

T 2 (qi−1

+ qi)T = ti − ti−1

La velocidad de las articulaciones cuando se utiliza este tipo de interpoladores, al revés de lo quepasa con los lineales, está variando continuamente lo que exige un control continuo de la misma.

Interpoladores a tramos.

Una solución intermedia entre los interpoladores lineales y los cúbicos son los interpoladoresde 3 tramos en donde la unión de dos puntos consecutivos se divide en tres tramos, uno cen-tral unido mediante una interpolación lineal(velocidad constante) y los extremos unidos mediantefunciones polinómicas de 2º grado que proporcionan un enlaces suave de cada velocidad con lasiguiente.

En el caso de varios puntos la velocidad de paso por puntos intermedios no debería de anularseya que daría un movimiento discontinuo del robot. Esta situación es evitada haciendo que latrayectoria no pase exactamente por los puntos sino que en las proximidades de los mismos unpolinomio de 2º grado varía progresivamente la velocidad evitando valores in�nitos de aceleraciónen una técnica que se denomina ajuste parabólico.

Otros interpoladores.

Hay diferentes tipos de interpoladores distintos a los propuestos que consiguen unir los puntosde la trayectoria con funciones continuas, derivables dos veces y computacionalmente manejables,a destacar entre ellos son los que utilizan funciones senoidales que aseguran la continuidad en todaslas derivadas.

16

Page 18: Apuntes Robótica

Tema 8

Programación por guiado. Concepto y clasi�cación.-

La programación por guiado consiste en hacer realizar al robot, o una maqueta de él, las tareas arealizar y registrando las diversas posiciones y con�guraciones para posteriormente poder repetirlasde manera automática.

Existen diversas formas de hacerlo, si están desconectados los actuadores y es el programador elque desplaza manualmente el brazo del robot en el denominado guiado pasivo directo cuando semueve el brazo del robot y guiado pasivo por maniquí cuando lo que se mueve es una maquetasensorizada del mismo.

Otra forma de hacerlo, denominado guiado activo, es emplear la potencia de los actuadoresy guiarlos por medio de botones o joystick.

Si a lo que atendemos es a la potencia del sistema, la clasi�cación sería:

Guiado básico: En esta forma el robot es guiado por los distintos puntos a la misma vez quela unidad de control comienza a interpolar dichos puntos. Durante la ejecución del programael robot se moverá secuencialmente por dichos puntos ya que no suele ser común que estosprogramas dejen siquiera colocar estructuras de control.

Guiado extendido: Permite especi�car además de los puntos por los que para el robot,datos relativos a la velocidad a la que pasa, tipo de trayectoria, precisión, control de �ujo delprograma, entradas y salidas, etc. Dada sus características para este método se suele utilizarel guiado activo.

Programación textual. Concepto y clasi�cación.-

El lenguaje textual permite indicarle la tarea al robot mediante el uso de un lenguaje deprogramación especí�co.

La programación textual puede ser clasi�cada en tres niveles:

Robot: En el que se especi�can cada uno de los movimientos que realiza el robot, la velocidad,dirección de aproximación, apertura y cierre de la pinza, etc.

Objeto: En el nivel de objeto las instrucciones se darán en el nivel de los objetos a manejary manipular.

Tarea: En el nivel de tarea lo que se le especi�ca es que debe de hacer y con que lo debe dehacer.

En el nivel actual la programación se queda practicamente en el primero de los niveles.

Modos de programacion

Guiado

Pasivo{Directo

Maniquı

Activo

Textual

Nivel robot

Nivel objeto

Nivel tarea

17

Page 19: Apuntes Robótica

Requerimientos de un sistema de programación de Robots:enumeración.-

A pesar de la falta de normalización en los métodos de programación de robots, las necesidadescomunes hacen que se repitan ciertas características comunes.

Entorno de programación. Como todo sistema convencional, el contar con un entornoadecuado es primordial de cara a la productividad del programador.Por lo general, dado el carácter de prueba y error asociado a este tipo de programación en laque se interactúa directamente con el entorno el entorno normalmente utilizado es del tipointerpretado donde se evita el tedioso ciclo de modi�car-compilar-ejecutar.

Modelado del entorno. Es la representación que el robot tiene de los elementos y objetosde su entorno. Lo más frecuente es asignarle a cada objeto un sistema de referencia de mane-ra que la posición y orientación de este sistema referidos al sistema base de�nen de maneraúnica a este objeto.Algunos modelos permiten incluso establecer relaciones entre objetos de manera que creadependencias de unión rígida(el movimiento de uno afecta al otro) o no rígida(sólo el movi-miento de uno afecta al otro pero no al revés).

Tipos de Datos. Además de los tipos de datos convencionales en programación(enteros,booleanos, etc) los entornos de programación en robots cuentan con tipos especiales destina-dos a la especi�cación de la interacción del robot con su entorno.

� Utilizando coordenadas articulares mediante una n-upla (q0, ...qn) que indican los valoresarticulares que debe de tomar el robot para posicionar y orientar el extremo como elobjeto en cuestión

� Utilizando coordenadas cartesianas que describen su posición mientras que su orienta-ción es descrita por distintos métodos:

◦ Ángulos de Euler: α β γ

◦ Cuaternios: cos θ2 , hxsenθ2 , hzsen

θ2

◦ Matriz noa: nx ox axny oy aynz oz az

Manejo de entradas-salidas. La comunicación del robot con su entorno es fundamentalpara conseguir la integración y sincronización de procesos. Esta comunicación se consiguenormalmente mediante señales vinaria de entrada y salida. Mediante estas, integradas en elcontrol de �ujo del programa, el robot puede decidir comenzar o �nalizar una acción(entradas)o hacer que un dispositivo externo realiza determinada tarea.Una importante aplicación de las entradas es la integración de sensores que proporcionaninformación al robot sobre su entorno permitiendo:

� Modi�car la trayectoria.

� Elegir entre diversas alternativas.

� Obtener la identidad y posición de objetos y sus características.

� Cumplir con restricciones externas.

Control de movimiento del robot. Es obvio que la programación de un robot debe deincluir la posibilidad de especi�car el movimiento del robot.

Control de �ujo de ejecución del programa. Como en cualquier lenguaje de programa-ción se debe de incluir operaciones de control de �ujo en la ejecución como bucles, sentenciasde decisión, etc. También es importante la procesamiento en paralelo, tanto para el controlde varios robots como para uno sólo, empleándose para ello señales de sincronismo basadasen semáforos y ejecución de tareas en paralelo.

18

Page 20: Apuntes Robótica

Tipos de datos utilizados en la programación de robots.-

Además de los tipos de datos convencionales en programación(enteros, booleanos, etc) losentornos de programación en robots cuentan con tipos especiales destinados a la especi�caciónde la interacción del robot con su entorno.

Utilizando coordenadas articulares mediante una n-upla (q0, ...qn) que indican los valoresarticulares que debe de tomar el robot para posicionar y orientar el extremo como el objetoen cuestión

� Utilizando coordenadas cartesianas que describen su posición mientras que su orienta-ción es descrita por distintos métodos:

◦ Ángulos de Euler: α β γ◦ Cuaternios: cos θ2 , hxsen

θ2 , hzsen

θ2

◦ Matriz noa: nx ox axny oy aynz oz az

En RAPID de�nir los distintos tipos de datos a manejar ycomo pueden ser de�nidos.-

Los tipos de datos que maneja el lenguaje RAPID son:

Tipo de dato atómico. No se de�ne en función de otro tipo ni se puede descomponer endiferentes componentes.

Tipo de dato registro. Está compuesto de una serie ordenada de componentes con susrespectivos nombres y que pueden ser de�nidos a su vez como atómicos o como registro.

Además de de�nir a los datos como locales o globales, pueden ser de�nidos como:

Constantes. De valor �jo, no se les puede reasignar un valor.

Variables. Son datos a los que se les puede asignar nuevos valores durante la ejecución delprograma.

Persistentes. Son variables en las que cada vez que cambia su valor cambia el valor deinicialización en el programa.

Métodos de programación de Robots.-

Programación por guiado.

La programación por guiado consiste en hacer realizar al robot, o una maqueta de él, las tareas arealizar y registrando las diversas posiciones y con�guraciones para posteriormente poder repetirlasde manera automática.

Existen diversas formas de hacerlo, si están desconectados los actuadores y es el programador elque desplaza manualmente el brazo del robot en el denominado guiado pasivo directo cuando semueve el brazo del robot y guiado pasivo por maniquí cuando lo que se mueve es una maquetasensorizada del mismo.

Otra forma de hacerlo, denominado guiado activo, es emplear la potencia de los actuadoresy guiarlos por medio de botones o joystick.

Si a lo que atendemos es a la potencia del sistema, la clasi�cación sería:

Guiado básico: En esta forma el robot es guiado por los distintos puntos a la misma vez quela unidad de control comienza a interpolar dichos puntos. Durante la ejecución del programael robot se moverá secuencialmente por dichos puntos ya que no suele ser común que estosprogramas dejen siquiera colocar estructuras de control.

Guiado extendido: Permite especi�car además de los puntos por los que para el robot,datos relativos a la velocidad a la que pasa, tipo de trayectoria, precisión, control de �ujo delprograma, entradas y salidas, etc. Dada sus características para este método se suele utilizarel guiado activo.

19

Page 21: Apuntes Robótica

Programación textual.

El lenguaje textual permite indicarle la tarea al robot mediante el uso de un lenguaje deprogramación especí�co.

La programación textual puede ser clasi�cada en tres niveles:

Robot: En el que se especi�can cada uno de los movimientos que realiza el robot, la velocidad,dirección de aproximación, apertura y cierre de la pinza, etc.

Objeto: En el nivel de objeto las instrucciones se darán en el nivel de los objetos a manejary manipular.

Tarea: En el nivel de tarea lo que se le especi�ca es que debe de hacer y con que lo debe dehacer.

En el nivel actual la programación se queda practicamente en el primero de los niveles.

Modos de programacion

Guiado

Pasivo{Directo

Maniquı

Activo

Textual

Nivel robot

Nivel objeto

Nivel tarea

20

Page 22: Apuntes Robótica

Tema 9

Características a considerar en la selección de un robot.- ***

Características geométricas.

Área de trabajo. Es el volumen espacial al que puede llegar el robot sin incluir la herra-mienta del extremo del robot. Se debe de tener en cuenta los puntos necesarios para realizarsu tarea sin olvidarse de los puntos de recogida de piezas, mesa de trabajo, etc. Otro dato atener en cuenta son los posibles puntos singulares.

Grados de libertad. El número de grados de libertad con que cuenta el robot determinala accesibilidad de éste y su capacidad para orientar su herramienta terminal. Normalmentepara operaciones de manipulación se utilizan robots de 3 grados de libertad, mientras quelos 6GDL se utilizan en tareas de pintura, soldadura y aplicación de sellantes. No obstantelos fabricantes suelen ofrecer 1 o 2 grados de libertad ampliables que se colocan en la base oextremo del robot.

Errores de posicionamiento.(Precisión, repetibilidad y resolución)Además de por suvelocidad y �exibilidad en la realización de tareas, una de las principales causas de eleccióndel robot frente a otras alternativas es u bajo nivel de error de posicionamiento. En lade�nición de este error cuentan tres conceptos complementarios, aunque el que normalmentese suministra es sólo el de repetibilidad:

� Resolución: Mínimo incremento que puede aceptar la unidad de control del robot.In�uenciado por cosas tan dispares como los captadores de posición, el número de bitsutilizados en las operaciones aritméticas, motores paso a paso, etc.

� Presición: La distancia entre el punto programado y el valor medio de los realmentealcanzados en diversas pruebas. Normalmente es debido a problemas de calibración,deformaciones térmicas, errores de redondeo en los cálculos, etc.

� Repetibilidad: Radio de la esfera que abarca los puntos alcanzados por el robot endiversas pruebas en las que se le ordene ir al mismo sitio. Normalmente es debido aproblemas del sistema mecánico como rozamientos, histéresis, etc.

Errores en el seguimiento de una trayectoria.

Características cinemáticas.

Velocidad.Normalmente dada para diferentes cargas y también en función(proporcionalmenteinversa) de la precisión. Se suelen dar en velocidades articulares y del extremo.

Aceleración y deceleración.

Características dinámicas.

Fuerza(De agarre, control fuerza-par y carga máxima)

Frecuencia de resonancia.

Tipos de movimientos.

Punto a punto.

Coordinados.

Trayectorias continuas.

21

Page 23: Apuntes Robótica

Modo de propagación.

Guiado.

Textual.

Tipo de accionamiento.

Eléctrico.

Neumático.

Hidráulico.

Comunicaciones.

E/S Digitales/Analógicas.

Comunicaciones Línea serie.

Servicio Proveedor.

Mantenimiento, Servicio Técnico, etc.

Coste.

Conceptos de precisión, repetibilidad y resolución en robots.-

Además de por su velocidad y �exibilidad en la realización de tareas, una de las principalescausas de elección del robot frente a otras alternativas es u bajo nivel de error de posicionamiento.En la de�nición de este error cuentan tres conceptos complementarios, aunque el que normalmentese suministra es sólo el de repetibilidad:

Resolución: Mínimo incremento que puede aceptar la unidad de control del robot. In�uen-ciado por cosas tan dispares como los captadores de posición, el número de bits utilizados enlas operaciones aritméticas, motores paso a paso, etc.

Precisión: La distancia entre el punto programado y el valor medio de los realmente alcan-zados en diversas pruebas. Normalmente es debido a problemas de calibración, deformacionestérmicas, errores de redondeo en los cálculos, etc.

Repetibilidad: Radio de la esfera que abarca los puntos alcanzados por el robot en diversaspruebas en las que se le ordene ir al mismo sitio. Normalmente es debido a problemas delsistema mecánico como rozamientos, histéresis, etc.

Medidas de seguridad a tomar en la fase de diseño del robot.-

Supervición del sistema de control.

Paradas de emergencia.

Velocidad máxima limitada.

Detectores de sobreesfuerzo.

Pulsador de seguridad.

Códigos de acceso.

Frenos mecánicos adicionales y medios para su desactivación.

Comprobación de señales de autodiagnóstico.

22