El desafío del péndulo invertido
Un robot de 2 ruedas en equilibrio es un péndulo invertido: naturalmente inestable, cae si no hay control activo. Para mantenerse erguido, los motores deben compensar constantemente la inclinación detectada por el acelerómetro y el giroscopio del MPU-6050. El control PID calcula la corrección necesaria y la aplica a los motores cientos de veces por segundo.
Este es un proyecto avanzado que requiere práctica. Consigue todos los componentes en Especificar.cl.
Hardware del robot equilibrista
- Arduino Uno o Nano (la velocidad de cálculo es crucial)
- Sensor IMU MPU-6050 (acelerómetro + giroscopio)
- Driver de motor L298N o TB6612FNG (más eficiente)
- 2 motores DC con encoders (para control preciso de velocidad)
- Batería LiPo 7.4V equilibrada en el centro de masa del chasis
- Ruedas con buen agarre en el piso
Filtro complementario para ángulo
El acelerómetro mide ángulo pero es ruidoso. El giroscopio integra velocidad angular pero acumula deriva. El filtro complementario combina ambos: ángulo = 0.98 × (ángulo + gyro×dt) + 0.02 × accel_angulo. Esto da un ángulo limpio y estable sin deriva a largo plazo. Para mayor precisión, el filtro Kalman es mejor pero más complejo de implementar.
Sintonización del PID
Empieza con Kp pequeño hasta que el robot intenta equilibrarse pero oscila. Aumenta Kd hasta reducir las oscilaciones. Añade Ki mínimo para eliminar el error estacionario. La sintonización es empírica y requiere paciencia: ajusta un parámetro a la vez y observa el comportamiento. Un robot bien sintonizado se mantiene erguido en superficies planas e incluso puede resistir pequeños empujones.