Voici une possibilité d'algorithme. D'autres stratégies sont possibles pour permettre au rover de se déplacer sans jamais se bloquer. 

Une boucle principale détermine l'état des capteurs de fin de course FCD et FCG.

En Fonction, le rover devra sûrement reculer pour repartir dans une autre direction.

Mais la question est de reculer pendant combien de temps ?

Il faut bien définir une durée !

Reculer_tourner_droite
Avancer
Reculer_tourner_gauche
Attendre 4s
Début
Avancer_tourner_gauche
FCD activé
Avancer
Reculer
Attendre 4s
FCG activé
Avancer_tourner_droite