PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Algorithmen & Konfigurationen für "Lichtsucher"



Goblin
08.07.2006, 13:48
Tagchen!

Ich hatte vor einen kleinen 1-DOF-Lichtsucher zu bauen, sprich: quasi nur ein "drehbarer Kopf" mit 2 Fotowiderständen, der sich immer zum Licht hindreht. Beim genaueren Nachdenken darüber sind allerdings ein paar Probleme aufgetaucht. Ich wollte die Widerstände mit einem Controller auslesen und die Regelung auch über diesen machen. Wenn ein Sensor mehr Licht bekommt als der andere wird in die Richtung des einen gedreht, bis beide Sensoren ungefähr die gleiche Intensität empfangen. Allerding: So einfach ist es nicht. Erstmal wird man mit diesem einfachen Vergleich nicht glücklich, da der Kopf sich auch versehentlich die dunkelste Stelle suchen könnte. Ausserdem muss man einen gewissen Unterschied zwischen den beiden Sensorwerten immernoch als "gleicher Helligkeitswert" werten, damit der Kopf auch irgendwann zum Stillstand kommt. Und dann wäre da noch der Skalierungsfaktor, der sich nach der allgemeinen Helligkeit richten und direkten Einfluss auf den als "gleich" akzeptierten Unterschied hat. Weil wenn kaum Licht da ist und der hellste Punkt nur ein wenig heller als der Rest ist, dann würde das System evtl diesen Unterschied noch als "gleich" betrachten und zu keinen vernünftigen Ergebnis kommen.
Ich hoffe ihr wisst was ich meine und hoffe auch mal, dass ich das ganze nicht zu kompliziert ansehe. Erzählt einfach mal was ihr dazu denkt und wie ihr das ganze realisieren würdet (softwaretechnisch gesehen)

scales
08.07.2006, 14:09
also ich würde wenn dann 3 Sensoren nehmen (ich geh mal vom 2 dimensionalen aus, sonst natürlich 5)

einer in der Mitte, einer ein stück weiter links, und einer ein Stück weiter rechts,
dann wird geguckt, ob einer der Sensoren heller ist als der Mittlere, wenn ja wird der Mittlere auf die Position des helleren gedreht
(sind beide heller, einfach der hellere von beiden)

der Nachteil an der Idee ist aber, dass wenn alle Sensoren ungefähr gleich dunkel sind
(da das Licht zB von der gegenüberliegenden Seite kommt)
findet er es nicht

wenn es mehrere Lichtquellen gibt, funktioniert das ganze natürlich sowiso nicht


am besten wär ein teil machen das sich immer dreht, und nach einem bestimmten winkel den wert speichert,
dann dreht sich ein anderer teil, der Kopf zu der hellsten stelle
und passt sich auch immerwieder an

Goblin
08.07.2006, 14:56
naja da sind aber meine vorraussetzungen nicht passend. ich hab nur 2 sensoren hier. wollte nicht extra was bestellen sondern mit den teilen die ich hier hab was lustiges machen. dass es bei mehreren lichtquellen nicht funktioniert glaub ich nicht, wenn man das mit der skalierung so anpasst, dass er immer auf die hellste stelle dreht. wenn das licht genau von der anderen seite kommt musst halt eine kontrollierte referenzfahrt gemacht werden. wenn er einmal komplett rumgedreht hat und immernoch kein licht gefunden hat, kann man immernoch von völliger dunkelheit ausgehen. das was du zuletzt geschrieben hast versteh ich nicht ganz. winkel kann man nicht speichern, weil kein wert für den winkel vorliegt. der motor wäre ein normaler getriebemotor ohne jegliches feedback

HannoHupmann
08.07.2006, 14:58
Das ganze geht mit einem Sensor.

Wie?

Ganz einfach, einen Stepper um 360° drehen, die Position des höchsten Werts speichern und nach der drehung ausgeben und sich freun.

Wenn du es Dynimisch machen willst, also dauernd kucken ob es nicht noch hellere Stellen gibt, hilft es den Kopf einfach ein bischen nach links und rechts zu drehen und zu schauen ob nich immer in der Mitte der hellste Punkt ist.

