Ir al contenido

P11 — Cuadrado por tiempo y batería descargada

Un robot diferencial tiene ruedas de radio r=0.021r = 0.021 m y trocha (distancia entre ruedas) 2l=0.12242l = 0.1224 m. Su modelo cinemático es

v=r2(ϕ˙R+ϕ˙L)ω=r2l(ϕ˙R−ϕ˙L)v = \frac{r}{2}(\dot\phi_R + \dot\phi_L) \qquad \omega = \frac{r}{2l}(\dot\phi_R - \dot\phi_L)

con ω>0\omega > 0 en sentido antihorario (giro a la izquierda). Con la batería llena, la orden de potencia que usa el programa hace girar cada motor a 6.0 rad/s. El programa hace un cuadrado de 50 cm por tiempo: avanza un tiempo t1t_1 con las dos ruedas a +6.0 rad/s, y gira a la izquierda en el sitio un tiempo t2t_2 con ϕ˙R=+6.0\dot\phi_R = +6.0 y ϕ˙L=−6.0\dot\phi_L = -6.0 rad/s.

  1. Calcule vv y t1t_1 para avanzar 50 cm.
  2. Calcule ω\omega en el giro en el sitio y t2t_2 para girar 90°.
  3. Con la batería baja, la misma orden de potencia hace girar los motores a 5.7 rad/s, pero el programa usa los mismos t1t_1 y t2t_2. Calcule cuánto avanza el robot en cada lado y cuánto gira en cada esquina.
  4. Partiendo de (0,0)(0, 0) mirando hacia +x+x, calcule la posición del robot después de los 4 lados y los 4 giros con la batería baja. ¿A qué distancia del punto de partida termina, y con qué orientación?
  5. Explique por qué usar los encoders (girar las ruedas un ángulo, en vez de un tiempo) elimina este error, pero no los errores por un radio o una trocha mal medidos.
Mostrar solución
  1. v=0.0212(6+6)=0.126v = \dfrac{0.021}{2}(6 + 6) = 0.126 m/s. t1=0.50/0.126=3.97t_1 = 0.50/0.126 = 3.97 s.

  2. ω=0.0210.1224(6−(−6))=2.059\omega = \dfrac{0.021}{0.1224}(6 - (-6)) = 2.059 rad/s. t2=(π/2)/2.059=0.763t_2 = (\pi/2)/2.059 = 0.763 s.

  3. Todas las velocidades bajan al 5.7/6.0=95 %5.7/6.0 = 95\,\%, con los mismos tiempos. Lado: 0.95×0.50=0.4750.95 \times 0.50 = 0.475 m. Giro: 0.95×90°=85.5°0.95 \times 90° = 85.5°.

  4. Integrando lado por lado, con el giro después de cada lado:

    Después del ladoxx (m)yy (m)θ\theta después del giro
    10.4750.00085.5°
    20.5120.474171.0°
    30.0430.548256.5°
    4−0.0680.086342.0°

    Por ejemplo, el lado 2 suma 0.475(cos⁡85.5°,sin⁡85.5°)=(0.037, 0.474)0.475(\cos 85.5°, \sin 85.5°) = (0.037,\ 0.474). El robot termina a 0.0682+0.0862=0.11\sqrt{0.068^2 + 0.086^2} = 0.11 m del inicio, con una orientación de 342°, es decir, 18° de menos. Los dos errores de 5 % se combinan: el de los giros hace que el cuadrado no cierre.

  5. Con encoders, el programa no ordena “gire 0.763 s” sino “gire cada rueda tantos grados”. Si el motor va más lento, simplemente tarda más en completar esos grados, y el ángulo girado por la rueda es el mismo: el error por velocidad desaparece. Pero la conversión de grados de rueda a distancia y ángulo del robot usa rr y ll. Si esos valores están mal medidos, los encoders cuentan perfectamente un ángulo que no corresponde al movimiento deseado. Ese error solo se corrige calibrando rr y ll.