UNACH · 2° Semestre · Electricidad y Electrónica

Estudio de un rover
Rocker-Bogie a escala.

Proyecto integrador del curso de Electricidad y Electrónica. El prototipo, a escala 1:10 del Rover Curiosity de la NASA, permite estudiar la suspensión pasiva Rocker-Bogie, la tracción holonómica con seis ruedas direccionales y la implementación de un sistema de control inalámbrico sobre ESP32.

Rover holonómico Rocker-Bogie
Desliza para explorar

01 · Introducción

Antecedentes de la robótica de exploración.

La robótica móvil aplicada a exploración planetaria tiene casi seis décadas de evolución desde el Lunokhod 1 hasta el Perseverance. Este proyecto se inscribe en esa línea histórica: estudia los principios cinemáticos del Rocker-Bogie y los implementa en un prototipo educativo de bajo costo, replicable en un contexto académico.

0

Ruedas direccionales

0

Escala respecto al Curiosity

0°

Inclinación lateral máxima

0

Tamaño máximo de obstáculo (vs. rueda)

Línea cronológica

1970

Lunokhod 1

Primer rover lunar (URSS).

1997

Sojourner

Primer rover marciano (NASA).

2012

Curiosity

Misión MSL · referencia teórica del estudio.

2026

Prototipo UNACH

Implementación a escala 1:10 con fines educativos.

02 · Subsistemas

Subsistemas funcionales del prototipo.

El rover está compuesto por cinco subsistemas que operan de manera coordinada. A continuación se describen en orden de actuación durante un ciclo de operación.

Rover Rocker-Bogie en exhibición
01 / 05

Subsistema de percepción

HC-SR04 · 5 V

Sensor ultrasónico montado al frente del chasis. Mide la distancia al suelo mediante pulsos acústicos. Permite implementar paro automático ante huecos o desniveles que excedan un umbral configurable.

02 / 05

Unidad de control

ESP32 · WiFi dual

El microcontrolador recibe comandos JSON por una interfaz HTTP, ejecuta la mezcla diferencial de velocidades y genera las señales PWM a 1 kHz que controlan los seis motores.

03 / 05

Suspensión Rocker-Bogie

Pasiva · 6 puntos de contacto

Mecanismo de articulación pasivo que mantiene los seis puntos de apoyo en contacto con el suelo simultáneamente. Permite franquear obstáculos de altura igual al doble del diámetro de la rueda.

04 / 05

Sistema de tracción

JGA25-370 · 12 V · 16 RPM

Seis motorreductores con caja de engranajes metálicos. La relación de transmisión privilegia el par motor sobre la velocidad lineal, reduciendo impactos dinámicos al superar pendientes.

05 / 05

Alimentación dual

3 × 18650 · 11.1 V

Las baterías de iones de litio alimentan los motores directamente. Un regulador reductor independiente provee 5 V a la lógica y a los servos, evitando caídas de tensión por demanda transitoria de corriente.

Continúa

A continuación se detallan los principios físicos, los componentes y la implementación del firmware.

03 · Marco teórico

Principios físicos del sistema Rocker-Bogie.

El sistema Rocker-Bogie es un mecanismo de suspensión pasiva utilizado en los rovers de exploración planetaria de la NASA. Su funcionamiento se fundamenta en la geometría de los eslabones y la distribución de masas, sin requerir actuadores adicionales para la suspensión. A continuación se exponen los seis principios que rigen su comportamiento.

P/01

Mecanismo diferencial

Cuando un brazo Rocker se eleva ante un obstáculo, el sistema diferencial transmite la mitad del desplazamiento angular al chasis. La plataforma de instrumentación se mantiene aproximadamente nivelada, propiedad descrita en la literatura como inclinación promedio.

P/02

Capacidad de franqueo

La articulación entre Rocker y Bogie permite superar pasivamente obstáculos de altura hasta el doble del diámetro de la rueda. El rover "camina" sobre el obstáculo aprovechando la fuerza normal generada por las ruedas posteriores.

P/03

Contacto continuo

A diferencia de una suspensión rígida, el Rocker-Bogie mantiene los seis puntos de apoyo en contacto con el suelo de forma simultánea. Esta característica maximiza la fricción disponible para la tracción.

P/04

Movimiento holonómico

Mediante servomotores en las cuatro ruedas de las esquinas, el prototipo realiza giros sobre su propio eje (radio cero) y desplazamientos laterales. Resulta apto para entornos con restricciones de espacio.

P/05

Tracción diferencial

Cada rueda es accionada por un motorreductor independiente. El microcontrolador calcula las velocidades de cada lado a partir de las componentes de avance y dirección del comando recibido (mezcla diferencial).

