¡No has visto un algoritmo para esto antes porque es una tontería! :) ¡Es por eso que los perros tienen su paquete de sensores al frente!
El problema es que, en el momento en que detectó salir de la línea, ya es demasiado tarde para corregirla. Además, si su robot es similar a otros robots de seguimiento de línea, cuando gira para volver al rumbo, los sensores realmente se moverán en la dirección equivocada, lo que causará más confusión y problemas de detección.
Su método de "copia de seguridad e intentarlo de nuevo" va por el buen camino, pero no es perfecto. Déjame sugerir un par de cosas. Tenga en cuenta que lo que sigue es pura especulación. Si bien he escrito un software autónomo de navegación para vehículos, esto podría no ser correcto al 100%, o incluso ser posible con su hardware.
Lo que tu robot necesita es un mapa. Básicamente, un modelo interno del campo de juego (a.k.a. el piso con una línea). También necesita una precisión de cálculo suficiente para poder crear este mapa y navegar dentro de él.
Inicialmente, el mapa está vacío y, a medida que el robot se mueve, rellena el mapa donde encuentra la línea y donde no. Si el robot sale de la línea, tendrá que retroceder para volver a él. Esta maniobra puede ser un poco más que un simple retroceso. Podría incluir algunos giros o lo que sea para ayudar a reubicar la línea más fácilmente y completar más el mapa.
En algún punto, el mapa está lo suficientemente completo como para contener la línea completa. Supongo que la línea es un bucle gigante. El robot puede cambiar los modos en los que intenta navegar alrededor del curso basándose principalmente en el mapa. Utiliza los sensores para determinar cuándo se desvía de lo que se esperaba y luego se corrige. De esta manera, puede compensar algún deslizamiento de las ruedas o la inexactitud en su cálculo de cuentas.
Este tipo de software no es trivial, pero no imposible. Necesitará una buena cantidad de RAM para almacenar el mapa, y sus motores / ruedas necesitarán algunos codificadores giratorios en ellos. ¡Pero puede ser un proyecto divertido y gratificante!