SumoBot con 4 sensores HCsr04

Buena tarde a todos, he hecho mi primer intento de programación en arduino y he obtenido algo que no se que tan correcto sea, estos días son festivos y no he podido adquirir mi 2560 para probarlo, solo querría que me dieran cualquier consejo o me hicieran observaciones acerca del código que he hecho.

Se trata de un Robot Sumo de combate, y cualquier recomendación sera muy agradecida

//Programa de control del SUMOBOT:
// Por Ivan Dario molina Gastelbondo
// COD: 2012119057

const int ecob = 3; // entrada del eco trasero
const int ecod = 4; // entrada del eco derecho
const int ecoi = 5; // entrada del eco izquierdo
const int lifi = 6; // sensor de linea frontal izquiero
const int lifd = 7; // sensor de linea frontal derecho
const int liti = 8; // sensor de linea trasero izquierdo
const int litd = 9; // sensor de linea trasero derecho
const int mt1f = 10; //Motor derecho al frente
const int mt1r = 11; // motor derecho reversa
const int mt2f = 12; // motor izquierdo al frente
const int mt2r = 13; // motor izquierdo reversa
const int trig = 22; // trigger comun para todos los HC-SR04
const int ecof = 23; // entrada eco frontal


long tf; 
long tb;
long td;
long ti;
int xf;
int xb;
int xd;
int xi;

void setup() {
  // descripción de puertos:

pinMode(trig, OUTPUT);
pinMode(mt1f, OUTPUT);
pinMode(mt1r, OUTPUT);
pinMode(mt2f, OUTPUT);
pinMode(mt2r, OUTPUT);
pinMode(ecof, INPUT);
pinMode(ecob, INPUT);
pinMode(ecod, INPUT);
pinMode(ecoi, INPUT);
pinMode(lifi, INPUT);
pinMode(lifd, INPUT);
pinMode(liti, INPUT);
pinMode(litd, INPUT);

Serial.begin(9600);
}

void loop() {
  // descripción del programa:

  digitalWrite(trig, LOW);
  delayMicroseconds(4);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);
  
  tf = pulseIn(ecof, HIGH);
  xf = tf*0.017;  // Distancia frontal de ataque
  if (xf <= 50)
     {
      digitalWrite(mt1f, HIGH);
      digitalWrite(mt2f, HIGH);
      digitalWrite(mt1r, LOW);
      digitalWrite(mt2r, LOW);
      } 
     
  tb = pulseIn(ecob, HIGH);
  xb = tb* 0.017;
    if (xb <= 30) //Distancia trasera para giro de defensa
    {
      digitalWrite(mt1f, HIGH);
      digitalWrite(mt2f, LOW);
      digitalWrite(mt1r, LOW);
      digitalWrite(mt2r, HIGH);
      }
      ti = pulseIn(ecoi, HIGH);
  xi = ti* 0.017;
    if (xi <= 30) //Distancia para giro defensivo lateral
    {
      digitalWrite(mt1f, HIGH);
      digitalWrite(mt2f, LOW);
      digitalWrite(mt1r, LOW);
      digitalWrite(mt2r, HIGH);
      }
     td = pulseIn(ecod, HIGH);
  xd = td* 0.017;
    if (xd <= 30) //Distancia para giro defensivo lateral
    {
      digitalWrite(mt1f, LOW);
      digitalWrite(mt2f, HIGH);
      digitalWrite(mt1r, HIGH);
      digitalWrite(mt2r, LOW);
      }
  else // instrucciones para busqueda
     {
      digitalWrite(mt1f, HIGH);
      digitalWrite(mt2f, HIGH);
      digitalWrite(mt1r, LOW);
      digitalWrite(mt2r, LOW);
      delay(2000);
      digitalWrite(mt1f, LOW);
      digitalWrite(mt2f, HIGH);
      digitalWrite(mt1r, HIGH);
      digitalWrite(mt2r, LOW);
      delay(3000);
      }
   if(pulseIn(lifi, HIGH) ) //instrucciones para evitar salir del area de combate
   {
      digitalWrite(mt1f, LOW);
      digitalWrite(mt2f, LOW);
      digitalWrite(mt1r, LOW);
      digitalWrite(mt2r, HIGH);
      delay(2000);
     }
   if(pulseIn(lifd, HIGH))
   {
      digitalWrite(mt1f, LOW);
      digitalWrite(mt2f, LOW);
      digitalWrite(mt1r, HIGH);
      digitalWrite(mt2r, LOW);
   
    }
     if(pulseIn(liti, HIGH) )
   {
      digitalWrite(mt1f, LOW);
      digitalWrite(mt2f, HIGH);
      digitalWrite(mt1r, LOW);
      digitalWrite(mt2r, LOW);
      delay(2000);
     }
   if(pulseIn(litd, HIGH))
   {
      digitalWrite(mt1f, HIGH);
      digitalWrite(mt2f, LOW);
      digitalWrite(mt1r, LOW);
      digitalWrite(mt2r, LOW);
      delay(2000); 
    }
}