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 !

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