P/06

Relación par-velocidad

Los motorreductores priorizan el par motor sobre la velocidad lineal. Esta característica se justifica porque el objetivo del prototipo es la exploración y no la velocidad: un movimiento lento y continuo evita esfuerzos dinámicos sobre la estructura impresa.

Estabilidad estática

Centro de masa bajo y centrado: tolera inclinaciones laterales de hasta 45°.

De acuerdo con los estudios de estabilidad estática (Verma, 2008), el diseño busca minimizar la altura del centro de masa y centrarlo en el plano transversal. Este criterio permite al vehículo soportar pendientes pronunciadas sin volcadura, propiedad relevante en terrenos no estructurados.

Chasís

01 · Chasís

Imagen pendiente — guarda en
/assets/assembly/01-chasis.png

01 / 10

Chasís

Cuerpo principal del prototipo. Aloja en su cavidad central los componentes electrónicos y la batería. Constituye el punto de anclaje del sistema de suspensión.

UbicaciónCentro · plataforma estructural

140 × 102 × 73 mm · PLA

Brazo Rocker

02 · Brazo Rocker

Imagen pendiente — guarda en
/assets/assembly/02-brazo.png

02 / 10

Brazo Rocker

Eslabón principal de la suspensión Rocker-Bogie. Vincula el chasís con el bogie y permite el primer grado de libertad de la articulación pasiva.

UbicaciónCostados izquierdo y derecho del chasís

305.1 mm · pivote ø 3.2 mm · ×2

Pivote Bogie

03 · Pivote Bogie

Imagen pendiente — guarda en
/assets/assembly/03-pivote.png

03 / 10

Pivote Bogie

Articulación entre el brazo Rocker y los soportes de motor. Es responsable de la capacidad de franqueo: permite superar obstáculos de altura hasta el doble del diámetro de la rueda.

UbicaciónExtremos delanteros de cada brazo

Apertura 123.2 mm · 27 mm espesor · ×2

Barra diferencial

04 · Barra diferencial

Imagen pendiente — guarda en
/assets/assembly/04-barra.png

04 / 10

Barra diferencial

Barra horizontal central que vincula ambos Rockers. Es el componente clave de la cinemática: transmite la mitad del desplazamiento angular para mantener el chasís nivelado.

UbicaciónSobre el chasís, en posición central

183 mm · pivote ø 3.2 mm

Enlace diferencial

05 · Enlace diferencial

Imagen pendiente — guarda en
/assets/assembly/05-enlace.png

05 / 10

Enlace diferencial

Eslabón que conecta cada extremo de la barra diferencial con su Rocker correspondiente. Transmite el desplazamiento angular del mecanismo diferencial.

UbicaciónExtremos de la barra diferencial

ø 3.2 mm · ×2

Soporte de motor

06 · Soporte de motor

Imagen pendiente — guarda en
/assets/assembly/06-soporte.png

06 / 10

Soporte de motor

Pieza estructural en forma de L que aloja el motorreductor JGA25-370. Se fija a brazos y pivotes mediante tornillería M3.

UbicaciónUna por rueda (4 esquinas + 2 centrales)

PLA · ×6

Adaptador de acoplamiento

07 · Adaptador de acoplamiento

Imagen pendiente — guarda en
/assets/assembly/07-adaptador.png

07 / 10

Adaptador de acoplamiento

Pieza intermedia entre el eje del motor y el rin. Reduce holguras mecánicas y permite intercambiar el tipo de rin (estándar o hexagonal).

UbicaciónAcoplado al eje de cada motor

PLA · ×6 · tornillería M3

Rin

08 · Rin

Imagen pendiente — guarda en
/assets/assembly/08-rin.png

08 / 10

Rin

Estructura radial con ocho rayos curvos. Se acopla al adaptador del motor o, en su versión hexagonal, a un cubo de 12 mm.

UbicaciónSobre cada adaptador

ø 40 mm · 26 mm espesor · ×6

Neumático

09 · Neumático

Imagen pendiente — guarda en
/assets/assembly/09-neumatico.png

09 / 10

Neumático

Banda exterior con perfil de relieve vertical. Su geometría aumenta el coeficiente de fricción sobre superficies irregulares y mejora el agarre en pendientes.

UbicaciónSobre cada rin

ø 50 mm · ancho 40 mm · ×6

Prototipo ensamblado

10 · Prototipo ensamblado

Imagen pendiente — guarda en
/assets/assembly/10-final.png

10 / 10

Prototipo ensamblado

Sistema mecánico completo con la electrónica integrada: microcontrolador ESP32, drivers BTS7960, regulador UBEC, batería de iones de litio y sensor HC-SR04.

