PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboter soll einer Linie folgen.



tornado
18.04.2008, 16:59
Hallo,

ich bastel gerade einen neuen Roboter und wollte jetzt die Ir Sensoren anbringen um einer Linie zu folgen.

Der Roboter soll das so schnell wie möglich machen.
Was habt ihr für Erfahrungen damit?

An meinem letzten Roboter hatte ich 3 CNY70 (ganz nah zusammen)angebracht, so, dass sie im Idealfall alle zur gleichen Zeit auf der schwarzen Linie sind. Wenn nur noch 2 Sensoren auf der Linie waren, hat der Roboter seine Position korrigert.

Eine gute Entscheidung war das wohl nicht, denn jede Korrektur verbraucht wertvolle Zeit.

Jetzt hatte ich gedacht, zur 2 Sensoren anzubringen. Im bessten Fall sollte einer rechts und einer links der Linie sein. Die Linie wäre also in der Mitte und der Roboter würde keine Linie sehen. Erst wenn er wieder "aneckt" soll er die Position korrigieren.

Was haltet ihr davon und wie habt ihr eure Sensoren angeordnet damit der Roboter so schnell wie möglich einer Linie folgt?

Über eure Antworten würde ich mich sehr freuen.

Grüsse,
Tornado

1hdsquad
18.04.2008, 17:07
Eine Kamera ist das schnellste, schau mal in den RN-Downloadbereich, da gibt es eine Studeinarbeit drüber...

tornado
18.04.2008, 17:19
Ich werde mir das mal angucken, aber das mit der Kamera ist im moment noch zu schwer.
es sollte schon mit IR sensoren gehen.

danke trotzdem fúr den Tip

Besserwessi
18.04.2008, 20:13
Die 3 sensoren sind auch nichts anderes als eine einfache Kamera. Die normalen Kameras haben sogar eine relativ lange verzögerung bis ein ganzes Bild ausgelesen und verarbeitet ist. Wenn schon wäre ein Linienkamera besser geeignet. Den Vorteil den eine 2 D Kamera hat, ist es das es die Linie auch weiter vorn sehen kann.

Wichtig für ein schnelles verfolgen der linie ist, das man ein analoges signal über die position der Linie hat. Also mehr als nur einfach links/rechts. Der rest ist dann eine präzise und schnelle steuerung und ein gute regelung. Die Geschwindigkeit wird also weniger durch die echte Geschwindigkeit des Sensors, sondern mehr durch die Genauigkeit dens sensors bestimmt.
Die 2 oder 3 IR sensoren sind schon gar nicht so schlecht. Man wird nur die Werte analog auswerten müssen, auch wenn der AD Wandler etwas Zeit braucht. Der Abtastbereich der Sensoren sollte sich so weit überdecken, das man eine einigermaßen gleichmäßig genaue Positionsauflösung bekommt.
Auch die Position des Sensors relative zum Drehpunkt des Bots ist wichtig. Weiter vorne sieht man die Linie eher und kann schneller reagieren, dafür bewegt sich die Linie aber schon allein durch das drehen. Wichtigste und schwierigste wird es dann sein eine Gute Regelschleife hinzukriegen.

uwegw
18.04.2008, 20:38
3 Sensoren sind viel zu wenig. Die "Profiliga" der Linienfolger verwendet mittlerweile bis zu 16 Sensoren. Damit lassen sich dann solche Geschwindigkeiten erzielen:
http://de.youtube.com/watch?v=pG7bQ7EbqWs

Besserwessi
18.04.2008, 21:12
Die Zahl der Sensoren sagt nicht besonders viel über die Auflösung aus. 3 gute Sensoren können besser sein als 16 einfache.
Ein Beispiel für die Auswertung mit 6 Sensoren findet man hier:
http://elm-chan.org/works/ltc/report.html

Auch die Geschwindigkeit (oder besser Beschleunigung) sieht schon gut aus.

tornado
28.04.2008, 17:24
Danke fúr eure Antworten. Ich konnte sie leider erst heute lesen weil ich krank war. Viel Zeit um meinen neuen Roboter fúr den Wettbewerb an der Uni vorzubereiten habe jetzt leider nicht mehr. Eure Infromation ist aber auch fúr andere Roboterprojekte interessant.
vielen Dank,
Tornado

tornado
20.11.2008, 15:26
Ich wollte nach mehreren Monaten noch mal hier drauf zurück kommen und nicht extra einen neuen thread dafür öffnen:

Welchen Vorteil gibt es wenn man die Sensoren an den einen analogen Eingang anschliesst?
Bis jetzt habe ich die Signale einfach Digital benutzt. "An" oder "Aus"

Bei Analog kann man den Roboter wohl am Anfang kalirieren und an die Umgebung "anpassen" oder?
Aber um dann der Linie zu folgen, wird es mit analogen Daten doch umständlich. Oder wird direkt am Anfang Über Software festgelegt ob der Analogwert jetzt eher eine "1" oder eine "0" ist und wir so wieder mit einem Digitalwert arbeiten können?

MfG,
tornado