-
-
Erfahrener Benutzer
Roboter Experte
Asuro folgt der Linie
Hallo
Habe dem Asuro gerade beigebracht einer Linie zu folgen.
Es wird ja schon ein Code dafür mitgeliefert, auf meinem Parkour
hat der leider überhaupt nicht gefunzt.
Das hat aber auch sein gutes, denn so muß man sich mit dem Code auseinandersetzen und beginnt somit Schritt für Schritt den Asuro zu verstehen.
Vielleicht sollte ich auch das Manual genauer lesen,...
Hier 2 Videos:
http://members.chello.at/michael.rub...ienfolger1.MPG
http://members.chello.at/michael.rub...ienfolger2.MPG
Btw.
Habe mir gerade eine Testplatine für SMD geroutet (nach AATIS Vorlage), wenn interesse am Layout besteht, bitte pm.
http://members.chello.at/michael.rub...Protoboard.JPG
LG
Rubi
-
Erfahrener Benutzer
Roboter Genie
Hallo Rubi,
kannst du bitte nochmal die Links überprüfen, ich bekomme ein:
The requested URL /michael.rubitschka1/Linienfolger1.mpg was not found on this server.
Möglichserweise hast du dich verschrieben?
Gruß, Michael
-
Erfahrener Benutzer
Roboter Experte
Sorry
Danke für den Hinweis!!!
MPG gehört GROSS geschrieben.
Frag mich bitte nicht warum, aber jetzt funzt es.
LG
Rubi
-
Erfahrener Benutzer
Roboter Experte
Auf den Videos fährt er doch wunderbar. Sind da deine verbesserten Routinen drin?
Gruss Waste
-
Erfahrener Benutzer
Roboter Experte
Hallo Waste
Ja klar fährt er da wunderbar, sind ja auch meine verbesserten Routinen drinnen,
Mit den Originalroutinen, war er viel zu schnell, da hat er die Kurve nicht gepackt.
Dann habe ich ein paar Dinge geändert,plötzlich konnte er keine Kurven mehr.
Dann habe ich mich mit dem Code genauer auseinander gesetzt, und 3 Versuche später, siehst Du dann das Ergebniß, die Videos.
Hat Spaß gemacht.
Die nächste Stufe ist dann, das er lernt, wie schnell er einen Kurs fahren darf.
Das wird dann schon um einiges komplexer, da er dann lernen sollte wann er eine Runde gedreht hat.
Schade, das keine Eingänge mehr verfügbar sind, ein Hallsensor würde sich dafür anbieten.
LG
Rubi
-
Erfahrener Benutzer
Roboter Experte
@Rubi
Hast du rausbekommen, was der Sinn von ADOffset in LineDemo ist?
Ist das eine Kalibrierung der Sensoren?
Soll das vor weissem oder dunklem Hintergrund durchgeführt werden?
Gruß
Waste
-
Erfahrener Benutzer
Roboter Experte
hALLO wASTE
Ja.
Der Sinn von ADOffset ist, die Differenz von den Liniensensoren.
Wenn die Differenz (ADOffset) der Liniensensoren > 4 dann erhöht er die Geschwindikeit des linken Rades um eins, wenn < -4 dann erhöht er die Geschwindikeit des rechten Rades um eins, ansonsten bleibt die Geschwindigkeit gleich.
Mit Kalibrierung hat das nichts zu tun.
Er mach kurz folgendes:
1. Starte Motor
2. Befrage den Liniensensor
3. Werde die Liniensensordaten mittels ADOffset aus (siehe Text oben)
4. Gehe zu 2.
Starten mußt Du ihn über einer dunklen Linie.
LG
Rubi
-
Erfahrener Benutzer
Roboter Experte
@Rubi
ADOffset wird aber nur einmal am Anfang bestimmt. Da ist es die Differenz der Liniensensoren. Danach bei den Auswertungen wird es dann nur noch berücksichtigt, so als ob es ein Korrekturwert ist.
Für mich sieht das nach Kalibrieren aus, nur ist die Frage wie?
Auf weissem oder dunklem Hintergrund?
Gruß Waste
-
Erfahrener Benutzer
Roboter Experte
Hallo Waste
Stimmt hast recht, man sollte niemals einen Code auf die schnelle überfliegen, in der Meinung man weis eh schon alles.
INteressant ist auch warum er vorher 143 (eigentlich 144) mal den Liniensensor befragt:
for (j = 0; j < 0x8F; j++) LineData(lineData);
LineData(lineData);
ADOffset = lineData[0] - lineData[1];
Ohne Werte von ADOffset zu kennen möchte ich mich nicht ein 2es mal festlegen, aber mein Verdacht geht in Richtung Umgebungslicht.
Schaue mir das an, wenn ich wieder Zeit habe.
LG
Rubi
-
Erfahrener Benutzer
Roboter Experte
So jetzt habe ich hoffentlich den ADOffset durchschaut.
Er dient dazu, das man sich vorher nicht festlegen muß ob er einer hellen Linie auf dunklem Untergrund oder umgekehrt folgen soll.
Wenn ich den Asuro z.B. so positioniere, das ein Liniensensor auf die schwarze Linie zeigt und der andere auf den weißen Untergrund,
so folgt er dennoch der Linie und richtet sich so aus, das er immer an dem Rand der Linie entlang fährt.
Ohne vorher den Offset zu berechnen, wäre so ein Verhalten nicht möglich.
Das ist sehr intellegent programmiert.
LG
Rubi
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen