Porque mi carro seguidor de linea con arduino no sigue bien el camino?

Hola amigos,espero que esten bien.
Vengo a preguntarles a ustedes,gran comunidad,por que mi chasis no sigue la linea indicada? lo he probado varias veces que la sigue,pero se sale de la linea sin motivo alguno,
que necesito hacer para que mi arduino vaya firme y no se salga de la pista ni nada de eso?
si preguntan por mi codigo aqui esta:
int LS= 4; // left sensor
int RS= 3; // right sensor
int LM1= 14; // left motor M1a
int LM2= 15; // left motor M2a
int RM1= 16; // right motor M2a
int RM2 =17; // right motor M2b
const int echo=8;
const int trigger=7;
void setup()
{

Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
digitalWrite(trigger, LOW);
pinMode(LS, INPUT);
pinMode(RS, INPUT);
pinMode(LM1, OUTPUT);
pinMode(LM2, OUTPUT);
pinMode(RM1, OUTPUT);
pinMode(RM2, OUTPUT);
}
void loop()
{
long t;
long d;
digitalWrite(trigger, HIGH);
delayMicroseconds(10); //
digitalWrite(trigger, LOW);

t = pulseIn(echo, HIGH);
d = (t/2)/29.1;

Serial.print("Distancia: ");
Serial.print(d);
Serial.print("cm");
Serial.println();
delay(100); //Hacemos una pausa de 100ms

if(d<=5) // Finish line, stopboth the motors
{
digitalWrite(LM1, LOW);
digitalWrite(LM2, LOW);
digitalWrite(RM1, LOW);
digitalWrite(RM2, LOW);
}
else{
if( digitalRead(LS) && digitalRead(RS)) // Move Forward on line
{
digitalWrite(LM1, LOW);
digitalWrite(LM2, HIGH);
digitalWrite(RM1, LOW);
digitalWrite(RM2, HIGH);
}
if(digitalRead(LS) && !(digitalRead(RS))) // turn left by rotationg left motors in forward and right ones in backward direction
{
digitalWrite(LM1, LOW);
digitalWrite(LM2, HIGH);
digitalWrite(RM1, LOW);
digitalWrite(RM2, LOW);
}
if(!(digitalRead(LS)) && digitalRead(RS)) // Turn right by rotating right motors in forward and left ones in backward direction
{
digitalWrite(LM1, LOW);
digitalWrite(LM2, LOW);
digitalWrite(RM1, LOW);
digitalWrite(RM2, HIGH);
}
}
}
Agradeceria una respuesta rapida

Porque no lees las normas del foro al llegar a un foro no conocido?
No doble postees. tienes un hilo en esta sección y otro similar en Software. Dejaré el otro y este quedará bloqueado para tu notificación.