50 Leser und keiner Kritik?
Servus
Mich würde mal Interessieren wie man generell einer Linie folgt. Gehen wir mal von Zwei "Liniensensoren" aus die nebeneinander gepackt sind und genau die Breite einer "Norm-Linie" abdecken. Komm ich dann mit meinem Diagramm weiter? Würde eben Prüfen ob Sensorspannung_Lins>(<)Soll ist und entsprechend Reagieren...
Bild hier
Das ist auch das erste Diagramm dieser Art, kA wie richtig oder falsch es ist ...
Grüße
50 Leser und keiner Kritik?
Was soll daran falsch sein?
Das Problem wird in der Ausführung liegen, wie schnell und intensiv die Reaktion auf die Abweichung ist.
Ich frage mich nur ob die Überlegung generell richtig ist. Hab mich damit noch nicht befasst.
Was ich mich nur frage, ist was ist wenn der Streifen zu Schmal ist oder so breit ist, dass es eine große Abweichung geben muss damit die Messung schief geht - dann ist der geradeauslauf ja gefährdet.
Die Programmierung stell ich mir jetzt nicht so schwer vor. Man braucht ja nur die Spannung für Schwarz und die Referenzspannung zu wissen, den rest macht der Comparator (denke ich)
Wenn der Streifen zu schmal oder zu breit ist musst du das im Programm berücksichtigen. Was ist wenn er den Streifen verliert weils ums Eck geht?
Der Comparator sagt nur ja oder nein, denken, wie du schon geschrieben hast, musst du und alle Eventualitäten einplanen.
Das mit der Ecke ist genau das was ich noch überlege wie ich das Anstelle...
Ich steh noch ein wenig auf dem Schlauch, hab sowas noch nie Konzeptioniert
Also ich weiß nicht ob dir das hilft, aber hier mal die Programierung(Leider kann ich dir nicht helfen wie das nun genau angesteuert wird, aber ich glaube das hilft dir schon mal):
while(true)
{
if(sensor_links == schwarz) //wenn der linke sensor schwarz sieht, soll
{ // nach links geschwenkt werden
Motor_links.forward;
Motor_rechts.backward;
}
if(sensor_rechts == schwarz) //wenn der rechte sensor schwarz sieht,
{ // soll nach rechts geschwenkt werden
Motor_links.backward;
Motor_rechts.forward;
}
else
{
Motor_links.forward;
Motor_rechts.forward;
}
}
Wenn Beide Sensoren Schwarz sehen(zb. bei 90 Grad Kurven und enger)
soll er ein stück forfahren, und nach links und rechts schwänken um die Abzweigung zu finden.
Noch einfacher wäre die Programmierung wenn es drei Sensoren gäbe. Der Mittlere würde am Streifen sein. Die anderen beiden würden die Abweichungen und auch die Ecken erkennen.
nein, das glaube ich nicht, den der Roboter meines Robocup Teams (wir nehmen seid drei Jahren am Rescue Wettbewerb teil) fährt auch mit zwei Sensoren neben der Linie, und wenn beide auf schwarz sind dreht er sich wie beschrieben, das klappt gut.
Nur weis ich dann nicht was ich mit dem Mittleren machen soll - der ist ja im Prinzip Unnütz. Wenn der kein Schwarz mehr sieht und die anderen beiden keine Abweichung zu Schwarz stimmt was nciht ^^
Lesezeichen