Tutorial · Principiante · 25 min

Tracciones holonomicas: comparativa de omni, mecanum y swerve

Que significa holonomico, por que un robot diferencial no aparca de lado y una comparacion honesta entre omni, mecanum y swerve en agarre y coste.

La palabra, y lo que te cuesta

Un robot sobre un suelo plano tiene tres grados de libertad: puede estar en cierta x, en cierta y y apuntando en cierta direccion θ. Eso es lo que es una posicion sobre un suelo.

Una traccion es holonomica cuando puede controlar los tres de forma independiente a la vez: cuando el numero de direcciones en las que puede moverse instantaneamente iguala el numero de direcciones en las que puede acabar. Una traccion es no holonomica cuando no puede: puede alcanzar cualquier pose con el tiempo, pero no moviendose directamente hacia ella.

El ejemplo cotidiano es un coche. Un coche puede acabar en cualquier plaza de aparcamiento de la calle, incluida la que esta justo a su izquierda. Lo que no puede es conducir hasta ahi: tiene que maniobrar. Eso es una restriccion no holonomica, y es la unica razon de que aparcar en paralelo sea una habilidad.

Un robot de traccion diferencial tiene el mismo problema en una forma mas amable. Puede girar sobre el sitio, cosa que un coche no puede, asi que solo tiene dos velocidades controlables (avance y rotacion) frente a tres grados de libertad. Falta el lateral. Para moverse 20 cm a la izquierda tiene que girar, conducir y volver a girar, lo que cuesta un tiempo que puede que no tenga y una precision de rumbo que puede que no pueda permitirse.

Una traccion holonomica simplemente va a la izquierda.

Por que importa mas de lo que suena

“Puede ir de lado” se lee como un truco de fiesta. Donde de verdad compensa:

  • Espacios estrechos. Un robot que nunca necesita sitio para girar cabe por un pasillo exactamente de su anchura. Los AGV de almacen son mecanum por esta razon y por ninguna otra.
  • Mantener un rumbo mientras se mueve. Una camara, un mastil de sensores o una pinza que deben seguir mirando en una direccion mientras la base se reposiciona. Las tracciones no holonomicas no pueden hacer esto en absoluto.
  • Seguimiento de trayectoria desacoplado. Un controlador pure pursuit sobre una base diferencial tiene que negociar el error de posicion contra el error de rumbo, porque comparten un solo actuador. Una base holonomica arregla cada uno con su propio eje.
  • Correcciones que no cuestan rumbo. Desviatate 3 cm de una linea y un robot holonomico vuelve 3 cm. Un robot diferencial tiene que trazar un arco hacia fuera y otro hacia dentro, y sobre un suelo resbaladizo esos dos giros extra son de donde viene el error. En el simulador, un cuadrado recorrido a base de desplazamiento lateral sobre un suelo engrasado acaba todavia con su rumbo en exactamente 0,0°, porque nunca se ordeno una rotacion; el mismo cuadrado recorrido girando en las esquinas termina decenas de grados desviado y luego conduce cada tramo siguiente en la direccion equivocada. Cada giro es otra ocasion de perder el rumbo, y el robot holonomico nunca la aprovecha.

Y donde no compensa: cualquier cosa que tenga que empujar, escalar o cruzar un umbral. Toda rueda holonomica cambia agarre por libertad.

Las cuatro opciones

Traccion diferencial: la linea base

Dos ruedas accionadas, una rueda loca. No es holonomica, y sigue siendo la respuesta correcta para la mayoria de los robots. Toda la traccion de una rueda normal, dos motores y treinta anos de librerias que asumen exactamente esta geometria.

Ruedas omni en X (“X-drive”)

Cuatro ruedas omni (rodillos a 90° respecto a la rueda, no a 45°) montadas en las cuatro esquinas, cada una girada 45° de modo que su direccion de rodadura apunta a la esquina. Cada rueda empuja en diagonal; las cuatro diagonales suman cualquier cosa.

  • Es la envolvente de velocidad del mecanum, girada 45° y √2 mas grande. Ambas tracciones pueden alcanzar un conjunto romboidal de velocidades; en mecanum las direcciones rapidas son el frente y el lateral puros, y en un X-drive son las diagonales del chasis. Con la misma velocidad de llanta, un X-drive va 1,41 veces mas rapido hacia delante, y produce √2 menos fuerza al hacerlo. Es una relacion de transmision, no un almuerzo gratis.
  • El empaquetado es incomodo. Las ruedas quedan a 45° respecto al chasis, lo que desperdicia espacio en las esquinas y normalmente obliga al accionamiento directo.
  • La traccion es pobre y las ruedas son fragiles: rodillos pequenos, zona de contacto pequena.

Mecanum: rodillos a 45°

Cuatro ruedas que parecen ruedas normales, montadas de la forma normal, con los 45° escondidos dentro de la rueda. Dos izquierdas y dos derechas, en patron de X.

  • Se empaqueta como una traccion normal. Esta es la razon real de que mecanum gane al X-drive en la practica.
  • El frente y el lateral son igual de rapidos; las diagonales cuestan 1/√2. Una orden a 45° pide todo a dos ruedas y nada a otras dos, asi que el robot se queda en el 71% de su velocidad recta. (Un X-drive tiene la misma penalizacion del 71%; solo que se aplica a otro par de direcciones).
  • La traccion cuesta 1/√2. La fuerza contra el suelo esta fijada a 45°, la friccion limita el vector completo, y solo la componente a lo largo de la direccion de rodadura es util.
  • La fuerza de empuje es mala. Una base mecanum pierde un pulso de empuje contra un robot de ruedas normales del mismo peso, siempre.

