Ayer quedamos algo escarmentados, y nos convencimos de que es mejor controlar bien el movimiento del robot antes de meterse en más complicaciones. Así que lanzamos el robot por el laberinto y logeamos los valores de los sensores y sus casillas, a ver si tenemos una visión general de lo que pasa.
Para ello creamos una nueva función en logs.cpp
y limpiamos un poco otros logs
innecesarios por ahora. La nueva función log_casilla_pasos_leds()
está
prefijada con ‘#1’ para poder hacer grep del resultado.
Hay muchísima información aquí.
Vamos a poner algunas ideas que vamos viendo haciendo zoom en el gráfico:
Las etapas se distinguen por la línea rosa, que indica los pasos recorridos. En los arranques y frenadas, esta línea pasa algo de 200 pasos, correspondientes a 9 cm. En las casillas en las que el robot continuó recto, esta línea pasa de 400, y las demás se corresponden con giros en redondo.
Por claridad, sólo se muestran aquí los sensores izquierdo y derecho.
Dejamos en el commit de master el fichero de datos obtenidos, para futuras referencias.