Abgesehen davon, wenn du nie einen wert als gleich ansiehst ist immer einer ein bischen grösser als der andere, sobald er sich um ein paar Grad gedreht hat ist der andere Wert aber jetzt grösser und er dreht sich wieder zurück. Der Kopf wird ständig in Bewegung bleiben und sich in einem sehr kleines Intervall hin und her drehen.

PICture
08.07.2006, 15:11
Hallo Goblin!

Das Thema finde ich interessant, deswegen melde ich mich zur Diskussion. :)

Als Minimalist stelle ich mir das viel einfacher vor. Ich würde nur einen Lichtsensor nehmen. Sein Sehwinkel würde auf beiden Seiten durch senkrechte Platten beschrenkt, so, dass die Höhe einer Lichtquelle nur geringen Einfluss hätte.

Das sollte änlich wie der scales beschrieben hat funktionieren. Der Unterschied wäre, dass wenn beim Drehen die Lichtintensität abnimmt, wird die Drehrichtung gewechselt. Der Kopf sollte sich also immer Richtung höhere Intensität drehen oder auf max. stehen bleiben.

Wenn er steht und die Intensität sich geändert hat, fängt er die Suche wieder an. Somit (hoffentlich) sollte er in der Lage sein beweglichen Lichtquellen zu folgen.

Wenn bestimmte Intänsität einer Quelle gewählt wird, sollten mehrere ungleiche Lichtquellen auch kein Problem sein.

Bei Dunkelheit sollte der Kopf in bestimmten Zeitabständen eine volle Umdrehung machen um evtl neue Lichtquellen zu finden.

MfG

scales
08.07.2006, 16:23
@Goblin:

nach meiner unten erwähnten Methode brauchst du sowiso nur einen,
und ich denke das wird auch die beste sein

Goblin
08.07.2006, 17:11
erstmal: scales und picture, hab ihr heute wirklich beide geburstag??? wenn ja, http://www.internetboom2.de/freeboard/board/smile/dance.gif Glückwunsch!

zweitmal: das mit einem sensor ist ne super idee. werd ich so machen. ich hab keinen stepper (hab schon einen, wäre von der ansteuerung her aber oversized) sondern nen getriebemotor. deswegen muss das ganze wohl "open loop" gehen. ich dachte mir eine kombiation aus drehen und schwenken. auf eine vierteldrehung genau sollte man einen getriebemotor schon einstellen können. er macht nun eine referenzfahrt um 360° und merkt sich in etwa die stelle wo der höchste wert war. bewegen wir den motor einfach über impulse, die gezählt werden. dann fährt er zu der stelle zurück und beginnt mit dem schwenken, so wie es hanno beschrieben hat. wenn dann die hellste stelle gefunden ist, wird der helligkeitswert überwacht. wenn er sich um einen bestimmten wert ändert heisst das evtl, dass der helle punkt sich verlagert hat (sonne z.b.). dann wird wieder geschwenkt bis der hellste punkt eingestellt ist. hab ich dann nochwas übersehen?

scales
08.07.2006, 18:58
ich denke er sollte schon wenigstens in bestimmten Zeitabständen, wenn nicht einfach die ganze Zeit überprüfen, wo der hellste Punkt ist

woher weis man ob nicht wo anders ein hellerer Punkt erscheint, während man immernoch am gleichen, dunkleren hängt


erstmal: scales und picture, hab ihr heute wirklich beide geburstag

wie kommst du darauf, dass ich geburtstag hab?

PICture
09.07.2006, 04:22
Hallo Goblin!

Ich hatte wirklich Geburtstag und bedanke mich bei Dir herzlich für die Glückwunsche.

Ich gehe davon aus, dass es kein Labormessgerät, das auf Sekunde (eines Grades) genau die Position der Lichtquelle orten muss, eher ein "inteligentes" Spielzeug, seien sollte. Deswegen finde ich Dein Konzept aus dem letzten Beitrag realistich und umsetzbar.

Das mit der Impulsteuerung des Motors ist unnötige Komplikation der Steuerung, da Du selber "open loop" genant hast. Der Kopf sollte nur vom Fotosensor gesteuert werden. Er soll bei einer während der "Tastumdrehung" registrierten und gewählten Helligkeit, bei zweiter Umdrehung einfach stehen bleiben, die Position (als Winkel) ist doch egal.

