ich stell mal das fertige programm rein

bei mir funktioniert es auf meiner selbstgebauten strecke mit einer Linienbreite von ca. 1,5 cm

Code:
#include "asuro.h"
#include <stdlib.h>
#include <stdio.h>

#define OFF_LEFT  -1
#define ON_LINE   0
#define OFF_RIGHT +1 
#define SPEED 170

unsigned int data[2];
int Offset;
int SLOWSPEED=SPEED;

int main(void)
{
	int inlines;
	int i=0;
	int j=0;
	int position;
	Init();
	FrontLED(ON);   
	StatusLED(GREEN);
	LineData(data);
	Offset = data[0] - data[1];
	MotorDir(FWD,FWD);
	MotorSpeed(SPEED,SPEED);
  while(1){
    LineData(data);
    inlines = (data[0] - data[1]) - Offset;
	if (inlines > 4)
    {
      StatusLED(GREEN);
      BackLED(OFF,ON);
      position=0;
    }
	else if (inlines < -4)
    {
      StatusLED(GREEN);
      BackLED(ON,OFF);
      position=1;
    }
	else {
     StatusLED(RED);
     BackLED(OFF,OFF);
     position=3;
}
if(position==0){MotorSpeed(SLOWSPEED-84,SPEED);}
else if(position==1){MotorSpeed(SLOWSPEED+84,SPEED);}
else{ MotorSpeed(SPEED,SPEED);}
  }
  return 0;
}
Wenn ihr Verbesserungsvorschläge habt wäre ich euch sehr dankbar wenn ihr sie reinpostet. (Dann verbessert sich meine Note in Prozessregelung)