Paso 4: El algoritmo:: parte 2
Encuentro con una pared es la tarea más difícil en el programa.
Solución... Girar derecha 90 grados para continuar. Bien, idealmente 90 grados, pero 's muy poco probable que están enfrentando la cabeza directamente en la pared. Lo más probable es que estás enfrentando en un ligero ángulo. Entonces, ¿cómo usted gire la cantidad correcta?
Si tuvieras codificadores de rueda, o mejor aún una brújula a bordo, podría medir con precisión el ángulo. Pero este proyecto está diseñado para trabajar con sólo los componentes especificados. Así, el problema tiene que resolverse con solo dos sensores, que no son 100% confiables, especialmente cerca de un objeto.
Una solución propuesta podría ser "tiempo" el vehículo tarda para hacer un pivote de 90 grados y. Sin embargo, como las pilas más débiles, su velocidad decaerá, aumentar el tiempo necesario para realizar el giro deseado. He encontrado una solución tiempo a no ser suficientemente precisa.
Experimenté con un número de algoritmos que tenían diferentes niveles de éxito y de la complejidad. Aquí es el finalmente se asentaron en... fácil de entender y lo suficientemente confiable para trabajar constantemente.
Básicamente, el vehículo se detiene, lee en múltiples ángulos para mayor luz desde el sensor de infrarrojos, hace un pivote pequeño y repite el proceso hasta que la lectura más alta debajo de un límite predeterminado.
La solución es "fácil", como en "Tómatelo con calma!". Se te nota en el video que deliberadamente he codificado para "tomar su tiempo". El algoritmo se yerra en el lado de la precaución. Puedes jugar con él para acelerar las cosas para arriba si quieres. Sólo recuerde, accidentes aumentan con la velocidad :) Mientras escribo esto, mi pequeños Rover ha ido alrededor y alrededor de un ajuste de caja en curso durante 60 minutos sin mi intervención, demostrando la consistencia del algoritmo.
Si nos fijamos en las lecturas en el TM1638, el número de la izquierda representa el sensor de infrarrojos (lectura de luz reflejada), mientras que el número correcto es desde el frente montado ultrasónico.