Chapter 2: Professional knowledge, pedagogies and curriculum
2.5 Reconstituting knowledge between higher education and practice
2.5.1 The effects of relocating professional disciplinary knowledge into the
Para el cálculo de la velocidad de avance del robot se va a partir de tres supuestos:
1. El robot se mueve según el modo de marcha Tripod. Siendo este el modo de marcha predominante para robots hexápodos, se cumple para una gran mayoría de situaciones. Este supuesto se ha elegido pues evita que exista fricción de las otras patas no implicadas en el movimiento con el suelo.
2. La velocidad de movimiento de las patas es constante. Por defecto, MoveIt! ejecuta todos los movimientos a velocidad cartesiana máxima, siendo esta velocidad la máxima permitida por los límites de velocidad de las articulaciones. Dicha velocidad es de 30 cm/s, aproximadamente. En la aplicación real, esta velocidad puede variar ligeramente en algunos tramos debido a la potencia de los motores, estado de la batería o fricción de las patas contra el suelo.
3. Las fuerzas de desplazamiento de cada grupo lateral de patas se aplican en el
mismo punto. Esta suposición se realiza para facilitar el cálculo de la velocidad de
avance, tanto módulo como dirección y sentido. Se va a admitir que la aplicación de la fuerza que mueve el robot se aplica en el punto de apoyo de la pata central de cada lado, ya que las fuerzas de estas patas son las que mayor par de avance proporcionan.
Partiendo de estas hipótesis, se describe el procedimiento para calcular la velocidad de avance del robot.
6.1.1 Módulo de la velocidad de avance
El mecanismo de movimiento de un robot con patas se compone de dos etapas: En la primera, la pata avanza según una trayectoria determinada, hasta que toca el suelo. A continuación, se da paso a la segunda etapa, donde la pata retrocede la distancia lineal que ha avanzado,
aplicando una fuerza que hace que el cuerpo se desplace en la misma dirección y sentido contrario al del movimiento de retracción. El esquema de la Figura 6.1 ilustra este movimiento de avance:
Figura 6.1: Esquema del movimiento de avance del robot
Como se ha supuesto que el modo de marcha es el trípode alterno (Tripod), la distancia que avanzan las patas de cada trípode es la misma que la que avanzará el cuerpo del robot.
Por tanto, el cálculo de la velocidad de avance, en módulo y para el modo de marcha Tripod vendrá definida como el cociente entre la distancia recorrida en el avance y el tiempo que tarda la pata en ejecutar el ciclo, de acuerdo con la siguiente fórmula:
𝒗𝒓𝒐𝒃𝒐𝒕=
𝒅
𝒕𝒂𝒗𝒂𝒏𝒄𝒆+𝒕𝒓𝒆𝒕𝒓𝒐𝒄𝒆𝒔𝒐 (1)
Donde 𝑑 es la distancia recorrida en el retroceso, 𝑡𝑎𝑣𝑎𝑛𝑐𝑒 es el tiempo que tarda la pata en realizar la etapa de avance y 𝑡𝑟𝑒𝑡𝑟𝑜𝑐𝑒𝑠𝑜 el tiempo que se emplea en volver a la posición de inicio.
Por consiguiente, la velocidad del robot dependerá de la velocidad cartesiana a la que se mueva cada extremidad del robot, así como de la trayectoria que ejecute.
Para una trayectoria dada, los parámetros a tener en cuenta son la longitud del arco descrito, denominada 𝐿, la distancia entre los dos puntos del arco que cumplen z = 0, 𝑑, y la velocidad a la que se recorre dicho arco, que será denominada 𝑣.
Figura 6.2: Trayectoria ejecutada por una pata.
De acuerdo con la Figura 6.2, el tiempo que tardará el robot en desplazarse vendrá dado por la suma entre el tiempo que tarda la pata en recorrer la trayectoria de longitud 𝐿 y el tiempo en retroceder la distancia 𝑑.
Como se ha comentado antes, debido a las limitaciones del software MoveIt!, no es posible modificar la velocidad de movimiento de la pata en tiempo de ejecución. Por consiguiente, para variar la velocidad de avance del robot modificaremos la longitud del arco 𝐿 y la distancia de retroceso 𝑑.
6.1.2 Dirección y sentido de la velocidad de avance
Los robots caminantes son intrínsecamente omnidireccionales [9], esto es, pueden desplazarse en cualquier dirección y sentido del plano del suelo. A partir del módulo de la velocidad de avance es sencillo conocer la dirección y el sentido del movimiento si se introduce un parámetro adicional, un ángulo φ que permita expresar la velocidad del robot de la siguiente manera:
Donde:
𝒗𝒙= |𝒗𝒓𝒐𝒃𝒐𝒕| 𝐜𝐨𝐬 𝛗 (3)
𝒗𝒚= |𝒗𝒓𝒐𝒃𝒐𝒕| 𝐬𝐢𝐧 𝛗 (4)
De este modo, el robot podrá desplazarse en todas las direcciones del plano xy.
6.1.3 Orientación del movimiento
Hasta ahora se ha supuesto que todas las patas se desplazaban siguiendo la misma trayectoria, por lo que el movimiento del cuerpo era según la dirección de retroceso de las extremidades del robot. Sin embargo, a la hora de realizar giros o desplazarse según direcciones oblicuas, los artrópodos realizan movimientos donde las patas de su parte izquierda realizan trayectorias diferentes a las de su parte derecha.
Como se puede ver en la Figura 6.3, si las velocidades de las patas del lado izquierdo son diferentes a las del lado derecho, el robot no sólo se desplazará en la dirección de la resultante, sino que además su orientación se modificará.
Figura 6.3: Movimiento de avance y rotación de un robot hexápodo.
Como se ha supuesto que el punto de aplicación de las fuerzas es la pata central de cada lado, la resultante de la velocidad lineal será siempre en el sentido de avance únicamente. Sin embargo, la rotación que experimente el robot dependerá de estas velocidades. A partir de esto, se puede obtener la velocidad de avance de cada una de las patas en función de la rotación ω:
𝒗𝒊𝒛𝒒𝒖𝒊𝒆𝒓𝒅𝒂= (𝒗𝒍𝒊𝒏𝒆𝒂𝒍− 𝝎)⁄ 𝟐 (5)
𝒗𝒅𝒆𝒓𝒆𝒄𝒉𝒂= (𝒗𝒍𝒊𝒏𝒆𝒂𝒍+ 𝝎)⁄ 𝟐 (6) Y, por tanto:
𝒗𝒓𝒐𝒃𝒐𝒕= 𝒗𝒊𝒛𝒒𝒖𝒊𝒆𝒓𝒅𝒂+ 𝒗𝒅𝒆𝒓𝒆𝒄𝒉𝒂 (7)
De este modo, siempre que exista velocidad lineal, ambos grupos de patas avanzarán en la misma dirección, y rotando en el sentido que indique el grupo que se mueve a mayor velocidad. Cuando no exista velocidad lineal, los grupos de patas se desplazarán en sentidos opuestos, propiciando un movimiento de rotación sin avance.
Este procedimiento, similar al del mecanismo diferencial de los vehículos con ruedas [44], es el que se ha utilizado para gobernar el movimiento del robot, tanto en dirección y sentido de velocidad lineal como angular. A continuación, se explicará el procedimiento de generación de trayectorias, el cual se utilizará para variar estas velocidades entre unos valores máximos y mínimos.