PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ASURO: Linienverfolgung



Andun
27.07.2005, 00:37
Hi

Also ich hab meinen Asuro ja nun auch schon seit ein paar Tagen und nun wollte ich auch mal die Linienverfolgun probieren.

Also hatte ich ein einfaches Script hier irgendwo gefunden, was einfach nur immer zum dunkelsten hin steuert. Allerdings dachte ich mir, dass muss doch genauer gehen und ich wollte also einen festen Wert haben, bei dem ich immer sagen kann: Hier ist ne schwarze Linie.

Ich hab es mir schon fast gedacht, und hier lesen kann man es ja auch schon: Das Umgebungslicht ist zu stark und die Front-LED zu schwach. Die Werte sind also deutlich aber nur relativ und nicht absolut.

Ich hoffe ihr wisst was ich meine. Dazu könnt ihr auch mal meine im Aufbau befindliche Page anschauen: http://www.andun-roboter.de.vu Da dann auch Asuro-linienverfolgung

Wie ihr an den dortigen Diagrammen seht, bringt also auch die (ich gebe zu: nicht so gute) Abschirmung nicht viel. Es muss also als erstes wohl eine stärkere Front LED her.

Nun meine Frage: Ich hab in der Anleitung schon geschaut aber nichts gefunden, also keine Angabe. Gibt es bei LED`s irgendwas, außer der größe, auf das ich achten muss?

Also ich denk da vielleicht an Durchlaßstrom oder so was. Da war doch so was, oder? In der Anleitung steht immer nur D11: Front LED.

Also: Gibts da ne Spezifikation oder so was? Worauf soll ich achten, wenn ich ne größere Birne ( :D ) suche. :D

So long

Andun

waste
27.07.2005, 18:51
Hallo Andun!

Grundsätzlich würde Streulicht nicht schaden, wenn es von allen Seiten gleichmässig kommt. Ich habe einmal meinen Asuro ohne der FrontLED eine Linie verfolgen lassen, das hat auch funktioniert. Das sieht man auch an deinen Diagrammen, mit Streulicht ist das Signal sogar noch stärker.
Das Problem ist einseitiges Licht oder Schattenwurf. Eine Ummantelung der Dioden hilft da wenig, denn das Streulicht wird auch vom Untergrund reflektiert. Die Abschirmung müsste so gross sein, dass der gesamte von den Sensoren erfasste Untergrund im Schatten liegt.

Zu den Daten der FrontLED kann ich dir auch keine genauen Aussagen machen, aber bis zu 40mA sollte die schon verkraften. 40mA ist auch der max. zulässige Ausgangsstrom des µC-Ports. Im Moment sind es etwa 15mA die durch die LED fliessen. Falls du eine stärkere Diode mit höherem Strom betreiben willst, dann solltest du einen Transistor dazwischen schalten, damit der Ausgangsport nicht überlastet wird.

Gruss Waste

Andun
27.07.2005, 18:53
Ok. Danke.

Ich hatte auch vor mir noch ne bessere Abschirmung zu basteln. Ich schau dann mal.

Andun

Hunin
06.08.2005, 23:02
Und? Bist du inzwischen weitergekommen Andun?

Andun
07.08.2005, 09:33
Ne, noch nicht. Da ich im Moment erstmal mit der Motorsteuerung bastle. Auch muss ich mir erstmal ein wenig Plastik Karton oder so anschaffen.

Ich hab aber schon vor, dass zu verwirklichen.

Also ne Abschirmung und wenns dann immer noch nciht geht, auhc ne hellere LED.

Andun

hosti
07.08.2005, 09:42
darf man fragen wie du das diagramm erstellt hast? :-b

Andun
07.08.2005, 09:48
Ja. Klar. Darf man. :D

Auf meiner Seite (siehe Sig.) unter Liniensensor siehst du ja ein kleines Programm. Das liefert mir im Terminal immer den linken und den rechten Wert der Sensoren. Also z.B. so:
56 | 90
57 | 92
...
Diese Werte hab ich dann einfach in eine .txt Datei gespeichert und in Excel (XP) importiert und als Trennzeichen das | angegeben. Dann kann man in Excel ja ganz einfach Diagramme zeichnen lassen.

Ich hoffe man hats verstanden. :D

Andun

Hunin
07.08.2005, 22:02
Schreib bitte wieder, wenn du weiter bist. Ich bin echt gespannt wie das hinbekommst. Event mit Foto?

Andun
08.08.2005, 00:18
Jup. Werde ich tun. :D

payce
08.08.2005, 12:46
Also ich hab die Linieneinheit wie folgt erfolgreich gemoddet (der Sensor gibt bei einem ca. 1cm breiten Eddingstreifen Werte zwischen 30 und 120 aus!! Bei Licht entsprechend etwa 50 und 140).

Erstens: Dein "Strohhalmtrick" etwas besser: Benutz Schrumpfschlauch (NICHT schrumpfen! Einfach nur draufstecken). Und zwar soviel, das gerade noch ca. 0,5-1 mm von der IR-Diode zu sehen ist. Da eignet sich der hier: SDH 6,4 SW oder der hier: SDH 4,8 SW ganz gut (Reichelt-Bestellnummern).

Zweitens: Andere LED, stimmt! Ich hab ein wenig rumprobiert und mit der hier die besten Ergebnisse erreicht: LED 1,8MM SRT
Am besten du schmirgelst noch etwas die Rundung ab (die ist ja zum fokussieren gedacht). So das etwa noch 0,5 mm vom Steg stehen bleiben. Dann hast du eine schon diffuse Ausleuchtung und die IR-Dioden reagieren schön regelmäsig. Bei helleren LEDs hab ich gemerkt, das der fokusierte Strahl (teilweise im 15° Bereich!) Probleme macht, da eine IR-Diode immer meint heller zu sein als die andere, egal welche Position gerade tatsächlich vorhanden ist.

Weiß schon, ist alles a weng blöd zu beschreiben. *pls stand by* Bild kommt gleich *Digicam auspack - Asuro anschmeiß*

Gruß pay.c

payce
08.08.2005, 12:53
So, hier etz zwei Bilder:

Erstens die schön regelmäsige Ausleuchtung der Fläche und zweitens die abgeschmirgelte LED + die beiden Schrumpfschläuche (nicht geschrumpft).

Gruß pay.c

Andun
08.08.2005, 14:41
Stimmt. Du hast es wirklcih etwas elleganter gelöst als ich.

Ich werde mir noch überlegen, wie ich das jetzt bei mir noch weiter mache, weil mich stört halt vorallem, dass je nach Licht eine Dunkle Linie einen anderen Wert hat. Mein Endziel ist eigenlich, dass ich bei einem bestimmten Wert immer genau sagen kann, ob weiß oder schwarz. Egal ob viel Umgebungslicht oder keins.

Aber dafür muss ich glaub ich noch ne Menge tun.

So long

Andun

Hunin
11.08.2005, 13:35
Irgendwie klappt das mit den beiden Bildern bei mir nicht. Liegt das an meinem Browser oder sind die Bilder tatsächlich nicht verfügbar??

Nachtrag: Sorry, nun klappt es *fg*

waste
11.08.2005, 18:44
Übrigens, das Umgebungslicht kann man auch per Software unterdrücken. Ich mach das folgendermassen:
Zuerst das Umgebungslicht mit ausgeschalteter FrontLED messen und merken, dann mit eingeschalteter FrontLED nochmal messen und von diesem Signal die erste Messung (nur Umgebungslicht) abziehen.
Von der normalen Messung wird also der durch das Umgebungslicht verursachte Wert abgezogen und damit kompensiert. Im Prinzip ist es dasselbe wie bei den IR-Detektoren, die mit 36 kHz takten.
Ein Beispielcode ist hier:

int i, don, doff;

FrontLED(OFF);
LineData(lineData);
doff = (lineData[0] - lineData[1]);
FrontLED(ON);
LineData(lineData);
don = (lineData[0] - lineData[1]);
i = don - doff;

Ohne diese Kompensation hatte ich sehr stark vom Umgebungslicht abhängige Werte. Je nach Stärke des Umgebungslichts waren die Werte bis zu 5mal höher als im Dunkeln. Jetzt bleiben die Werte auch mit Umgebungslicht auf dem Level wie im Dunkeln. Bei mir ist die Differenz zwischen schwarz und weiss jetzt ziemlich konstant und liegt bei etwa 60. Insbesondere im Betrieb mit einer Regelschleife hat das den Vorteil, dass die Verstärkung nicht mehr schwankt.

Bei zuviel Umgebungslicht versagt auch diese Methode, da hilft nur abschatten.

Probiert es mal aus, vielleicht erspart es einen Umbau.

Gruss Waste

Andun
11.08.2005, 19:01
Oh man! Bin ich blöd! DIe Idee ist ja wohl sowas von simpel. Nur daruf kommt ja immer nicht. Das regt mich jetzt wirklich auf.

Ich werde deine Methode bei mir mal implementieren.

Sternthaler
18.08.2005, 22:37
Hallo waste,
hier muss ich leider nachfragen was für einen Zweck dein Programausschnitt hat.
Als Ergebniss scheint ja i wichtig zu sein. Meiner Meinung nach sollte das aber immer 0 sein. (Unter der Bedingung, dass die Sensoren identisch sind.)

Meine Idee ist folgende:
- Asuro steht auf heller Fläche:
Licht AUS
messen
doff = Sensor links - Sensor rechts ---> Ergibt 0 bei identischen Sensoren auf unifarbigen Untergrund
- Asuro steht auf dunkler Fläche:
Licht AN
messen
don = Sensor links - Sensor rechts ---> Ergibt 0 bei identischen Sensoren auf unifarbigen Untergrund

Somit wird i bei don - doff auch immer 0!

Schöne Grüße von Sternthaler

waste
18.08.2005, 23:04
Hallo Sternthaler,

in dem Fall soll auch 0 heraus kommen.

Zum Tragen kommt das erst wenn der Sensor nicht mehr mittig auf der Linie ist. Am besten verständlich ist es wenn du die Werte doff, don und i ausliest und dabei mit der Linie und dem Umgebungslicht variierst und auch einseitigen Schattenwurf austestest.

Gruss Waste.

Sternthaler
20.08.2005, 02:00
Hallo nochmals
Wenn ich Andun richtig verstanden habe, dann möchte er (ich kann das auch gebrauchen) einfach erkennen was Schwarz ist und nicht ob er mittig auf einer Linie steht die eine andere Helligkeit hat als die Linienumgebung.
Aus diesem Grund hatte ich oben die Idee mit dem Asuro auf heller bzw. dunkler Fläche. Ob da jetzt noch Umgebungslicht hinzukommt sollte eigendlich für diese Fragestellung egal sein, da dann die dunkle Fläche etwas heller und die helle Fläche halt noch heller wird. Aber ganau das soll ja die Software 'irgendwie' wegrechnen.

@Andun
Vielleicht nochmal die Frage:
Willst du erkennen was hell bzw. dunkel ist wenn du den Asuro auf eine FLÄCHE stellst, oder soll er wie ja der Titel deines Eintrags lautet eine Linie verfolgen können?

Mir hat die Hardwarelösung von payce jedenfalls bei der Frage nach schwarz oder weiss besser geholfen.


Schöne Grüße von Sternthaler

Andun
20.08.2005, 12:10
Moin

Also als erstes wollte ich natürlich nur der Linie verfolgen. Das finde ich aber nicht sehr zufrieden stellend, da ich dem Bot, dann nciht einfach sagen kann, fahr solange bis du ne Schwarze Linie findest. Im normalen Zustand müsste ich ihm also sagen, fahr bis du einen Helligkeitsunterschied von z.b. 50 feststellst.
Jetzt kommt aber das Problem:
- Licht/Schatten verfälschen das Ergebnis
- Was ist wenn cih schon auf schwarzt starte???

Also wollte ich möglichst den ersten Faktor ausschalten indem ich die Sensoren abschirme.

Ich will dann nämlich sagen können, fahre bis du einen Helligkeit von xyz findest und dann weißt du dass du auf schwarz stehst und nciht nur, dass es vielleicht Schatten ist, oder sonst was.

(War das jetzt verständlich???)

Andun

P.S.: Ich kann im Moment leider nciht weiter machen am Asuro da meine alte Kiste mit 800 Mhz sich anhört als ob der Lesekopf gegen die Festplatten wand schlägt. Den lass ich lieber solange aus, bis ich ne gute Möglichkeit (und Zeit) habe, ihn back zu uppen. ( :D ) Dann kann ich wohl erst weiter machen. Jetzt hock ich nämlich am PC von meinem Bruder.

Andun

Sternthaler
24.08.2005, 18:54
@Andun
OK, Fragestellung habe ich jetzt so verstanden, dass du den xyz-Helligkeitwert kennen willst, der dir ohne wenn und aber eine dunkle Fläche mitteilen soll. (Bzw. Der Wert ist noch 'dunkler')

Dies geht so nicht. (Ich habe da zumindest keine Idee)

Wenn du aber den Asuro auf die Suche nach einer dunklen Linie schicken möchtest, dann hätte ich folgenden Vorschlag:

Merker-Flag auf FALSE setzen. /* wird im Ablauf klar */
Helligkeit messen und merken in Variable 'neu'
LOOP
--Asuro fahren lassen
--Wert aus 'neu' umkopieren nach 'alt'
--Helligkeit messen und merken in Variable 'neu'

--IF Merker-Flag ist FALSE UND 'neu' ist (sagen wir mal) 50 dunkler als 'alt'
----/* Hier haben wir etwas gefunden, was definitiv dunkler ist */
----Merker-Flag TRUE setzen
----Weg-Zaehler auf 0 setzen.
--ENDIF

--IF Merker-Flag ist TRUE
----/* nun den zurueckgelegten Weg über die Odometrie messen */
----Weg-Zaehler wird jetzt größer
--ENDIF

--IF Merker-Flag ist TRUE UND 'neu' ist (sagen wir mal) 50 HELLER als 'alt'
----/* Hier haben wir jetzt das Ende von Dunkel gefunden.*/
----Merker-Flag FALSE setzen
----IF Weg-Zaehler > irgendetwas-1 UND Weg-Zaehler < irgendetwas-2
------/* Hurra, wir haben wahrscheinlich eine schwarze Linie gefunden */
------/* irgendetwas-1 und irgendetwas-2 müssen die Breite deiner zu
--------suchenden Linie darstellen.
--------Wenn die Linie also 1 cm breit ist und wir für diesen cm sagen wir
--------mal 20 Takte an der Odometrie benötigen, dann sollte
--------irgendetwas-1 etwas kleiner als 20 sein und irgendetwas-2 sollte
--------eine Ecke mehr als 20 haben (vielleicht 40), da wir die Linie ja auch
--------diagonal schneiden können und sie damit breiter aussieht.
--------(wie groß irgendetwas-1 und irgendetwas-2 tatsächlich seinen
----------müssen, weiss ich nicht, da ich mich noch nicht um Wege
----------gekümmert habe.)
------*/
------/* Nun musst du aber ein Stück zurückfahren, da u die Linie ja gerade
--------verlassen hast. Ausserdem musst du den Asuro 'nur noch' auf die
--------Linie drehen. Da habe ich schon wieder keine Idee.
------*/
----ELSE
------/* Hier war unser dunkler Bereich entweder zu schmal oder zu breit.
--------Wir aber, wissen, dass wir wieder auf etwas hellem stehen.
------*/
----ENDIF
--ENDIF
ENDLOOP


T'schuldigung, ich habe keine Ahnung wie man formatieren kann :-(


Was hier noch fehlt, ist dass du den Asuro auf eine dunkle Stelle gesetzt hast. Bis jetzt wurde nur nach einem HELL-DUNKEL-Übergang gesucht.
Zur Lösung benötigst du einen weiteren Merker, der dir überhaupt erst mal mitteilt, dass ein relevanter Helligkeitswechsel stattgefunden hat. (Egal ob von hell nach dunkel, oder anderherrum)
Wenn der Wechsel von hell nach dunkel da war kannst du wie oben beschrieben vorgehen. So zumindest die Idee.
Wenn der Wechsel von dunkel nach hell als erstes erfolgte, kannst du ja erst mal ein Stück rückwärts fahren, wieder ab dem zwingend kommenden hell-dunkel-Übergang, wieder den Weg messen, und hoffen, dass jetzt ein dunkel-hell-Übergang in der erwarteten Strichstärke da ist. Nun würdest du aber den Strich in Fahrtrichtung vor dir haben un müsstest beim drehen auf den Strich dies berücksichtigen.
Wenn aber der erwartete dunkel-hell-Übergang nicht nach der erwarteten Weglänge gekommen ist, weisst du, dass du auf DUNKEL stehst.
Jetzt solltest die den Asuro ein bisschen drehen, wieder nach vorne fahren und das Spiel von vorne beginnen.

Viel Glück dabei. Ich werde dein (hoffentlich erfolgreiches) Ergebnis natürlich kopieren.


Schöne Grüße von Sternthaler

Andun
24.08.2005, 21:31
Moin

Nach gründlichen Lesen finde ich deine Idee sehr interessant. Das Problem ist hier natürlich wieder das ganze dann in Code zu bekommen ohne nen PC hinten dran hängen zu müssen. :D Das müsste aber machbar sein. :D

Was mich allerdings immer noch mehr stört, ist, dass der Asuro hier erstmal ne Weile fährt und ja eigentlich einfach nur schaut, "was haben wir denn alles für Werte, und was ist davon jetzt dunkel und was hell".
Diese Idee, bzw. Konzept ist bestimmt gut, aber wahrscheinlch nur als 2. Schritt meiner Meinung. Als erstes will ich wie gesagt den Asuro Hardwareseitig optimieren.

Deine Idee kommt aber auf jeden Fall auch auf die Ausprobieren Liste.

Im Moment komm ich aber leider nicht vorwärts mit dem Asuro, da ich, wie in meinem oberen Post steht, Rechnerprobleme habe und hier bei meinem Bruder will ich ungern den Platz blockieren. Da muss ich noch ran.

Also wenn es weiter geht werdet ihr informiert.

Lord-Andun

Ewi
25.08.2005, 13:15
Hallo Andun,

ich verstehe Dich so,
dass Du die Reflexionseigenschaften des Untergrundes
ausreichend konstant bestimmen willst, während der Asuro fährt und
dabei evtl. sich die Lichtverhältnisse ändern, weil die Lampe ausgeht, er unter'n Schrank fährt...


Wie wäre es mit einer Erweiterung deines obigen Ansatzes:

Wiederhole solange benötigt:
{1. Diode aus
2. Lichtwerte messen und unter "UmgebungslichtAktuell" merken
3. Diode an
4. Lichtwerte messen und unter "DiodenlichtAktuell" merken
5. ReflexionAktuell ::= DiodenlichtAktuell - UmgebungslichtAktuell
6. Verwerte: ReflexionAktuell
}

ReflexionAktuell, denke ich, könnte relativ invariant gegen das Durchfahren
von Schatten oder Lampenausfall sein.

Tschüss
ewi

Winne
25.08.2005, 13:45
Hallo, bin neu hier!!! Habe mir den Asuro gekauft und am Sonntag zusammen gebaut und Roboter funktioniert soweit. Mit dem Compiler komm ich mittlerweile auch klar.

Bei der Linienverfolgung schwingt sich der Roboter auf und verlässt das "Versuchsgelände" oder macht kreise.

Wie breit soll (muß) die Linie sein? Mit welchen Winkeln soll der Roboter noch klar kommen? Gibt es einen Versuchsaufbau für diese Aufgabe?

Gruß Winne

Andun
25.08.2005, 15:47
Wie wäre es mit einer Erweiterung deines obigen Ansatzes:

Wiederhole solange benötigt:
{1. Diode aus
2. Lichtwerte messen und unter "UmgebungslichtAktuell" merken
3. Diode an
4. Lichtwerte messen und unter "DiodenlichtAktuell" merken
5. ReflexionAktuell ::= DiodenlichtAktuell - UmgebungslichtAktuell
6. Verwerte: ReflexionAktuell
}


Ja. Das ist ja auch so ungefähr das was waste geschrieben hatte. Das steht also schon recht weit oben auf meiner Liste. :D

@Winne: Also es ist natürlich davon abhängig wie der Roboter eingestellt ist, aber wenn die Linie 2-3 cm dick ist und am besten nicht mehr als 45° auf einmal knickt, dann gibts keine Probleme. Wenn du das Ganze kleiner haben willst, dann musst du den Bot erstens wohl langsamer drehen lassen und 2. in "sensibler" einstellen. Also dass er sich schneller dreht, aber halt insgesamt nciht so schnell ist.

Andun

Sternthaler
25.08.2005, 18:08
@Winne
Wenn du dich mit (höherer) Mathe auskennst, dann besuche doch mal:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=11818
Dort ist waste sehr fleißig was die Theorie zur Reglung angeht. Ich denke, er wird dort auch noch eine umsetzbare Lösung anbieten.
P.S.: Ich selbst fahre auf 1-cm-Linie, mit maximalem MotorSpeed von 200. Dann bleiben noch 55 Einheiten für die Reglung um mal zwischendurch eine Seite schneller zu machen. Hat (auch Dank waste) bis jetzt gut geklappt.

@Andun @Ewi
hmm, hmm, Das mit dem messen mit und ohne LED-Licht ist ja tatsächlich interessant, wenn ich das Umgebungslicht bzw. den Reflektionsanteil vom Boden relativieren möchte. Aber hattest du Andun, nicht den Wunsch den xyz-Wert für 'Schwarz' zu bestimmen, um damit eine Linie zu finden?

Beim Messen mit und ohne LED-Licht bekommst du ja nun 2 Werte.
Bei keinem der beiden Werte kannst du sagen ob es nun xyz-Schwarz ist.
Wenn du diese Werte also wie in den Vorschlägen von waste und Ewi subtrahiert erhälst du ja keinesfalls eine weitere Bedeutung, nähmlich den xyz-Wert, dieser Berechnung.


Schöne Grüße von Sternthaler

Andun
25.08.2005, 18:17
Ja, du hast schon recht. Wenn ich aber einmal mit LED an und einmal mit LED aus messe, dann habe ich den Wert den mir die LED an "Helligkeit" erzeugt gemessen. (Ist doch klar warum, oder soll ich das nochmal erklären? )

Das ist eigentlcih schon nciht schlecht. Jetzt kann ich damit nämlich feststellen, ob viel von der LED über den Fußboden wieder zurück kommt. Dafür muss aber natürlich der Sensor gegen die direkte Einstrahlung von der LED abgeschirmt werden, wo wir wieder bei meiner Ausgangsidee wären und die ich zu optimieren zu versuche.

Also ich denke mal, dass man so schon ein gutes Ergebnis erreicht, welches ich auch umsetzen werde wenn mein Rechner wieder läuft.

Andun

Ewi
25.08.2005, 20:06
Ja. Das ist ja auch so ungefähr das was waste geschrieben hatte. Das steht also schon recht weit oben auf meiner ListeOh, hab' ich nicht mitbekomme, beim kurzen Reinschauen.
Wollte keine Redundanz schaffen.

Aber mir kam es auf die während der Fahrt andauernde Wiederholung der
Differenzbestimmung mit aktuellen Messungen an.
Bei einer einmaligen Bestimmung des Umgebungslichtes kommt man nicht zurecht,
wenn der Robo durch Schatten eine Reflexionseigenschaft verfolgen soll.

Durch die immer wiederholte frische Bestimmung des am aktuellen Ort
herrschenden Umgebungslichtes in der Bodenreflexion,
erhält der Robo so - für gleiche Bodenfärbungen - relativ konstante Reflexionseigenschaften.

@Sternthaler:
Was ist "Schwarz"? Die Stelle am Boden, mit den geringsten Reflexionen,
wenn die Reflexion des Umgebungslichtes rausgerechnet ist.

Also: Asuro läuft los und bestimmt permanent die Reflexionsdifferenz.
Die Stelle, an der die Differenz beim Fahren ein Minimum erreicht,
könnte die schwarze Linie sein.
Jetzt in Liniencheckmodus:Testen, ob daraus eine Linie erkennbar ist:
etwas schmales, langgestrecktes, das in der Reflexionsdifferenz innerhalb
eines Toleranzbereiches bleibt.

Bei Linie erkannt: "verfolgen"
Bei nicht erkannt weitersuchen gehen.

Lässt man ihn auf der Linie starten, stellt er "sofort" Reflexionsminimum fest
und kann sie verfolgen und das auch, wenn der Raum während der
Verfolgung vollständig verdunkelt wird, da durch die Differenzbildung der
Reflexionswert "konstant" bleibt.

Durch die Differenz erhalte ich eine "Invarianz" gegen Umgebungslicht, also
einen Wert,
welcher gut mit der schwarzen Linie assoziiert werden kann.
Ich erhalte keine neue Info aber mache die Info, die schon d'rin ist, erst erkennbar/nutzbar.


Tschüss
Ewi

Ein paar Rechtschreibkorrekturen

Andun
25.08.2005, 23:03
Also du hast es jetzt wirklich gut zusammen gefasst. So will ich das auch machen. Du hast recht. In wastes beitrag kam nicht wirklich raus, das öfters zu machen. Scheint aber wohl schon ganz gut zu sein, wenn man das vielleicht immer dann macht, wenn man ne größere veränderung feststellt.

Also ich muss jetzt nur den Asuro wieder an den Rechner bekommen und dann wirds auch bei mir weitergehen.

Andun

Sternthaler
26.08.2005, 01:41
Oh, Verwirrung!
Jetzt habe ich es auch verstanden.

Deshalb habe ich mal ein Word-Dokument mit 10 verschiedenen grauen Feldern versehen.
Nun habe ich den Asuro mal die Graustufen lesen lassen.
Dabei habe ich doch tatsächlich eure mehrfachen Hinweise (scheint bei mir um diese Uhrzeit ganz wichtig zu sein) jetzt endlich berücksicht und jeden Grauwert ohne Asuro-LED-Beleuchtung und mit LED-Beleuchtung gemessen.
Das war Teil 1.
Das Ganze habe ich dann 8 mal mit verschiedenen Beleuchtungen gemacht. Somit habe ich nun Daten, bei denen jeder Grauwert auch noch mit 8 verschiedenen Beleuchtungsstärken (kann man hierzu auch Schatten sagen? Ihr wisst ja jetzt, dass ich manchmal komische Fragen habe.).

Als Auswertung ist das ganze mal wieder in EXCEL gelandet.

UND NUN KOMMT DER KNALLER. DER XYZ-Wert läßt sich ermitteln. (Habe ich nie im Leben mit gerechnet :-( )
Schwarz, also der gesuchte xyz-Wert ist bei meiner Hardware < 35.
Ergibt sich tatsächlich aus Sensorwert-mit-LED-an minus Sensorwert-mit-LED-aus. (Nur ein mal würde Asuro sich vertun bei meinen Daten)

Im Anhang mal wieder Programm und Beiwerk.


Schöne Grüße von Sternthaler

Andun
26.08.2005, 08:35
Wow. Das gefällt mir wirklich äußerst gut!!! DAs war bestimmt nen haufen Arbeit.

Achja, in der Excel, das 2. Blatt, das ist doch eigentlich nur das unvollständige 1. , oder? Naja, ist aber acuh egal, das wichtigste steht dann ja auf dem 3..

Achja, hast an deinem Asuro, den auch eine Abschirmung vor die Sensoren gemacht?

Also cih denke dieses Programm hier ist sehr gut und sollte dann wahrscheinlich auch von jedem mal verwendet werden, da es doch bestimmt teilweise andere Werte liefert.

Aber RESPEKT!!!

So long

Andun

waste
26.08.2005, 11:38
Hallo Sternthaler,

eine sehr schöne Analyse von Dir. Eine Visualisierung macht doch vieles deutlicher.

Noch ein Tipp: Die Messungen mit LED ON und LED OFF sollten unmittelbar hintereinander folgen, da sich sonst Netzbrumm der Lampen noch auswirken kann. Die Lampen haben eine Helligkeitsschwankung mit der doppelten Netzfrequenz. Wenn nun gerade ON im Minimum und OFF im Maximum der Helligkeit oder umgekehrt gemessen wird, dann gibt es noch Fehler.

Gruss Waste

Andun
03.09.2005, 18:06
Moin

So, jetzt läuft(besser gesagt fährt) mein Asuro auch wieder. Ich hab jetzt auch mal das Subtraktionsverfahren zur Farbenbestimmung probiert und es gelingt eigenlich ganz gut. Schaut es euch einfach auf meiner HP http://andun.cybton.com/scripte/a-liniendetektor2.php direkt an. Ich bin zu faul hier alles nochmal zu tippen.

Andun

P.S.: Ein Einsatzgebiet für das geschaffte, wird sich auch noch irgendwie finden lassen. :D

Sternthaler
07.09.2005, 18:04
Die Lampen haben eine Helligkeitsschwankung mit der doppelten Netzfrequenz.
Erst mal danke für den Tipp.
Ich hatte den Sleep bewust eingebaut um ein 'blitzen' der LED zu sehen damit ich für diese Messreihe weiss wann ich den ASURO auf's nächste Feld setzen kann.

Jetzt aber die Idee, die Helligkeitsschwankunen von einer künstlichen Beleuchtung bewußt auszunutzen.
Wenn man eine zeitlang kontinuierlich ohne LED-Beleuchtung misst, dann müsste man ja die Schwankungen finden.
Somit hat man die Info im ASURO ob man im dunkeln, mit Sonnenlicht oder eben bei eingeschalteter Beleuchtung fährt.

Eventuelle Anwendung bei mir: ASURO verweigert den Dienst, damit ich mal früher in's Bett gehe :-)

Schöne Grüße von Sternthaler

waste
08.09.2005, 21:37
Hallo Sternthaler,

die Idee ist gar nicht so schlecht. Diese und bereits andere im Forum diskutierten Anwendungsmöglichkeiten des Liniensensors erlauben doch schon einen breiten Einsatzbereich, der über den eigentlichen Zweck hinaus geht. Hier mal eine Aufzählung, was mir so auf die Schnelle eingefallen ist:
einer Linie folgen
Abgrund z.B. Treppe erkennen
Untergrund durch Helligkeit/Reflexion zur Orientierung erkennen
Tageslicht oder Kunstlicht erkennen
Richtung eines Lichts erkennen und z.B. folgen
Bewegungen im Raum durch Änderung der Helligkeit erkennen
Strichcode erkennen

Die Liste darf gerne mit weiteren Spielarten ergänzt werden.

Gruss Waste