Deber 3 - Cinemática de Robots Industriales
Deber 3 - Cinemática de Robots Industriales
Deber 3 - Cinemática de Robots Industriales
DEBER NRO: 3
TEMA: CINEMATICA DE ROBOTS INDUSTRIALES
ACTIVIDADES DE APRENDIZAJE
1. Investigue sobre Cinemática Inversa
a) Definición
b) Métodos
c) Ejemplos (2)
2. Realice los siguientes ejercicios empleando el Toolbox Robotics previamente instalado en Matlab.
Leer el anexo A.
2.1 Analice la cinemática directa del robot planar de 3 grados de libertad con el método Denavit-Hartenberg,
y luego escriba el algoritmo para crear el robot utilizando el Toolbox Robotics.
2.2 Utilice el robot creado en el ejercicio 2. Defina una posición articular q=[Θ1, Θ2, …, Θn], donde 𝜃
representa a cada uno de los angulos de las rotaciones que tiene el robot. Luego obtenga la posición
y orientación del extremo operativo utilizando el comando fkine. Atención a la conversión grados –
radianes.
2.3 Con el robot PUMA, defina una posición articular q=[Θ1, Θ2, …, Θn], donde 𝜃 representa a cada uno
de los angulos de las rotaciones que tiene el robot. Verifique cuantas articulaciones tiene el robot.
Luego obtenga la posición y orientación del extremo operativo utilizando el comando fkine. Atención
a la conversión grados – radianes.
Página 1 de 5
2.4 Determinar la cinemática inversa utilizando las matrices de transformación obtenidas en el ejercicio
2.2. Utilice los comandos ikine o ikine6s. Atención a la conversión grados – radianes.
Comente si las variables articulares q obtenidas al aplicar la cinemática inversa son iguales a las del
ejercicio 2.2.
2.5 Determinar la cinemática inversa utilizando las matrices de transformación obtenidas en el ejercicio
2.3. Utilice los comandos ikine o ikine6s. Atención a la conversión grados – radianes.
Comente si las variables articulares q obtenidas al aplicar la cinemática inversa son iguales a las del
ejercicio 2.3.
2.6 Realice un script en Matlab que mueva al robot en coordenadas cartesianas describiendo un
cuadrado.
Puede emplear cualquier robot comercial de la toolbox (todos empiezan con mdl).
A continuación, se muestra un ejemplo, en el cual el robot PUMA 560 se mueve entre dos puntos.
mdl_puma560
T1 = transl(0.5, 0.1, 0.0)
T2 = transl(0.5, 0.5, 0.0)
T = ctraj(T1, T2, 50);
q = p560.ikine6s(T);
p560.plot(q)
Página 2 de 5
ANEXO A. CINEMATICA DE UN ROBOT INDUSTRIAL EMPLEANDO EL TOOLBOX ROBOTICS
CREACION DE UN ROBOT
Para cargar el modelo cinemático del robot debe introducir los parámetros de Denavit-Hartenberg de cada
eslabón empleando el comando link.
Link([THETA D A ALPHA SIGMA])
Observe el orden que debe utilizar para introducir cada uno de los parámetros D-H. El argumento sigma es
una bandera que se utiliza para indicar si la articulación es de rotación (sigma = 0) o prismática (sigma =
1).
Página 3 de 5
Se puede controlar el robot mediante el cambio de sus variables articulares 𝜃1 y 𝜃2 añadiendo el siguiente
comando
>> robot.teach
La toolbox de Matlab incorpora varios robots comerciales que se pueden utilizar directamente, por
ejemplo el PUMA560. Pruebe a controlarlo.
CINEMATICA DIRECTA
Como ya se mencionó, el problema cinemático directo consiste en determinar la posición y orientación final
del extremo del robot a partir de las articulaciones y parámetros geométricos del robot.
Para ello se utiliza la función “fkine” del objeto “robot”, la cual toma como parámetro un vector de
movimiento en el que se especifica el valor del parámetro variable de cada articulación y devuelve la
matriz homogénea que describe la posición y orientación del extremo final.
Para el robot planar de 2 grados de libertad creado previamente, se adiciona las siguientes líneas de
código que permiten encontrarla matriz de transformación homogénea (Posición y orientación del extremo
final)
>> q=[0 0]
>> T=robot.fkine(q)
q es un vector que contiene las variaciones de las variables articulares 𝜃, en este ejemplo 𝜃1 = 0𝑜 y
𝜃2 = 0𝑜
CINEMATICA INVERSA
En el toolbox ya existe una función con dicho propósito, se llama “ikine” o “ikine6s”, pertenece al objeto
robot, y toma como argumento una matriz de transformación que indique la posición final deseada.
K = robot.ikine(T,Q0,M,OPTIONS)
Los parámetros opcionales son: Q0 es el punto inicial de la función de cálculo (recuérdese que las
funciones de estimación son iterativas y en este caso requiere de una aproximación inicial), este valor por
defecto es nulo. M es una matriz de mascara para el caso de manipuladores con más de 6 grados de
libertad. Esta mascara restringe los movimientos posibles para restringir las posibles soluciones; cada
elemento de la matriz representa uno de los grados de libertad que pueden ser restringidos mediante un
“0” en dicha matriz.
Si modificamos la matriz T y volvemos a llamar a la función “ikine”, vemos que el vector de coordenadas
articulares K cambia.
Página 4 de 5
Para el robot planar de 2 grados de libertad creado previamente, se adiciona las siguientes líneas de
código que permiten encontrarla las variables articulares a partir de la matriz de transformación
homogénea
>> K= robot.ikine(T)
INTERPOLACION DE TRAYECTORIAS
Entre otras muchas cosas, el toolbox de robótica contiene interpoladores para generar trayectorias, tanto
en el espacio cartesiano como en el espacio articular.
JTRAJ: Nos permite calcular una trayectoria interpolada entre dos puntos del espacio articular. En su
forma más básica, le damos dos puntos (vectores) y un número de puntos de muestra, y nos devolverá
una trayectoria, en la que se han puesto condiciones de contorno de velocidad y aceleración nulas en
ambos extremos, o bien, si le indicamos parámetros adicionales, se incluirán velocidades de paso y
aceleraciones de paso como condiciones de contorno. Opcionalmente nos retorna los vectores de
velocidad y aceleración.
CTRAJ: Calcula una trayectoria cartesiana entre dos puntos. Dadas dos matrices homogéneas de
transformación (dos localizaciones espaciales) nos retornará una trayectoria por medio de una matriz
4x4xN, en donde cada matriz es según N el punto en el instante de muestre dado.
TC = CTRAJ(T0, T1, n)
TRINTERP: Calcula la matriz homogénea resultante de interpolar entre T0 y T1, siendo R=0 la posición
T0 y R=1 la posición T1. Lo más interesante de este método es que la interpolación se realiza utilizando
la interpolación lineal esférica por medio de los correspondientes cuaternios, y por tanto es un movimiento
de orientación "natural".
TR = TRINTERP(T0, T1, R)
Página 5 de 5