Ir al contenido

Cuadrados por tiempo

Hagamos que el robot realice un cuadrado de 50cm de lado con giros de 90 grados en las esquinas 4 veces. Los cambios entre moverse hacia adelante y girar están definidos por tiempos.

VELOCIDAD = 20 # % de la velocidad máxima
T_RECTO = 9.40 # s para recorrer 0.5 m (ajustar)
T_GIRO = 2.07 # s para girar 90° en el sitio (ajustar)
...
vehicle.move(VELOCIDAD, 0) # recto
ev3.sleep(T_RECTO)
vehicle.move(VELOCIDAD, 200) # giro a la izquierda en el sitio
ev3.sleep(T_GIRO)

Los tiempos iniciales salen de las medidas nominales: al 20 %, la rueda gira a 0.2×17.5=3.5 rad/s0.2 \times 17.5 = 3.5\,rad/s. Verifique esa cuenta y ajuste T_RECTO y T_GIRO observando el dibujo que deja el marcador sobre la cuadrícula del piso. Al terminar cada cuadrado, el programa imprime la pose real del robot.

  1. ¿Por qué el robot no regresa exactamente al punto de partida después de completar los 4 cuadrados?

    Considera factores como la fricción, el deslizamiento de las ruedas y las diferencias entre las dos ruedas.

  2. ¿Por qué los giros de 90° pueden no ser exactos usando solo control por tiempo?

    Reflexiona sobre la relación entre tiempo, velocidad y ángulo de giro. ¿Qué pasa durante la aceleración y el frenado?

  3. ¿Qué diferencias observas entre el primer cuadrado y el cuarto cuadrado realizado?

    Analiza el efecto acumulativo de los errores.

  4. Compara con el robot real: ¿es la simulación más o menos repetible?

    En el simulador no hay batería que se descarga ni piso irregular. Ejecuta el programa dos veces y compara los resultados. ¿Qué efectos del laboratorio no están modelados?

  • Calibración de tiempos: Ajustar T_RECTO y T_GIRO hasta que el primer cuadrado cierre.
  • Uso de sensores: Implementar encoders en las ruedas para medir la distancia real recorrida (siguiente práctica).
  • Corrección de deriva: Añadir pequeñas correcciones basadas en observaciones previas.