UbicaciónSistema completo

WiFi · 6 motores · 4 servos · sensor frontal

05 · Lista de materiales

Inventario de componentes del prototipo.

El proyecto utiliza piezas de manufactura aditiva (PLA y PETG), actuadores comerciales y electrónica de bajo costo. Cada elemento ha sido seleccionado para integrarse sin necesidad de elementos de fijación externos. La siguiente lista presenta los componentes con sus especificaciones técnicas.

Chasís (cuerpo principal)×1

Estructura 3D

Chasís (cuerpo principal)

Caja central que aloja el ESP32, la batería y los módulos de potencia. Protegida frente a impactos durante navegación.

  • MaterialPLA / PETG
  • Medidas140 × 102 × 73 mm
  • Espesor pared10 mm
Brazo izquierdo / derecho×2

Estructura 3D

Brazo izquierdo / derecho

Eslabón principal del Rocker. Conecta la rueda delantera con el pivote del Bogie.

  • MaterialPETG
  • Largo total305.1 mm
  • Pivote ø3.2 mm
Pivote izquierdo / derecho×2

Estructura 3D

Pivote izquierdo / derecho

Articulación entre el brazo Rocker y los soportes de motor del Bogie. Distribuye carga y permite escalada pasiva.

  • MaterialPETG
  • Apertura123.2 mm
  • Espesor27 mm
Barra diferencial×1

Estructura 3D

Barra diferencial

Barra central que une los dos Rockers. Promedia la inclinación entre ambos lados — clave del sistema diferencial.

  • MaterialPETG
  • Largo183.08 mm
  • Pivote ø3.2 mm
Enlace diferencial L / R×2

Estructura 3D

Enlace diferencial L / R

Conecta la barra diferencial con cada Rocker. Transmite el desplazamiento angular para nivelar el chasis.

  • MaterialPETG
  • Pivote ø3.2 mm
Soporte de motor×6

Estructura 3D

Soporte de motor

Aloja al motorreductor JGA25-370 y lo fija al brazo o al Bogie. Acepta acoplamiento directo al rin.

  • MaterialPETG
  • Anclajeø3.2 mm
Adaptador de acoplamiento×6

Estructura 3D

Adaptador de acoplamiento

Pieza intermedia entre el eje del motor y el rin. Absorbe holguras y permite intercambio de tipo de rin (estándar / hexagonal).

  • MaterialPETG
  • Acopla aEje GA25
Rin estándar / hexagonal×6

Ruedas

Rin estándar / hexagonal

Estructura interior. La versión hexagonal se acopla a un cubo de 12 mm; la estándar va directo al adaptador del motor.

  • MaterialPETG
  • DiámetroØ40 mm
  • Espesor26 mm
Neumático×6

Ruedas

Neumático

Banda exterior con perfil agresivo para maximizar agarre en tierra, grava y superficies irregulares.

  • MaterialPETG / TPU
  • DiámetroØ50 mm
  • Ancho40 mm
Actuador de tracción
×6

Actuador de tracción

Motorreductor JGA25-370

Motor DC con caja reductora metálica. Alto torque a baja velocidad — ideal para superar pendientes sin impactos dinámicos.

  • Voltaje12 V
  • Velocidad16 RPM
  • Corriente máx.2 A
Actuador de dirección
×4

Actuador de dirección

Servomotor MG996R

Servomotor con engranajes metálicos de 15 kg·cm. Dirección angular precisa para giro sobre eje y desplazamiento lateral.

  • Voltaje3 – 7.2 V
  • Torque15 kg·cm
  • EngranajesMetálicos

06 · Sistema de control

Arquitectura electrónica del prototipo.

El sistema de control se diseñó con una arquitectura de alimentación dual que aísla la lógica del microcontrolador de la potencia destinada a los actuadores. Esta separación previene caídas de tensión durante maniobras que demandan alto par motor. A continuación se describen los componentes que integran el sistema.

ENERGÍA

Batería de iones de litio

11.1 V · 2200 mAh · 25C

Fuente primaria de energía. Alimenta los motores directamente y, mediante un regulador, también la lógica del microcontrolador.

REGULACIÓN

Regulador reductor

12 V → 5 V

Línea de alimentación independiente para la lógica. Evita caídas de tensión que provocarían reinicios del microcontrolador.

CONTROL

Microcontrolador ESP32

WiFi · Bluetooth · doble núcleo

Unidad central del sistema. Procesa comandos JSON, calcula la mezcla diferencial y genera las señales PWM para los actuadores.

POTENCIA

Driver Puente H BTS7960

