Introducción a la Robótica Mecanismos básicos: cinemática Dr José Martínez Carranza carranza@inaoep.mx Coordinación de Ciencias Computacionales, INAOE
Cinemática (1) La cinemática es una rama de la Física que estudia el movimiento de los cuerpos en el espacio, como un fenómeno aislado. La dinámica estudia las causas del movimiento. En robótica se representa el movimiento de un sistema electromecánico a través de modelos cinemáticos y dinámicos. Las restricciones relacionadas con la locomoción del robot, e.g. posición, velocidad, aceleración, ángulo de desplazamiento se representan en un modelo cinemático. - 2 -
Cinemática (2) Las restricciones relacionadas con las fuerzas que generan y condicionan el movimiento de un robot, e.g. rozamiento estático y dinámico se representan en un modelo dinámico. Estos modelos se han usado extensamente en robótica para describir el comportamiento de robots manipuladores. - 3 -
Cinemática (3) El espacio de trabajo (workspace) o espacio de configuraciones (configuration space, c-space) de un robot, es el área en la cual el robot puede posicionarse. Para un manipulador, este espacio está determinado por el alcance de sus articulaciones. Para un robot móvil, este espacio de trabajo corresponde al área libre de colisiones (también conocido como free configuration space). - 4 -
Cinemática (4) Para un robot manipulador, el movimiento se estima directamente de los sensores de posición de sus articulaciones. Para un robot móvil, no hay forma de medir la posición del robot de manera directa. El movimiento depende de la contribución y restricciones de cada activador, e.g. cada llanta, al desplazamiento; de la geometría del robot, e.g. arreglo y tipo de llantas, morfología del robot; y de la integración del movimiento del robot en el tiempo. Revisaremos los elementos principales de un modelo cinemático de éste último. x y θ - 5 -
Cinemática de robots móviles (1) Un robot móvil se representa como un cuerpo rígido en un plano horizontal, que corresponde a la superficie de apoyo del robot. La orientación del robot se define con respecto a un plano vertical, ortogonal al plano previo. Cualquier grado de libertad adicional es ignorado de modo que el modelo se concentra en la posición de la base o chasis del robot. y O x - 6 -
Cinemática de robots móviles (2) Se utilizan dos marcos de referencia, uno global o base inercial {X I, Y I } y uno local {X R, Y R }, cuyo origen es un punto fijo del robot, P. La posición de P en el marco general representa las coordenadas del robot, (x,y), y la diferencia angular entre ambos marcos de referencia está dada por θ. Estas tres variables conforman la pose del robot: x ξ I = y θ y O x - 7 -
Cinemática de robots móviles (3) Para describir el movimiento del robot es necesario hacer una correspondencia (mapear) su movimiento en el marco global. Este mapeo es una función de la pose actual del robot en el tiempo y se ejecuta en forma de rotaciones en un plano Euclidiano aplicando operaciones conocidas en álgebra lineal. Se utilizan matrices de rotación en 2D. Para θ > 0, la dirección del vector de rotación es en contrasentido de las manecillas del reloj. Para θ < 0, la dirección del vector es en sentido de las manecillas del reloj. Pose del robot: - 8 -
Cinemática de robots móviles (4) R(θ) = cos θ sin θ -sin θ cos θ Para la rotación de un punto en 2D, θ > 0 x cos θ -sin θ x = y sin θ cos θ y x = x cos θ - y sin θ y = x sin θ + ycos θ Pose del robot: - 9 -
Cinemática de robots móviles (5) R(-θ) = cos θ -sin θ sin θ cos θ Para la rotación de un punto en 2D, θ < 0 x cos θ sin θ x = y -sin θ cos θ y x = x cos θ + y sin θ y = - x sin θ + ycos θ Pose del robot: - 10 -
Cinemática de robots móviles (6) Para el caso de un robot móvil con 3 DOF, se utiliza una matriz de rotación ortogonal para mapear el movimiento en el marco de referencia local del robot con respecto al marco de referencia global. cos θ sin θ 0 R(θ) = -sin θ cos θ 0 0 0 1 Pose del robot: - 11 -
Cinemática de robots móviles (7) La operación para mapear un movimiento del robot en el marco de referencia global en términos del marco de referencia local se denota como:... dada una velocidad (x,y, θ) en el marco global, se puede calcular los movimientos del robot en su propio marco de referencia como sigue:... R(θ) ξ I... T ξ R = R(θ) ξ I = R(θ) x y θ Pose del robot: - 12 -
Cinemática de robots móviles (8) Ejemplo: la rotación en el marco local de θ = π / 2 en sentido opuesto a las manecillas del reloj (90 0 ), con respecto al marco global, es un caso particular en donde el movimiento en el eje X R es igual a -y y el movimiento en Y R es x.... 0-1 0 x -y. π... ξ R = R - ξ I = 1 0 0 y = x 2.. 0 0 1 θ θ Pose del robot: - 13 -
Cinemática de robots móviles (9) Otro ejemplo, la transformación al marco local de una rotación de tamaño θ = -π / 3 con respecto al marco global se calcula así.. π. ξ R = R - - ξ I = 3... cos π / 3 sin π / 3 0 x 0.5x + 0.866y... -sin π / 3 cos π / 3 0 y = -0.866x + 0.5y.. 0 0 1 θ θ - 14 -
Cinemática de robots móviles (10) Supongamos ahora que la velocidad del robot es conocida en el marco de refencia global, por ejemplo:... x = 2 cm/s, y = 3 cm/s, y θ = 5 rad/s la velocidad local en una rotación de tamaño θ = - π / 3 con respecto al marco global se calcula así.. π. ξ R = R - - ξ I = 3 cos π / 3 sin π / 3 0 2 3.5981 -sin π / 3 cos π / 3 0 3 = -0.23205 0 0 1 5 5-15 -
Cinemática de robots móviles (11). π. ξ R = R - - ξ I = 3 cos π / 3 sin π / 3 0 2 3.5981 -sin π / 3 cos π / 3 0 3 = -0.23205 0 0 1 5 5 Note que no se obtienen ángulos o posiciones directamente, sino velocidades lineales y angulares, que deben integrarse para obtener la pose explícita del robot, en términos de x, y, y θ. - 16 -
Cinemática de robots móviles (12) Para desplazar al robot generalmente no se aplica una velocidad al vehículo, sino a sus activadores. Para ello se aplica un modelo de cinemática directa (forward kinematic model). Para un robot con control diferencial en donde se conocen: el punto central entre las llantas, P; el radio y la distancia a las llantas, r y l; y la velocidad de cada llanta, ϕ 1 y ϕ 2.. ξ I =. x. y = f( l, r, θ, ϕ 1, ϕ 2 ). θ - 17 -
Cinemática de robots móviles (13) Para calcular el movimiento del robot en el marco de referencia global a partir del marco local se utiliza:.. ξ I = R(θ) -1 ξ R y para calcular la velocidad lineal en dirección de +X R, cada llanta contribuye con la mitad de la velocidad:.... x r1 = (½) r ϕ 1 x r2 = (½) r ϕ 2 Como no hay movimiento lateral, Y R es 0. - 18 -
Cinemática de robots móviles (14) La velocidad angular se calcula de las velocidades aplicadas a ambas llantas:. ω I = r ϕ 1 / 2l. ω 2 = r ϕ 2 / 2l - 19 -
Cinemática de robots móviles (15)... x r x r1 + x r2... ξ I = R(θ) -1 ξ R = R(θ) -1 y r = R(θ) -1 0. θ r ω I + ω 2.. cos θ -sin θ 0 r ϕ 1 /2 + r ϕ 2 /2 = sin θ cos θ 0 0.. 0 0 1 r ϕ 1 /2l + r ϕ 2 /2l - 20 -
Cinemática de robots móviles (16) Otras consideraciones pueden tomarse en cuenta, por ejemplo las restricciones propias de la rueda caster, o de la rueda que tenga dirección propia Parámetros de un caster fija Parámetros de un caster con dirección - 21 -
Cinemática de robots móviles (17) Debe considerarse que estos modelos son abstracciones formales del movimiento de un robot. Para aplicarlos, deben conocerse con precisión las velocidades aplicadas a los activadores y modelarse otras restricciones, como características específicas de las llantas. En general no se consideran factores que pueden afectar el movimiento, como la fricción de los materiales de las llantas con la superficie de apoyo, derrapes, entre otros. - 22 -
Referencias Siegwart R., Nourbakhsh (2004) Introduction to Autonomous Mobile Robots. MIT Press. - 23 -