Hallo,
jetzt habe ich auch mal die Messkurven erstellt, um zu zeigen, was ich unter Vollausschlag verstehe.
Ich war selbst überrascht, daß die Schürze unter myIrAsuro jetzt 5mm über dem Untergrund war -- das kam wohl daher, daß ich auf der RobotChallenge nicht hängenbleiben wollte 
Bild hier
Hier nun meine Messungen, die trotz der 5mm Höhe der weißen Schürze über dem Boden fast keinen Außenlichteinfluß zulassen!
<table border=1><tr><td>Untergrund</td><td>hell</td><td>dunkel</td></tr><tr><td>weiß</td><td>1957</td><td>1954</td></tr><tr><td>schwarz</td><td>497</td><td>496</td></tr></table>
Die dunklen Bilder rechts kann man verifizieren, indem man sehr viel Kontrast rausnimmt ...
Bild hier Bild hier
Bild hier Bild hier
Hier das Messprogramm (SPEED: myAsuro hat Untersetzung 1:12.5)
Code:
#include <asuro.h>
#define SPEED 0x90
#define LOW 600
#define HIGH 1900
int main(void)
{
unsigned int data[2],cnt,sum,mode;
Init();
StatusLED(OFF);
FrontLED(ON);
MotorDir(OFF,FWD);
MotorSpeed(0,SPEED);
cnt=0;
mode=0;
for(;;) {
LineData(data);
sum=data[LEFT]+data[RIGHT];
++cnt;
if ((mode==0) && (sum<LOW))
mode=1;
if ((mode==1) && (sum>HIGH))
break;
PrintInt(data[LEFT]);
SerPrint(";");
PrintInt(data[RIGHT]);
SerPrint("\r\n");
MotorSpeed(0,255);
Msleep(12);
MotorSpeed(0,0);
}
MotorSpeed(0,0);
PrintInt(cnt);
SerPrint("\r\n");
while (1);
return 0;
}
Das linke Rad dreht nicht mit, da ich meine Motorbrücke immer noch nicht repariert habe ...
Und hier das Messvideo (3gp / mpeg).
Hier die Meßwerte zum selber Auswerten:
Code:
990;968
984;968
985;962
981;966
985;968
976;963
984;966
985;962
981;967
985;968
976;965
984;967
984;960
980;965
983;952
976;956
980;959
979;942
976;950
971;944
868;924
744;914
643;901
522;866
458;835
392;785
362;755
331;710
307;657
299;622
275;566
275;514
262;393
271;289
281;235
287;205
343;183
450;178
543;183
675;185
748;179
848;183
944;186
973;202
972;213
980;250
972;283
980;326
983;353
980;403
984;460
984;555
982;644
984;734
984;772
982;820
985;822
972;860
984;883
985;896
Und hier das Diagramm der Summe und Differenz der Meßwerte des linken und rechten Fototransistors bei IR-FrontLED:
Bild hier
Die Asymmetrie der Differenzen kann ich nicht direkt erklären (unterschiedliche Anbringung der Fototransistoren?), aber der Wertebereich von 500 bis über 1950 ist doch Klasse, oder?

Zitat von
stochri
Mmmh, blöderweise weis ich nicht, was ein "Fangbereich" ist. Aus dem Zusammenhang würde ich mal tippen, es ist der Bereich, in dem der asuro erkennt, dass hier was ist
.
Ja, so stelle ich mir das auch vor. Der Fangbereich ist der Bereich, in dem der ASURO sich zur Linie hin drehen kann.
Wenn die Linie ausserhalb seines Sichtfeldes liegt, kann er die Linie nicht mehr "fangen".
Das mag für einen ganz normalen PID-Regler gelten, aber:
Ich bin zwar erst am Anfang des Verstehens der Regelungstechnik, und ich finde den Artikel in RN-Wissen (hier) sehr informativ!
Im Thread RobotChallenge-Linienfolgeprogramm von "myIrAsuro" habe ich einen Linienfolger mit einem ganz anderen Funktionsprinzip vorgestellt (state machine).
Wenn man jetzt einen Hybridalgorithmus aus PID-Regler und state (ON_LINE / OFF_LEFT / OFF_RIGHT) konstruiert, dann kann die Linie auch außerhalb des Fangbereichs wiedergefunden werden, oder nicht?
Lesezeichen