Cinemáticas#

La cinemática es la aplicación de la geometría al control de diversos mecanismos robóticos. Las ecuaciones cinemáticas se utilizan para controlar mecanismos proporcionando entradas específicas para lograr una salida deseada.

Muchas de las ecuaciones cinemáticas aquí fueron tomadas de Controls Engineering in the FIRST Robotics Competition (libr) y Mobile Robot Kinematics for FTC (paper), que contienen las derivaciones pertinentes. Aunque aquí sólo se muestran las ecuaciones de la cinemática del tanque (accionamiento diferencial) y del mecanum, estas fuentes también contienen derivaciones para otros mecanismos como el swerve y la odometría de la rueda muerta.

Cinemática directa e inversa#

Los mecanismos pueden tener diferentes conjuntos de ecuaciones para su cinemática directa e inversa. La cinemática directa son las ecuaciones utilizadas para determinar el estado de un sistema dado el estado de sus salidas, mientras que la cinemática inversa determina la salida de un sistema dado el estado deseado. Por ejemplo, en una cadena cinemática, la cinemática directa determinaría la velocidad del cuerpo del robot en función de las velocidades individuales de las ruedas, mientras que la cinemática inversa determinaría las velocidades necesarias de las ruedas para una velocidad del cuerpo deseada.

Tanque (accionamiento diferencial)#

Un tanque, o diferencial, es un sistema de transmisión que consta de dos juegos de ruedas a cada lado del robot que se accionan de forma independiente. Se describen con más detalle en la sección Tanques (Skid-Steer) Chasis.

Variables#

En esta sección se utilizan las siguientes variables.

  • \(v_r\) indica la velocidad lineal de la(s) rueda(s) derecha(s)

  • \(v_l\) indica la velocidad lineal de la(s) rueda(s) izquierda(s)

  • \(v_f\) denota la velocidad de avance del robot, relativa a sí mismo

  • \(\omega\) indica la velocidad de rotación del robot en radianes/segundo

  • \(r_b\) indica el radio de la pista base, o la distancia entre la rueda y el centro del robot (la mitad de la distancia entre ruedas)

Advertencia

Estas variables, con la excepción de \(\omega\), representan velocidades lineales NO velocidades de rotación. La velocidad de rotación de la rueda en radianes/segundo puede convertirse en velocidad lineal multiplicándola por el radio de la rueda.

La velocidad de rotación positiva (\(\omega\)) hará girar al robot en SENTIDO CONTRAHORARIO visto desde arriba.

Cinemática de avance#

La cinemática de avance de la propulsión de un tanque relaciona la velocidad de las ruedas con las velocidades de avance y rotación del robot, respecto a sí mismo. La velocidad de avance \(v_f\) y la velocidad de rotación \(v_{\theta}\) son:

\[ \begin{align}\begin{aligned}v_f = \frac{v_r + v_l}{2}\\\omega = \frac{v_r - v_l}{2 r_b}\end{aligned}\end{align} \]

Cinemática inversa#

La cinemática inversa del accionamiento de un tanque relaciona la velocidad deseada del robot con la velocidad requerida de las ruedas. Estas velocidades son las siguientes

\[ \begin{align}\begin{aligned}v_r = v_f + r_d \cdot \omega\\v_l = v_f - r_d \cdot \omega\end{aligned}\end{align} \]

Mecanum Drive#

Variables#

La cinemática Mecanum utiliza las mismas variables que el accionamiento diferencial, excepto con cuatro variables de velocidad de las ruedas y un vector de velocidad adicional del robot para la velocidad de izquierda a derecha.

  • \(v_\mathrm{fr}\) indica la velocidad lineal de la rueda delantera (delantera) derecha

  • \(v_\mathrm{br}\) indica la velocidad lineal de la rueda trasera (trasera) derecha

  • \(v_\mathrm{fl}\) indica la velocidad lineal de la(s) rueda(s) delantera(s) izquierda(s).

  • \(v_\mathrm{bl}\) indica la velocidad lineal de la(s) rueda(s) trasera(s) izquierda(s).

  • \(v_f\) denota la velocidad de avance del robot, relativa a sí mismo.

  • \(v_s\) indica la velocidad de desplazamiento (lateral) del robot respecto a sí mismo.

  • \(\omega\) indica la velocidad de rotación del robot en radianes/segundo

  • \(r_b\) representa el radio de la pista base, o la distancia entre la rueda y el centro del robot (la mitad de la distancia entre ruedas)

Advertencia

Estas variables, con la excepción de \(\omega\), representan velocidades lineales NO velocidades de rotación. La velocidad de rotación de la rueda en radianes/segundo puede convertirse en velocidad lineal multiplicándola por el radio de la rueda.

La velocidad de rotación positiva (\(\omega\)) hará girar al robot en SENTIDO CONTRAHORARIO visto desde arriba.

Cinemática de avance#

La cinemática de avance de un accionamiento mecanum relaciona la velocidad de las ruedas con las velocidades de avance, derrape y rotación del robot respecto a sí mismo. Son las siguientes:

\[ \begin{align}\begin{aligned}v_f = \frac{v_\mathrm{fr} + v_\mathrm{fl} + v_\mathrm{br} + v_\mathrm{bl}}{4}\\v_s = \frac{v_\mathrm{bl} + v_\mathrm{fr} - v_\mathrm{fl} - v_\mathrm{br}}{4}\\\omega = \frac{v_\mathrm{br} + v_\mathrm{fr} - v_\mathrm{fl} - v_\mathrm{bl}}{4*2r_b}\end{aligned}\end{align} \]

Cinemática inversa#

La cinemática inversa de un accionamiento mecanum relaciona la velocidad deseada del robot con la velocidad requerida en las ruedas. Éstas son las siguientes:

\[ \begin{align}\begin{aligned}v_{fl} = v_f - v_s - (2r_b \cdot \omega)\\v_{bl} = v_f + v_s - (2r_b \cdot \omega)\\v_{br} = v_f - v_s + (2r_b \cdot \omega)\\v_{fr} = v_f + v_s + (2r_b \cdot \omega)\end{aligned}\end{align} \]