P11 — Cuadrado por tiempo y batería descargada
Un robot diferencial tiene ruedas de radio m y trocha (distancia entre ruedas) m. Su modelo cinemático es
con 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 con las dos ruedas a +6.0 rad/s, y gira a la izquierda en el sitio un tiempo con y rad/s.
- Calcule y para avanzar 50 cm.
- Calcule en el giro en el sitio y para girar 90°.
- 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 y . Calcule cuánto avanza el robot en cada lado y cuánto gira en cada esquina.
- Partiendo de mirando hacia , 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?
- 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
-
m/s. s.
-
rad/s. s.
-
Todas las velocidades bajan al , con los mismos tiempos. Lado: m. Giro: .
-
Integrando lado por lado, con el giro después de cada lado:
Después del lado (m) (m) después del giro 1 0.475 0.000 85.5° 2 0.512 0.474 171.0° 3 0.043 0.548 256.5° 4 −0.068 0.086 342.0° Por ejemplo, el lado 2 suma . El robot termina a 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.
-
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 y . 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 y .