Wenn immer max. Heligkeit gefolgt seien sollte, muss nur ein Wert gespeichert werden. Um unnötigen Energieverbrauch für ständiges Schwenken durch den Motor zu reduzieren, ist nur eine Toleranz des Wertes (nach unten) nötig.

Wenn die Reaktion auf neue Lichtquelle zeitlich definiert wird, muss der Kopf immer nach Ablauf der Zeit sich einfach wieder "Umschauen", also eine volle "Tastumdrehung" durchführen, um neues Maximum zu registrieren.

Ich wünsche Dir viel Spass und Erfolg bei der Umsetzung und werde gespannt das Thema weiter beobachten. :)

MfG

Goblin
09.07.2006, 10:01
wie kommst du darauf, dass ich geburtstag hab?


Ganz einfach: Unter den Beiträgen eines Forumsmitglieds sind immer jedemenge Buttons. Einer davon ist nur am bei der Registrierung eingetragenen Geburtsdatum zu sehen. Sieht so aus: https://www.roboternetz.de/phpBB2/templates/fisubsilversh/images/icon_birthday.gif
Und jetzt rate mal was er bedeutet? RICHTIG! Naja und dieser Button war halt bei euch beiden unter den Beiträgen gestern.


Hallo Goblin!
Ich gehe davon aus, dass es kein Labormessgerät, das auf Sekunde (eines Grades) genau die Position der Lichtquelle orten muss, eher ein "inteligentes" Spielzeug, seien sollte.


genau so ist es. wobei "intelligent" wahrscheinlich schon das falsche wort ist! :)



Er soll bei einer während der "Tastumdrehung" registrierten und gewählten Helligkeit, bei zweiter Umdrehung einfach stehen bleiben, die Position (als Winkel) ist doch egal.


Also Umdrehung machen und nicht Winkel sondern Helligkeitswert speichern. Ja, macht Sinn.



Wenn die Reaktion auf neue Lichtquelle zeitlich definiert wird, muss der Kopf immer nach Ablauf der Zeit sich einfach wieder "Umschauen", also eine volle "Tastumdrehung" durchführen, um neues Maximum zu registrieren.


Das mit der zeitlichen steuerung macht mich irgendwie nicht ganz glücklich, weil das dann zu "gesteuert" aussieht. also es ist ja dann immer quasi ne feste abfolge. zu wenig "intelligenz", um das wort vom anfang aufzugreifen. deswegen überleg ich anhand welcher parameter man diese weitere orientierungsfahrt initiieren könnte. scales hat schon recht, wenn man sich nur an der absinkenden helligkeit orientiert, weiss man nicht, ob anderswo ne hellere lichtquelle aufgetaucht ist. da müsste man evtl mal szenarios überlegen, in denen sowas passiert. ursprünglich wollte ich das teil ja ins auto aufs amaturenbrett stellen. wäre evtl ganz lustig. allerdings ein anspruchsvolles szenario. in einem raum mit 1 lampe und 1 fenster wirds da wohl einfacher. für diesen fall eignet sich vllt ein zweiter sensor, der nach oben "schaut" und so quasi die gesamtlichtstärke misst. dieser sensor könnte dann vorgeben wann sich im szenario lichttechnisch was ändert.

PICture
09.07.2006, 10:16
Hallo Goblin!

Ich habe eine nächste "verrückte" Idee. Wäre es möglich den zweiten Lichtsensor als Abtaster der "Lichtumgebung" zu verwenden ?

Er sollte sich ständich "drehen", wenn der Kopf auf bisher helligste Lichtquelle fixiert ist und die neue vielleicht "interresante" Lichtquellen zu finden. Dann würde sich der Kopf nur bei Änderung in der Lichtumgebung bewegen mussen. Vielleicht geht es auch ohne Bewegung mit irgendeinem kugelförmigen Spiegel ?

Na ja, ich habe sehr viele "verrückten" Ideen und Du musst entscheiden, ob diese für Dich brauchbar wäre.

MfG :)

Goblin
09.07.2006, 13:03
Ähm ist das nicht in etwa das was ich oben schon geschrieben habe? Doppelpost?