PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linie vervolgen mit RN-CONTROL, wie programmieren?



RoBoBo
11.10.2005, 12:18
HALLO

Ich habe eine Frage zur Pogrammierung.

Undzwar will ich meinen Roboter eine Lienie verfolgen lassen.
Dafür habe ich ihm 4 cny 70 eingebaut die ich an Port A angeschlossen habe
und ich auch schon mit erfog abgefragen kann.

Da ich noch kein Profi binn weis ich noch nicht genau wie ich das Pogrammieren soll.

Hat hier jemand schon mal das selbe versucht ????
Ich bin dankbar für HILFE.
mfg. RoBoBo

maze2k
12.10.2005, 01:28
Linienverfolgung (einer dunklen Linie auf hellem Grund) funktioniert immer nach dem gleichen Prinzip:

Mindestens 2 Sensoren, links (L) und rechts (R).

Ok, der Einfachheit halber nehme ich jetzt an, dass sich die Linie schon zwischen L und R befindet (ansonsten müsste der Bot so lange bewegen, bis dies der Fall ist, das kannst du dann programmieren, wenn du das folgende implementiert hast *g*)

So. Jetzt müssten beide Sensoren "hell" anzeigen

(d.h. du brauchst entsprechende Vergleichswerte für "hell" und "dunkel" für deine Sensoren... einfach testen indem du einen hellen Gegenstand davor hälst und den Wert misst, und dann einen dunklen. Dann nimm den Mittelwert davon. Wenn dann ab jetzt der gemessene Wert größer/kleiner (je nach Sensor) als dieser Mittelwert ist, dann gilt "dunkel" ansonsten "hell")

Gut. Jetzt setzt sich der Bot in Bewegung.
Du frägst jetzt immer wieder die beiden Sensoren ab. ändert sich einer der beiden Werte, oBdA. L, dann weisst du, dass die Linie nach links abbiegt bzw. dein Bot nach rechts fährt.

Konsequenz: nach links fahren, bis beide Sensoren wieder hell zeigen.

Rechts analog.

Das ist natürlich nur das Grundprinzip. Wenn die Linie komplizierte Formen hat, z.B. 90° Ecken, Kreise, etc. dann musst du natürlich schauen, wie du am besten die Linienverfolgung realisiert.

Aber zum Anfang würde ich mal mit einer geraden oder leicht gebogenen Linie und diesem Algorithmus anfangen :)

RoBoBo
12.10.2005, 21:53
Vielen dank für deine Antwort!!!

Ich werde mal gucken ob ich das realisieren kann.


mfg. RoBoBo