Verfasst am: So 07.Feb 2010 23:57:55 Titel: Sensorik für linienverfolgung
ich arbeite jetzt schon seit fas 1nem Jahr an meinem Roboter, da ich nicht immer Zeit habe.
Ich habe die Aufgabe der Linienverfolgung praktisch bereits gelöst, jedoch ist mein problem, dass ich an manchen Orten wo das Licht sehr stark reinschlagt nicht fahren kann.
Daher möchte ich statt der Einstellung der Schaltschwelle und einem einfachen Lichtwiderstand zum vergleich etwas besseres:
ich dachte da an einen IR Sender und einen Empfänger
natürlich habe ich schon recherchiert im Internet.
Problem ist: ich finde keine Seite die mir genau erklärt wie diese Technik funktioniert und auf was ich aufpassen muss beim einbau dieser Senoren (Winkel,etc...) im Zusammenhang eines Roboters oder dergleichen.
Jetzt meine Frage: Kann mir irgendeiner dabei Helfen?
Ihr könnt mir von mir aus auch Links schreiben von brauchbaren Seiten oder gar photos wenn sie selbsterklärend sind
nur halt irgendwas brauchbares
Also solche Störungen durch andere Lichtquellen kannst du auch mit Infrarot-Sensoren bekommen.
Allgemein bekommst du Informationen und Hilfe zum Thema Roboterbau auf RoboterNetz. Die haben zum einen ein Forum und zum anderen ein Wiki mit vielen Grundlagen.
Die einfachste Art einer Infrarot-Linienerkennung ist die, dass du einen Fototransistor über den Untergrund von einer IR-Diode anleuchten lässt. Je nach Farbe und Oberflächenstruktur des Untergrunds wirst du dann einen anderen Stromfluss durch den Transistor bekommen. Und über einen in Reihe liegenden Widerstand kannst du dann am ADU-Port bestimmen ob dein Roboter noch immer der Linie folgt.
Ein fertiges IR-Modul wird hier beschrieben. Dies hat den Vorteil, dass es schon ein wenig geschützt ist vor Fremdeinstrahlung.
Ich würde an deiner Stelle ein zufällig gepulstes Signal nehmen. Wenn schon Mikrocontroller, dann kann man doch nutzen was man hat
Am Anfang deines Programms setzt du einen bestimmten Anfangswert und verdoppelst den z.B. fortlaufend. So erhältst du nach jedem Durchlauf ein gewisses binäres Muster. Die Sendediode wird dann einfach passend zu diesem Muster gepulst (in einem gewissen Zeitraster), zeitgleich wird aber bei jedem Schritt ein Messwert aufgenommen. Das Zeitraster muss breit genug gewählt sein, sodass die Messung sicher abgeschlossen werden kann.
Was bringt das alles? Sollte die Fremdeinstrahlung so stark sein, dass sie die Messung beeinflusst, dann stellst du es daran fest, dass du etwas detektierst während zeitgleich die Sendediode nicht im Betrieb war. Zwar kannst du dann nicht feststellen, ob du nun neben der Linie oder darauf bist, aber du weißt, dass die Messung nicht aussagekräftigt und daher zu verwerfen ist. Dein Roboter würde also abwarten bis die Fremdeinstrahlung nachgelassen hat, oder eben Gegenmaßnahmen ergreifen.
Und wozu die Zufallsfolge? Im Prinzip könnte es passieren, dass die Fremdeinstrahlung genau so flackert, dass es genau in das Muster passt und der Roboter wirklich glaubt eine gültige Messung erhalten zu haben. Wenn du aber ständig eine schnelle, wechselnde Folge hast, dann geht dafür die Wahrscheinlichkeit gegen Null.
Und woher weißt du, dass der Roboter auf der Linie fährt?
Wenn niemals etwas gemessen wird. Die schwarze Linie reflektiert das Licht kaum bis garnicht.
Also zusammenfassend erhältst du zwei Arrays:
SendeDiodeAn[0,1,2...x]
LichtsensorGetriggert[0,1,2..x]
Drei Fälle sind zu unterscheiden:
1.) LichtsensorGetriggert[0..x] ist immer aus => Roboter fährt auf der schwarzen Linie
2.) LichtsensorGetriggert[n] entspricht SendeDiodeAn[n] => Roboter fährt neben der Linie her
3.) LichtsensorGetriggert[n] ist fast immer wahr, unabhängig von SendeDiodeAn[n] => Messung ungültig, keine Aussage _________________ Stell' Dir vor es ist Krieg - und niemand geht hin, um zu kämpfen. | twitter: https://twitter.com/leenxkewl
Ergänzend kann man nur noch sagen, dass die Möglichkeit begsteht mehrere Sensoren zu verwenden. Dies ermöglicht dir nicht nur zu erkennen ob du von der Linie abgekommen bist sondern auch in welche Richtung du steuern musst um wieder auf die Linie zu kommen.
Ergänzend kann man nur noch sagen, dass die Möglichkeit begsteht mehrere Sensoren zu verwenden. Dies ermöglicht dir nicht nur zu erkennen ob du von der Linie abgekommen bist sondern auch in welche Richtung du steuern musst um wieder auf die Linie zu kommen.
So hab ich das auch mit 3 gemacht, aber ich glaub mittlerweile ich hab Probleme bei der Signalverarbeitung gehabt^^
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum nicht herunterladen