PAUL PINEDA / BLOG Ver demo
Robótica · Cinemática · Plataforma móvil

Cómo funciona el Rover Boogie
de 6 ruedas

Una guía técnica del robot recolector de botellas: suspensión basculante tipo boogie, 6 ruedas motrices, 4 servos de dirección, cinemática diferencial, giro 360° sobre su propio eje y punto de acopio móvil.

Paul Pineda 2026 8 min de lectura Robot · Boogie · JS
Demo en vivo · Interactiva

Pruébalo ahora, sin instalar nada 🚀

Controla el rover con teclado o táctil, recoge botellas por color, mueve el punto de acopio con doble tap y observa la cinemática de las 6 ruedas en tiempo real.

Sin instalación Funciona en móvil 6 ruedas + boogie Giro 360° Recolección por color
Abrir demo interactiva
paulpinedaj.github.io/robot_6_ruedas_v1
01 · Qué es

Un robot de plataforma móvil inspirado en la NASA

El Rover Boogie es un robot móvil de 6 ruedas diseñado para recorrer terrenos irregulares, recolectar botellas y depositarlas en un punto de acopio. Pertenece a la familia de los rovers: plataformas móviles autónomas o teleoperadas, capaces de desplazarse sobre superficies no preparadas, con tracción, dirección y control independiente por rueda.

Su sistema de suspensión está inspirado en el rocker-bogie usado por los rovers Curiosity y Perseverance de la NASA, lo que le permite mantener las 6 ruedas en contacto con el suelo incluso en pendientes pronunciadas. Todo el sistema está simulado en el navegador con JavaScript puro y Canvas 2D: sin frameworks, sin librerías externas, y funciona igual en escritorio que en móvil.

Suspensión boogie

Barras basculantes independientes que reparten la carga entre las ruedas y absorben las irregularidades del terreno.

Cinemática diferencial

Las ruedas exteriores giran más rápido que las interiores al girar, calculado con geometría real del rover.

Giro 360° sobre su eje

Modo "rocket boogie" que inclina los 4 servos en dirección tangencial y permite rotar sobre el propio centro.

Recolección por color

Detecta y clasifica botellas verdes, azules y rojas. Las acumula en depósitos separados y las entrega en el punto de acopio.

Plataforma móvil

Interfaz completamente responsiva: controles táctiles, teclado y doble tap para mover el punto de acopio.

Telemetría en vivo

Velocidad, radio de giro, inclinación, estado de los 4 servos, velocidad de las 6 ruedas y vista cenital plana.

02 · Contexto

¿Qué es un rover y de dónde viene?

Un rover es un vehículo de exploración diseñado para desplazarse sobre superficies desconocidas o no preparadas. El término se popularizó con las misiones espaciales: el primer rover que aterrizó en Marte fue el Sojourner en 1997, seguido por Spirit y Opportunity (2004), Curiosity (2012) y Perseverance (2021).

La clave de estos robots está en su suspensión: los rovers marcianos no pueden permitirse quedar atascados, porque no hay nadie que los rescate. Por eso la NASA desarrolló el sistema rocker-bogie, un mecanismo pasivo que mantiene todas las ruedas en contacto con el suelo incluso en pendientes de hasta 45 grados.

Diagrama · Sistema boogie lateral
CHASIS W1 W3 W4 W6 W2 (fija) W5 (fija)
Ventaja clave: si una rueda pasa por encima de una piedra, el boogie pivota y las otras dos ruedas del mismo lado siguen tocando el suelo. El rover nunca se queda "colgado" sobre una sola rueda.
03 · Sistema boogie

El rocker-bogie paso a paso

El sistema boogie del rover se compone de dos barras basculantes triangulares (una por lado) más una rueda central fija. Esto distribuye el peso y permite que cada grupo de ruedas (delantera-trasera) oscile alrededor de un pivote central.

En la simulación, cada rueda tiene un wheelY[i] independiente que reacciona cuando hay una botella o irregularidad cerca (a menos de 25px). Esto se traduce en un desplazamiento vertical suave que simula la amortiguación del sistema real.

1

Las barras basculantes

Cada barra triangular conecta las ruedas delantera y trasera con un pivote central que se une al chasis. Al subir una rueda, la otra baja, manteniendo el contacto.

2

La rueda central

Es fija y no forma parte del boogie. Está en el centro del rover y actúa como eje de referencia, absorbiendo las cargas verticales.

3

Distribución de cargas

Cuando el rover pasa sobre un obstáculo, el peso se redistribuye entre las 3 ruedas del lado. Ninguna queda suspendida en el aire.

