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 !

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