#Proyecto Robótica
Documentación técnica del proyecto de robótica educativa. Diseño, montaje y programación de tres robots con Arduino. Curso 2025–2026.
00 Introducción
Este proyecto tiene como objetivo el aprendizaje práctico de la robótica mediante el montaje y programación de tres robots de distinta naturaleza: un siguelíneas con ruedas (BQ Evolution), un hexápodo con patas (Araña) y un bípedo humanoide de código abierto (Otto Ninja). Cada robot presenta retos de ingeniería diferentes que cubren control PID, cinemática de patas y trayectorias sinusoidales.
HC-SR04 para detección de obstáculos y están programados en C++ con el entorno Arduino IDE.01 Objetivos del proyecto
- Comprender los fundamentos de la robótica autónoma y la locomoción
- Implementar algoritmos de control (PID, cinemática inversa, oscilación sinusoidal)
- Diseñar y montar circuitos electrónicos a partir de esquemas
- Depurar código embebido en entorno Arduino IDE
- Documentar el proceso técnico de forma estructurada
- Presentar y demostrar los robots en funcionamiento ante el grupo
02 BQ Evolution — Siguelíneas
Robot siguelíneas basado en la plataforma BQ, con sensores IR de línea, control PID y accionamiento diferencial. Diseñado para recorrer circuitos con líneas oscuras sobre fondo claro a máxima velocidad estable.
Especificaciones técnicas
| Parámetro | Valor |
|---|---|
| Placa | Arduino Uno (ATmega328P) |
| Motores | 2 × DC con encoder · accionamiento diferencial |
| Sensor línea | Array IR 5 canales (TCRT5000) |
| Sensor distancia | HC-SR04 ultrasonidos (2–400 cm) |
| Control | PID — Kp, Ki, Kd configurables |
| Alimentación | 7.4 V — batería LiPo 2S |
Fragmento de código — siguelíneas básico
#include <Servo.h> Servo ruedaizquierda, ruedaderecha; void setup() { ruedaizquierda.attach(6); ruedaderecha.attach(5); } void loop() { int vD = digitalRead(2); int vI = digitalRead(3); // 0 = negro (línea) 1 = blanco (sin línea) if (vD==0 && vI==0) adelante(); else if (vD==0 && vI==1) derecha(); else if (vD==1 && vI==0) izquierda(); else atras(); } void adelante() { ruedaizquierda.write(180); ruedaderecha.write(0); } void derecha() { ruedaizquierda.write(90); ruedaderecha.write(180); } void izquierda() { ruedaizquierda.write(0); ruedaderecha.write(90); } void atras() { ruedaizquierda.write(0); ruedaderecha.write(180); }
Ki=0 y Kd=0, subir Kp hasta oscilar, luego añadir derivada para estabilizar.03 Araña Hexápoda
Robot hexápodo con 6 patas y 2 articulaciones por pata (cadera + rodilla). Implementa marcha trípode alternante para desplazamiento estable. Incluye sensor ultrasónico frontal para evitar obstáculos.
Especificaciones técnicas
| Parámetro | Valor |
|---|---|
| Placa | Arduino Mega 2560 |
| Patas | 6 patas × 2 articulaciones (cadera + rodilla) |
| Servomotores | 12 × SG90 (torque 1.8 kg·cm, 180°) |
| Patrón de marcha | Trípode alternante (tripod gait) |
| Control PWM | Librería Servo.h nativa Arduino |
| Alimentación | 6 V — 4 × AA o LiPo 2S |
Secuencia de marcha trípode
- 01Grupo A (patas 1,3,5) se eleva — Grupo B (2,4,6) soporta el peso
- 02Grupo A avanza: oscilación angular de la cadera hacia adelante
- 03Grupo A apoya — Grupo B se eleva y avanza en el siguiente semiciclo
- 04El cuerpo se desplaza gracias al empuje del grupo en stance
- 05Ciclo se repite con período configurable (velocidad)
04 Otto Ninja — Bípedo interactivo
Robot humanoide bípedo de código abierto basado en Arduino Nano. Genera marcha mediante 4 servomotores con trayectorias sinusoidales. Detecta obstáculos por ultrasonidos y puede emitir sonidos con el zumbador.
Especificaciones técnicas
| Parámetro | Valor |
|---|---|
| Placa | Arduino Nano (ATmega328P) |
| Servomotores | 4 × SG90 (2 tobillos + 2 caderas) |
| Sensor distancia | HC-SR04 ultrasonidos (2–400 cm) |
| Audio | Zumbador piezoeléctrico |
| Librería | Otto.h — trayectorias sinusoidales |
| Alimentación | 5 V — 4 × pilas AA o USB |
Marcha sinusoidal y evitación de obstáculos
La librería Otto.h genera posiciones angulares para cada servo como función seno. Los cuatro osciladores están desfasados 90° entre sí para crear la ilusión de una marcha bípeda fluida.
// Marcha: 4 pasos a velocidad T=1000ms Otto.walk(4, 1000, FORWARD); // pos(t) = A·sin(2π·t/T + φ) + offset // Evitación de obstáculos if (Otto.getDistance() < 15) { Otto.home(); Otto.turn(4, 1000, LEFT); }
Comportamientos disponibles
- Marcha hacia adelante / atrás a velocidad variable
- Giro izquierda / derecha
- Baile: secuencias coreografiadas predefinidas
- Evitación autónoma de obstáculos (HC-SR04)
- Reproducción de melodías (zumbador piezoeléctrico)
05 Fases del proyecto
- 01Planificación — Selección de robots, distribución de roles, cronograma y definición de objetivos pedagógicos.
- 02Construcción — Montaje de componentes electrónicos y mecánicos siguiendo los esquemas de cada robot.
- 03Programación — Desarrollo del código en Arduino IDE: algoritmos de control, calibración de sensores y pruebas unitarias.
- 04Integración y pruebas — Validación del comportamiento completo, ajuste de parámetros y resolución de incidencias.
- 05Documentación — Redacción de esta documentación técnica y preparación de la presentación final.
- 06Presentación — Demostración en vivo ante el grupo y entrega de la documentación.
06 Problemas encontrados
Principales problemas surgidos durante el desarrollo y las soluciones aplicadas. Completar con los incidentes reales del equipo.
BQ Evolution
Araña hexápoda
Otto Ninja
07 Conclusión
Valoración final del proyecto: aprendizajes obtenidos, dificultades superadas y posibles mejoras para futuras iteraciones.
[ Hemos aprendido que configurar los codigos de los robots pues no es sencillo y que la IA no es siempre la primera opcion en cuanto a esto. Se puede usar la IA como apoyo pero no puedes depender completamente de ella en cuanto a programacion de cosas. ]
Posibles mejoras futuras
- BQ Evolution: añadir Bluetooth para ajustar PID en tiempo real
- Araña: implementar cinemática inversa completa para movimiento corporal independiente
- Otto Ninja: integrar sensor de gestos o comunicación IR entre robots
- Infraestructura: control remoto centralizado mediante aplicación móvil
08 Reto 3 — SMR1
Cartel oficial del Reto Número 3 de 2026. El proyecto SMR1 integra el robot cuadrúpedo explorador con sensor de ultrasonido y 8 servomotores, y el robot de seguimiento de líneas con matriz de sensores infrarrojos. El objetivo conjunto es la exploración y navegación autónoma.
- Robot cuadrúpedo: sensores de ultrasonido (ojos), 8 servomotores para el movimiento y estructura 3D personalizada
- Robot siguelíneas: matriz de sensores infrarrojos, microcontrolador principal y motores con ruedas
- Código: programación en C++ con Arduino IDE
- Hardware: integración de sensores, actuadores y controladores
- 3D Print: piezas personalizadas impresas en 3D