4

Simulación

En el demo, cada rueda tiene su propio wheelY que sube cuando hay una botella cerca. El efecto visual imita el comportamiento del boogie real.

// Sistema boogie: cada rueda sube independientemente for (let i = 0; i < 6; i++) { let targetY = 0; for (const b of bottles) { if (b.collected) continue; const d = Math.hypot(b.x - wx, b.y - wy); if (d < 25) { targetY = Math.min(5, (1 - d / 25) * 6); } } rover.wheelY[i] += (targetY - rover.wheelY[i]) * 0.15; }
04 · Rocket boogie

Giro 360° sobre su propio eje

El rocket boogie es un modo especial que permite al rover rotar sobre su propio eje sin desplazarse. Es útil para apuntar la cámara o reorientarse en espacios reducidos.

Cuando activas el modo (tecla X o botón ⟳), el sistema:

A

Inclina los 4 servos al máximo

Los servos W1, W3, W4 y W6 se ponen a ±35° en dirección tangencial, formando un círculo de giro.

B

Todas las ruedas giran al unísono

Las 6 ruedas aplican la misma velocidad (60%) y dirección tangencial, generando un torque rotacional puro.

C

Rotación angular constante

El ángulo del rover aumenta a razón de spinSpeed * dt (3.5 rad/s) hasta completar 2π radianes (360°).

D

Vuelta al modo normal

Al completar la vuelta, los servos vuelven a 0° y el rover retoma el modo explorar.

Nota técnica: este modo es una simplificación del giro real de un rover de la NASA. En un rover real, el giro sobre el eje requeriría que las ruedas exteriores giren hacia adelante y las interiores hacia atrás, generando un par de torsión puro.
05 · Código real

Del simulador al rover físico

El demo es la representación visual de un código Arduino que controla un rover real de 6 ruedas con 4 servos de dirección y un receptor RC (iBUS).

El código real usa 12 pines para los 6 motores DC (uno por rueda) y 4 servos de dirección más un servo de tilt para la cámara. El receptor RC envía las órdenes a través del protocolo iBUS en 5 canales:

Canal 0
Dirección
steering · 1000–2000
Canal 1
Tilt cámara
35° – 165°
Canal 2
Throttle
0 % – 100 %
Canal 3
Pan cámara
paso a paso
Canal 6
Forward/Back
avance o retroceso

La lógica de control es la misma que se muestra en el simulador: según el canal 0, el rover decide si va recto, gira a la izquierda o a la derecha, calcula el radio de giro y ajusta la velocidad de cada rueda con la geometría real del chasis:

// Geometría real del rover (en milímetros) float d1 = 271; // distancia centro → fila delantera/trasera float d2 = 278; // distancia centro → fila trasera float d3 = 301; // distancia centro → fila delantera (rueda media) float d4 = 304; // semiancho entre ruedas izquierda y derecha // Cálculo de velocidades diferenciales void calculateMotorsSpeed() { if (ch0 > 1485 && ch0 < 1515) { speed1 = speed2 = speed3 = s; // recto: todas iguales } else { speed1 = s; // exteriores: máxima velocidad speed2 = s * sqrt(pow(d3, 2) + pow((r - d1), 2)) / (r + d4); speed3 = s * (r - d4) / (r + d4); // centro interior: más lento } speed1PWM = map(round(speed1), 0, 100, 0, 255); speed2PWM = map(round(speed2), 0, 100, 0, 255); speed3PWM = map(round(speed3), 0, 100, 0, 255); } // Cálculo de ángulos de servos void calculateServoAngle() { thetaInnerFront = round((atan((d3 / (r + d1)))) * 180 / PI); thetaInnerBack = round((atan((d2 / (r + d1)))) * 180 / PI); thetaOuterFront = round((atan((d3 / (r - d1)))) * 180 / PI); thetaOuterBack = round((atan((d2 / (r - d1)))) * 180 / PI); }

El simulador que ves en el navegador usa exactamente las mismas fórmulas y la misma lógica de control, pero en JavaScript. Es una herramienta de prueba y demostración antes de programar el rover físico.

Hardware del rover real: 6 motores DC con puente H, 4 servos de dirección (ServoEasing), 1 servo de tilt, 1 motor paso a paso para el pan de la cámara (AccelStepper), receptor RC vía iBUS y telemetría de voltaje de batería en el canal 1.
06 · Cómo se usa el demo

Guía rápida para jugar con el rover

El demo es totalmente interactivo y funciona igual en escritorio, tablet o móvil. Aquí tienes todo lo que puedes hacer.