5.5–27 V · 43 A máx · ×3

Cada módulo controla dos motores. Se requieren tres unidades para los seis motores de tracción del prototipo.

TRACCIÓN

Motorreductores JGA25-370

12 V · 16 RPM · ×6

Actuadores de tracción con caja de engranajes metálicos. Reciben señal PWM a 1 kHz con resolución de 8 bits.

PERCEPCIÓN

Sensor ultrasónico HC-SR04

5 V · 15 mA · 2–400 cm

Sensor de proximidad frontal. Si la distancia medida supera el umbral configurado, el firmware detiene los actuadores.

COMUNICACIÓN

Comunicación inalámbrica

WiFi local · POST /controller

El microcontrolador expone un servidor HTTP que recibe los comandos del operador. La estructura del mensaje es { axes: [throttle, steer] }.

Alimentación dual

Separación entre la línea de potencia y la línea de lógica.

Línea de potencia

La batería alimenta directamente los drivers BTS7960. La capacidad de descarga (25C) soporta los picos de corriente que demandan los motores al iniciar el movimiento o superar pendientes.

Línea de lógica

El regulador reductor entrega 5 V regulados al microcontrolador, al sensor y a los servomotores. Esta línea queda aislada del ruido eléctrico generado por la conmutación de los motores.

07 · Implementación

Firmware del microcontrolador.

El firmware se desarrolla sobre la plataforma Arduino IDE con soporte para ESP32. La arquitectura del software se estructura en cinco bloques principales que se ejecutan en el orden indicado. A continuación se explica cada uno con su finalidad y justificación dentro del sistema.

1 · setup()

Inicialización del hardware

Al energizar el sistema, el firmware ejecuta una secuencia de inicialización: configura el LED de estado, los pines PWM de los motores y los pines del sensor ultrasónico. A continuación intenta establecer la conexión WiFi. El color del LED informa el estado del sistema: blanco durante el arranque, azul si conectó a la red primaria, verde si conectó a la red de respaldo, rojo si no logró establecer conexión.

setup.cpp

// setup() — se ejecuta una sola vez al encendervoid setup() {  // LED -> blanco mientras arranca  strip.begin();  strip.setPixelColor(0, strip.Color(255, 255, 255));  strip.show();   // Motores: PWM 1 kHz, 8 bits (0-255)  ledcAttach(MOTOR_A_RPWM_PIN, 1000, 8);  ledcAttach(MOTOR_A_LPWM_PIN, 1000, 8);  ledcAttach(MOTOR_B_RPWM_PIN, 1000, 8);  ledcAttach(MOTOR_B_LPWM_PIN, 1000, 8);  ledcWrite(MOTOR_A_RPWM_PIN, 0);  ledcWrite(MOTOR_A_LPWM_PIN, 0);  ledcWrite(MOTOR_B_RPWM_PIN, 0);  ledcWrite(MOTOR_B_LPWM_PIN, 0);   // Sensor ultrasonico  pinMode(TRIG_PIN, OUTPUT);  pinMode(ECHO_PIN, INPUT);}

08 · Demo interactiva

Calculadora de mezcla diferencial.

La operación del prototipo se basa en convertir un comando con dos componentes (avance y dirección) en dos velocidades independientes, una por cada lado del vehículo. Manipule los controles para observar el comportamiento del cálculo y el efecto sobre la actuación de los motores.

0.50
−1−1 = retroceso máx. +1 = avance máx.+1
0.00
−1−1 = giro a izquierda +1 = giro a derecha+1

Fórmula aplicada

velIzq=throttle + steer
velIzq=(0.50)+(0.00)=0.50
velDer=throttle steer
velDer=(0.50)(0.00)=0.50

Movimiento resultante

Avance recto

Mensaje HTTP enviado al ESP32

POST /controller HTTP/1.1
Content-Type: application/json

{
  "axes": [0.50, 0.00]
}

Vista superior · velocidad por motor

FRENTEATRÁSIZQUIERDODERECHOvelIzq = 0.50velDer = 0.50FL0.50FR0.50ML0.50MR0.50RL0.50RR0.50
Adelante
Atrás
Detenido

Casos de prueba

08 · Diagrama de bloques

Flujo de operación del firmware.

El programa se modela como una máquina de estados secuencial. Los rectángulos representan acciones; los rombos, decisiones. La operación normal sigue el ciclo: inicialización → conexión → recepción de comando → procesamiento → percepción → actuación.

Energización del sistema

Se aplica la alimentación dual; el LED de estado se enciende en blanco.

01

Inicialización de periféricos

Los pines de motor se configuran en estado de reposo; los del sensor en modo lectura.

