Problema arduino uno robot evita ostacoli

Ciao a tutti
sto realizzando il mio primo robot evita ostacoli con arduino ma purtroppo ho qualche problema che non riesco a risolvere
Questo è il mio codice

void loop() {
  misura();
  delay(35);
  spazioAN = spazio;
  if (spazioAN < spazioMin) {
                              Fermo();
                              delay(150);
                              Indietro();
                              delay(150);
                              Fermo();
                              delay(100);
                              servo.write(45); //DX
                              delay(500);
                              misura();
                              delay(30);
                              spazioDX = spazio;
                              servo.write(135); //SX
                              delay(600);
                              misura();
                              delay(30);
                              spazioSX = spazio;
                              servo.write(90);
                              delay(150);
                              if(spazioDX > spazioSX){
                                                      Destra();
                                                      delay(700);
                                                      Avanti();
                                                      }
                              else if(spazioSX > spazioDX){
                                                           Sinistra();
                                                           delay(700);
                                                           Avanti();
                                                          }
                              else if(spazioDX = spazioSX){
                                                           Destra();
                                                           delay(1500);
                                                           Avanti();
                                                           }
                              }
  else{Avanti();}
}

Il problema che ho è che anche se davanti non c'è l'ostacolo allo spazio minimo è come se si bloccasse sulla parte per ricercare un nuovo percorso, continua a muovere il servo a sx e dx per ricercare il nuovo percorso, si sposta a dx o sx e anzichè cominciare ad andare avanti (Perchè il tragitto davanti è libero) riparte la ricerca del percorso, sapreste aiutarmi?
Grazie milla in anticipo