Swerve: dirige cada rueda

Cuatro modulos, cada uno con un motor de traccion y un motor de direccion. Apunta los cuatro donde quieras y conduce.

  • Holonomica con toda la traccion. Sin rodillo, sin 45°, sin penalizacion. Es la unica opcion de la lista que no cambia agarre por libertad.
  • Ocho motores, ocho codificadores, anillos colectores o gestion de cables y un problema de control con singularidades reales. Aproximadamente cuatro veces el trabajo del mecanum para un robot que hace las mismas tres cosas, mas rapido y con mas fuerza.

La comparacion, honestamente

Las velocidades se dan frente a la velocidad punta propia de cada traccion en linea recta, salvo la fila de “por velocidad de rueda”, que las compara todas con los mismos motores y ruedas.

Diferencial Omni X-drive Mecanum Swerve
Holonomica No Si Si Si
Motores 2 4 4 8
Velocidad lateral — 100% 100% 100%
Velocidad diagonal — 71% 71% 100%
Velocidad de avance por velocidad de rueda 100% 141% 100% 100%
Traccion frente a ruedas normales 100% 71%, y peor goma 71% antes de la goma de los rodillos ~100%
Terreno Bueno Solo liso Solo liso Bueno
Odometria desde las ruedas motrices Decente Pobre Pobre Decente
Empaquetado Facil Incomodo Facil Dificil
Coste y tiempo de montaje ★ ★★ ★★ ★★★★★

Solo swerve escapa del rombo: como puede apuntar todas sus ruedas en la misma direccion, sus velocidades alcanzables forman un circulo completo, asi que ninguna direccion cuesta nada. Toda traccion basada en rodillos compra el movimiento lateral con un vector de fuerza a 45° y paga el mismo √2 dos veces.

Una grafica de velocidad lateral frente a velocidad de avance en metros por segundo, mostrando todas las velocidades que puede alcanzar un robot mecanum con ruedas de 0,60 metros por segundo. El conjunto alcanzable es un rombo cian relleno con vertices en mas y menos 0,60 en cada eje. Se dibuja un circulo gris discontinuo de radio 0,60 para comparar, etiquetado como sin penalizacion por direccion. Hay marcadores ambar en 0,60 metros por segundo de avance y 0,60 metros por segundo de lateral en los vertices del rombo, y un marcador rojo sobre el borde diagonal etiquetado como 0,424 metros por segundo en la diagonal.
Por que toda traccion de rodillos tiene un eje rapido y uno lento. El rombo del mecanum tiene sus vertices sobre los ejes del chasis; el de un X-drive es la misma forma girada 45° y √2 mas grande. Solo swerve consigue el circulo. Descargar SVG

Elegir

Un camino de decision corto que acierta la mayoria de las veces:

  1. Necesita moverse de lado o mantener el rumbo mientras se mueve? No -> traccion diferencial. Para aqui: acabas de ahorrar dos motores, cuatro cables y un mes.
  2. El suelo es liso, duro y limpio, siempre? No -> traccion diferencial, o swerve si el presupuesto es irrazonable.
  3. Tiene que empujar, remolcar o apartar algo? Si -> no mecanum. El 71% es antes de contar con la goma de los rodillos, y las bases mecanum reales pierden los pulsos de empuje de forma contundente.
  4. El empaquetado es justo, o tiene que parecer un robot normal? Si -> mecanum. No -> un X-drive omni es mas sencillo de razonar y va 1,41 veces mas alto con los mismos motores.
  5. Es una competicion en la que alguien te empujara a proposito? -> swerve, o acepta que te empujaran.

Lo que lo holonomico no te da

Tres cosas que la gente espera y no obtiene:

No te da mejor odometria. Te da peor. Un rodillo que resbala esta haciendo su trabajo, asi que los codificadores de rueda en una base holonomica miden la rueda y no el suelo incluso mas de lo habitual. Presupuesta una IMU, o ruedas de odometria sin accionamiento, desde el principio.

No elimina la necesidad de planificar. Un robot holonomico sigue teniendo que rodear obstaculos; solo tiene mas formas de hacerlo. A* sobre una rejilla de ocupacion y la planificacion de cobertura funcionan igual, y la trayectoria resulta mas facil de seguir, no mas facil de encontrar.

No hace que el robot se sienta intuitivo de conducir. Justo lo contrario: un humano conduciendo un robot que se desplaza lateralmente pierde la pista de hacia donde apunta en unos diez segundos. La solucion es el control orientado al campo, que es un poco de matematicas y es obligatorio.

Siguiente

Las matematicas que hacen que los cuatro vectores de fuerza sumen: cinematica de las ruedas mecanum. Despues conduce una y trata de romperla en el simulador de traccion mecanum: el ajuste predefinido de suelo engrasado es la forma mas rapida de sentir lo que cuesta de verdad lo holonomico.

Explora el grafo

Forma parte de estos montajes

Proyectos y rutas de aprendizaje que incluyen este tutorial.

Lecturas adicionales

Referencias