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.
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.

01 · Introducció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
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.

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.
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.
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.
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.
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
03 · Marco teórico
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
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
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
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
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
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
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.

01 · Chasís
Imagen pendiente — guarda en/assets/assembly/01-chasis.png
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.
140 × 102 × 73 mm · PLA

02 · Brazo Rocker
Imagen pendiente — guarda en/assets/assembly/02-brazo.png
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.
305.1 mm · pivote ø 3.2 mm · ×2

03 · Pivote Bogie
Imagen pendiente — guarda en/assets/assembly/03-pivote.png
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.
Apertura 123.2 mm · 27 mm espesor · ×2

04 · Barra diferencial
Imagen pendiente — guarda en/assets/assembly/04-barra.png
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.
183 mm · pivote ø 3.2 mm

05 · Enlace diferencial
Imagen pendiente — guarda en/assets/assembly/05-enlace.png
Eslabón que conecta cada extremo de la barra diferencial con su Rocker correspondiente. Transmite el desplazamiento angular del mecanismo diferencial.
ø 3.2 mm · ×2

06 · Soporte de motor
Imagen pendiente — guarda en/assets/assembly/06-soporte.png
Pieza estructural en forma de L que aloja el motorreductor JGA25-370. Se fija a brazos y pivotes mediante tornillería M3.
PLA · ×6

07 · Adaptador de acoplamiento
Imagen pendiente — guarda en/assets/assembly/07-adaptador.png
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).
PLA · ×6 · tornillería M3

08 · Rin
Imagen pendiente — guarda en/assets/assembly/08-rin.png
Estructura radial con ocho rayos curvos. Se acopla al adaptador del motor o, en su versión hexagonal, a un cubo de 12 mm.
ø 40 mm · 26 mm espesor · ×6

09 · Neumático
Imagen pendiente — guarda en/assets/assembly/09-neumatico.png
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.
ø 50 mm · ancho 40 mm · ×6

10 · Prototipo ensamblado
Imagen pendiente — guarda en/assets/assembly/10-final.png
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.
WiFi · 6 motores · 4 servos · sensor frontal
05 · Lista de materiales
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.
×1Estructura 3D
Caja central que aloja el ESP32, la batería y los módulos de potencia. Protegida frente a impactos durante navegación.
×2Estructura 3D
Eslabón principal del Rocker. Conecta la rueda delantera con el pivote del Bogie.
×2Estructura 3D
Articulación entre el brazo Rocker y los soportes de motor del Bogie. Distribuye carga y permite escalada pasiva.
×1Estructura 3D
Barra central que une los dos Rockers. Promedia la inclinación entre ambos lados — clave del sistema diferencial.
×2Estructura 3D
Conecta la barra diferencial con cada Rocker. Transmite el desplazamiento angular para nivelar el chasis.
×6Estructura 3D
Aloja al motorreductor JGA25-370 y lo fija al brazo o al Bogie. Acepta acoplamiento directo al rin.
×6Estructura 3D
Pieza intermedia entre el eje del motor y el rin. Absorbe holguras y permite intercambio de tipo de rin (estándar / hexagonal).
×6Ruedas
Estructura interior. La versión hexagonal se acopla a un cubo de 12 mm; la estándar va directo al adaptador del motor.
×6Ruedas
Banda exterior con perfil agresivo para maximizar agarre en tierra, grava y superficies irregulares.
Actuador de tracción
Motor DC con caja reductora metálica. Alto torque a baja velocidad — ideal para superar pendientes sin impactos dinámicos.
Actuador de dirección
Servomotor con engranajes metálicos de 15 kg·cm. Dirección angular precisa para giro sobre eje y desplazamiento lateral.
06 · Sistema de control
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.
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.
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.
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.
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.
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.
5 V · 15 mA · 2–400 cm
Sensor de proximidad frontal. Si la distancia medida supera el umbral configurado, el firmware detiene los actuadores.
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
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
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()
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
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.
Fórmula aplicada
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
Casos de prueba
08 · Diagrama de bloques
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.
Inicialización de periféricos
Los pines de motor se configuran en estado de reposo; los del sensor en modo lectura.
¿Conexión WiFi exitosa?
Intento secuencial: red primaria, luego red de respaldo. El LED reporta el resultado.
Servidor HTTP en escucha
Endpoint /controller queda disponible para recibir comandos.
Recepción de comando
Mensaje JSON { axes: [throttle, steer] } por método POST.
Cálculo de la mezcla diferencial
velIzq = throttle + steer · velDer = throttle − steer.
Lectura del sensor frontal
Pulso de Trigger de 10 µs; tiempo de Echo en µs convertido a cm.
¿La distancia supera el umbral?
Si la distancia frontal indica un hueco, se ejecuta paro de seguridad.
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 · Metodología
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.
10 · Autores
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
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
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.
Reporte completo del proyecto integrador, incluye marco teórico, especificaciones técnicas, diagramas y referencias bibliográficas.
Descargar PDFImplementación en C/C++ para la plataforma Arduino IDE con soporte para ESP32. Documentado y listo para compilar.
RepositorioArchivos en formato STL y STEP de las siete piezas estructurales del prototipo y los rines (versión estándar y hexagonal).
Descargar archivosDisponibilidad para consulta
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.