W

Moverse por el mapa

En escritorio usa las teclas W, A, S, D (o las flechas) para avanzar, retroceder y girar. En móvil o tablet, usa el D-pad táctil que aparece debajo de la escena.

X

Giro 360° sobre su eje

Pulsa X (o el botón ⟳ en el D-pad) para activar el modo rocket boogie. El rover rotará sobre sí mismo hasta completar 360°. Los 4 servos se inclinan automáticamente y todas las ruedas giran al unísono.

R

Recoger botellas

Acércate lentamente a las botellas (verdes, azules o rojas). El brazo recolector se desplegará automáticamente y las clasificará en el depósito del color correspondiente. Cada rueda sube con el sistema boogie al pasar por encima.

Q

Controlar la cámara

Usa Q y E para inclinar la cámara (tilt), y R y F para girarla horizontalmente (pan). En móvil, los botones T+/T− y P+/P−.

P

Expulsar al punto de acopio

Cuando tengas botellas acumuladas, acércate al punto de acopio (la caja verde con icono de reciclaje) y pulsa P o el botón Expulsar. Si estás lejos, el rover te avisará que te acerques.

✱

Doble tap para mover el punto de acopio

Haz doble tap (móvil) o doble click (escritorio) en cualquier parte del mapa para recolocar el punto de acopio donde quieras. Aparecerán partículas verdes y el texto "Punto de acopio".

↓

Descargar el reporte

Cuando hayas depositado botellas en el punto de acopio, aparece un popup anclado a la caja con el botón "Descargar reporte". Se genera un archivo de texto con el total de botellas por color, la distancia recorrida y la fecha.

◱

Ver la cinemática en vivo

En el panel inferior verás 6 círculos planos que representan las ruedas. Cada uno muestra su velocidad (relleno amarillo), el ángulo de su servo (flecha cyan) y su etiqueta W1–W6. El panel lateral muestra telemetría completa.

Consejo móvil: si el botón "Controles extra" no se ve al inicio, pulsa la flecha hacia abajo debajo del D-pad. Ahí están los botones de Turbo, Freno, Expulsar y Reset.
07 · Plataforma móvil

Diseñado para cualquier pantalla

Todo el simulador es una sola página HTML que funciona sin instalación, sin servidor y sin conexión persistente. Está pensado para usarse tanto en escritorio como en móvil o tablet.

Teclado en escritorio

WASD para mover, X para el giro 360°, QE para tilt, RF para pan, P para expulsar, Space para frenar.

D-pad en móvil/tablet

Botones táctiles con respuesta inmediata (touchstart/touchend) para movimiento, cámara y acciones especiales.

Doble tap en el mapa

Puedes recolocar el punto de acopio en cualquier parte del terreno con un doble tap o doble click.

Telemetría completa

Panel lateral con velocidad, radio de giro, inclinación, estado de los 4 servos y las 6 ruedas.

Vista cenital plana

Panel inferior con los 6 círculos-rueda mostrando velocidad, ángulo del servo y dirección.

Reporte de reciclaje

Descarga un reporte en texto con el total de botellas recogidas por color y la distancia recorrida.

Ruedas
6
2 ejes + boogie
Servos dirección
4
W1, W3, W4, W6
Capacidad depósito
30
botellas clasificadas
Velocidad máx.
4.0
m/s simulados
Colores
3
verde · azul · rojo
Giro 360°
3.5
rad/s
Rendimiento: todo el renderizado se hace en Canvas 2D con requestAnimationFrame, limitando el delta-time a 50ms máximo para mantener la simulación estable incluso en dispositivos de gama baja.
08 · Stack técnico

Sin dependencias, todo en un archivo

Toda la simulación vive en un único archivo HTML de aproximadamente 60KB: no hay bundlers, no hay npm, no hay frameworks. Solo HTML, CSS y JavaScript puro con Canvas 2D.

<!-- El stack completo --> <canvas id="cv"></canvas> // escena principal <canvas id="kinCv"></canvas> // vista cenital plana <script> // 1. Estado del rover // 2. Física (diferencial + Ackermann) // 3. Render en Canvas 2D // 4. Input (teclado + táctil) </script>

El único recurso externo es Font Awesome para los iconos, cargado vía CDN. Fuera de eso, el archivo es completamente autónomo: puedes guardarlo y ejecutarlo sin conexión.

¿Listo para probarlo?

Controla el rover, recoge botellas, mueve el punto de acopio con doble tap y observa la cinemática de las 6 ruedas en tiempo real.

Abrir demo interactiva