Si el recorrido es como me lo imagino, que cuenta con bifurcaciones, discontinuidades y cruces... Pues lo unico que tendria que hacer es...
Mientras que esta en camino normal.. seguirlo, si hay una curva cerrada seguirla
Si encuentra una Bifurcacion... Esos son los datos que debes guardar, a donde voltear IZQ o DER
Si encuentras una discontinuidad... Entonces sigue defrente hasta que encuentres otra vez el camino (tambien habria que guardar ese dato)
Si encuentra un cruce... Seguir de frente o hacia donde corresponda (se podria grabar tambien)
No se si entiende mi idea... es decir el micro tendria una secuencia que seguir, la cual tu grabas... Por ejemplo, en un vector puedes almacenar los datos, por ejemplo:
Variable = [0:0:Bi_on:Bi_Dir:Dis_On:Cru_on:Cru_a:Cru_b ]
Donde:
Bi_On: 0 no hay bifuracion, 1 existe bifuracion
Bi_Dir: 0 Izquierda, 1 Der
Dis_On: 0 no hay discontinuidad, 1 existe una discontiniudad
Cru_on: 0 no hay cruce, 1 si hay cruce
Cru_a:Cru_b: 00 seguir de frente, 10 ir a la izquierda, 10 ir a la derecha, 11 no se... saltar
??
Entonces si tienes por ejemplo un camino donde hay una bifurcacion a la IZQ de alli una discontinuidad y de alli otra bifurcacion a la derecha... tendriamos:
Vector[0] = 0b00100000; bifurcacion a la izquierda
Vector[1] = 0b00001000; discontuinidad
Vector[2] = 0b00110000; bifuracion a la derecha...
Y en tu pograma de seguimiento incluirias que a cualquier evento... seguir los parametros guardados del camino... entonces de esa manera podrias seguir el camino correctamente...
Bueno ojala y te sirva..
Nos vemos...