02

¿Conexión WiFi exitosa?

Intento secuencial: red primaria, luego red de respaldo. El LED reporta el resultado.

03

Servidor HTTP en escucha

Endpoint /controller queda disponible para recibir comandos.

04

Recepción de comando

Mensaje JSON { axes: [throttle, steer] } por método POST.

05

Cálculo de la mezcla diferencial

velIzq = throttle + steer · velDer = throttle − steer.

06

Lectura del sensor frontal

Pulso de Trigger de 10 µs; tiempo de Echo en µs convertido a cm.

07

¿La distancia supera el umbral?

Si la distancia frontal indica un hueco, se ejecuta paro de seguridad.

08

Aplicación de PWM a los motores

Señales PWM a 1 kHz hacia los drivers. El sistema retorna a la espera del siguiente comando.

09
Inicio
Decisión
Bucle / Acción

09 · Metodología

Etapas de construcción del prototipo.

El proceso de construcción se divide en cinco etapas. La metodología puede replicarse en un contexto académico con una impresora 3D estándar, herramientas básicas de electrónica y el firmware documentado en la sección anterior.

Fase 1~12–18 h

Manufactura aditiva de las piezas

  • Material: filamento PLA o PETG de 1.75 mm, aproximadamente 1 kg en total.
  • Imprimir chasís, brazos Rocker, pivotes, barra y enlaces diferenciales, soportes y adaptadores.
  • Imprimir los seis neumáticos en TPU para incrementar el coeficiente de fricción.
  • Parámetros de impresión: altura de capa 0.2 mm, densidad de relleno 30 %, soporte automático según geometría.
Fase 2~3 h

Ensamblaje mecánico

  • Fijar los soportes a brazos y pivotes mediante tornillería M3.
  • Insertar los adaptadores en el eje de cada motorreductor JGA25-370.
  • Acoplar el rin estándar al adaptador correspondiente.
  • Vincular los Rockers al cuerpo principal mediante la barra y los enlaces diferenciales.
Fase 3~2 h

Cableado del sistema electrónico

  • Instalar el microcontrolador ESP32 en la cavidad superior del chasís.
  • Conectar los tres drivers BTS7960 (dos motores por driver) a la batería de 11.1 V.
  • Montar el sensor HC-SR04 al frente del chasís y cablear las señales Trig y Echo al microcontrolador.
  • Conectar la salida del regulador 12 V → 5 V al microcontrolador, sensor y servomotores.
Fase 4~30 min

Carga y verificación del firmware

  • Instalar el soporte para ESP32 en Arduino IDE.
  • Configurar las credenciales WiFi en las constantes WIFI_SSID_1 y WIFI_SSID_2.
  • Compilar y cargar el firmware mediante el puerto USB.
  • Verificar el LED de estado: blanco durante el arranque, azul o verde si conectó a la red, rojo en caso de error.
Fase 5Continua

Operación y calibración

  • Acceder a la interfaz de control desde un dispositivo en la misma red.
  • Enviar comandos POST /controller con la estructura { axes: [throttle, steer] }.
  • Realizar pruebas en superficie plana antes de evaluar el comportamiento sobre obstáculos.
  • Ajustar el umbral de detección de huecos según las condiciones del terreno de prueba.

10 · Autores

Integrantes del equipo de trabajo.

Estudiantes de la carrera de Ingeniería en Desarrollo y Tecnologías de Software, segundo semestre, grupo N. El presente trabajo corresponde al proyecto integrador del curso de Electricidad y Electrónica.

Catedrático responsable

Mtro. Genaro Hernández Martínez

Curso: Electricidad y Electrónica · 2° semestre · Grupo N

UniversidadUNACH

FacultadFCA · Campus I

CarreraIDTS

Josué Gabriel Escobar Domínguez

Equipo de desarrollo

José Manuel Peña Morales

Equipo de desarrollo

Alan Eduardo Peréz Hernández

Equipo de desarrollo

Diego Enrique González Guerrero

Equipo de desarrollo

Ades Yasir Gómez Delgado

Equipo de desarrollo

Gabriela Casanova Peréz

Equipo de desarrollo

11 · Documentación

Material complementario del proyecto.

El presente proyecto se publica como recurso educativo abierto. Los siguientes documentos facilitan la consulta, replicación o adaptación del prototipo en otros contextos académicos.

Disponibilidad para consulta

Recurso académico abierto.

Si este trabajo sirve como referencia para futuros proyectos integradores o surge alguna duda específica sobre la implementación, los autores quedan a disposición a través de la facultad. La documentación se mantendrá disponible en la medida en que se publiquen el código y los modelos.