Quazi als fortsetzung dieses Threads Beitrag "Algorithmus für Linefollower mit 5 Sensoren" bin ich auf einpaar Problematiken gestoßen, die dieser LF: http://www.seattlerobotics.org/encoder/200610/article2/index.php scheinbar nicht hat. Die Frage lautet jetzt wieso? Aktuelles: Ich baue gerade einen Linienverfolgunsroboter, wo die Motoren mit PID angesteuert werden sollen. Den PID Algorithmus schreibe ich in C auf einen ATmega644, der vorläufig mit 8 MHz internen Quarz betrieben wird. Problem bei den Sensoren, Detail: Im Bild ist das Problem recht gut zu erkennen. Die Wertigkeiten tauchen nämlich 2 mal auf. wenn der Sensor auf die Linie zukommt und wenn er wegkommt. Dh.: Wenn die Linie zukommt, so habe ich zB: sensorLinks0 = 0, sensorLinks1 = 30, sensorRechts0 = 0, sensorRechts1 = 0 Jetzt wird diese Wertigkeit (wie auch immer sie realisiert wird) dem PID übergeben. Soweit so gut. Jetzt nehmen wir an diese ausregelung reicht nicht, so kann es sein, dass wenn die Linie noch weiter nach links geht, ich nach einer Zeit wieder auf sensorLinks = +30 komme. ====> Wertigkeit ist nicht mehr linear und die erste Voraussetzung für den Regelkreis ist für die Katz! Also dachte ich mir eine Lösung aus und die Überlegung passt prinzipiell. Siehe Bild 2. (Hoffe die Idee ist selbsterklärend). Idee: Mit dem 1/0 Sensor weiß ich auf welcher Seite der Vollwertigkeitssensoren ich bin und somit rechne ich softwaretechnisch noch eine Korrektur dazu. Jedoch funktioniert das mit den Anordnungen nicht sehr gut weil die 1/0 Sensoren nicht den ganzen Bereich abdecken und es zu sozusagen größeren "Lücken" kommen könnte. Jetzt habe ich lange überlegt sowohl eine SW als auch HW-Technische Lösung zu finden, und habe einmal recherschiert und sehe, dass alle die das PID System verwenden keine ähnliche Problematik haben. Z.B.: http://www.seattlerobotics.org/encoder/200610/article2/index.php siehe Video PID (etwas weiter unten). Der verwendete Sensor den ich momentan habe ist der cny70. Das Problem gilt aber auch für andere Sensoren der Art. Meine Frage jetzt also: Wie macht so etwas richtig? Ich wäre euch sehr dankbar für Beiträge und Ideen. lg andy
Andy S. schrieb: > Die Frage lautet jetzt wieso? Die Sensoren werden so kalibriert, dass ein linearer Verlauf Signal-Distanz von der Mitte erhalten wird. Die Linie ist breiter als ein Sensor bzw. die Sensoren ausreichend schmal und eng genug für die Linie angeordnet. D.h. die Situation dass ein Sensor allein ein doppeldeutiges Signal (10%/10%) liefert, kommt nicht vor. Im Rahmen der HW "sehen" stets mehrere Sensoren die Line.
Ich denke dein Problem ist bei deinem Algo der zu große Abstand der Sensoren untereinander, ansonsten könntest du ja mithilfe der Nachbarsensoren die genaue Linienposition ermitteln und müsttest nicht auf die digitalen Sensoren zurückgreifen. Für dein Problem solltest du deshalb die Linie genau lokalisieren können, also entweder die Sensoren näher zusammen und damit rumrechnen, oder des Sichtbereich der Sensoren vergrößern (eventuell mehr Abstand zum Boden), damit sich die Sichtbereiche überlappen. :-)
Stefan B. schrieb: > Die Sensoren werden so kalibriert, dass ein linearer Verlauf > Signal-Distanz von der Mitte erhalten wird. Das ist mir schon klar. Stefan B. schrieb: > Die Linie ist breiter als ein Sensor bzw. die Sensoren ausreichend > schmal und eng genug für die Linie angeordnet. Genau. Aber trotzdem besteht die Möglichkeit Stefan B. schrieb: > D.h. die Situation dass > ein Sensor allein ein doppeldeutiges Signal (10%/10%) liefert, kommt > nicht vor. Sehe dir einmal das Bild an und sag mir dann, dass das nicht vorkommt. lg andy
Floh schrieb: > Ich denke dein Problem ist bei deinem Algo der zu große Abstand der > Sensoren untereinander Das ist absolut richtig. Auf jedenfall stellt das ein Problem dar. Die cny70 http://www.krause-robotik.de/service/download/forum/CNY70.jpg habe aber leider Abstände dazwichen. Und mit einem Transistor geht das glaube ich auch nicht gut, weil ja ein kleiner Abstand immer bestehen bleibt. Floh schrieb: > also entweder die Sensoren näher zusammen und damit rumrechnen Damit rumrechnen ist gut. Ohne zusätzliche Information kann ich nichts rumrechnen. Ich könnte höchstens schauen wie er 10ms vorher reagiert hat und wenn er trotzdem kleiner wird dann soll er den Wert größer wählen, aber SW technisch sind da sicher noch einpaar Lücken drinn. lg andy
Floh schrieb: > Für dein Problem solltest du deshalb die Linie genau lokalisieren > können, also entweder die Sensoren näher zusammen und damit rumrechnen, > oder des Sichtbereich der Sensoren vergrößern ... oder die Linie breiter machen
Andy S. schrieb: > Das ist absolut richtig. Auf jedenfall stellt das ein Problem dar. Die > cny70 > http://www.krause-robotik.de/service/download/forum/CNY70.jpg > habe aber leider Abstände dazwichen. Du kannst sie ja auch 'auf der Linie' versetzt anordnen +-----+ +-----+ +-----+ | | | | | | +-----+ +-----+ +-----+ +------+ +------+ | | | | +------+ +------+ dann rücken ihre Sichtbereiche auch näher zusammen. Aber wenn ich mir dein Photo ansehe, hast du noch jede Menge Leerraum zwischen den Sensoren, der nicht sein muss Aber was auch immer du tust, die Anordnung muss so sein, dass die Linie entweder komplett und exakt unter einem Sensor liegt oder aber dass 2 Sensoren die Linie sehen können. Nur dann kannst du exakt sagen, wo die Linie in Bezug zu den Sensoren liegt.
Andy S. schrieb: > Genau. Aber trotzdem besteht die Möglichkeit Dein Bild ist etwas zu klein für mich ;-) Bei den Leuten aus Seattle sind die Maße der Linie und die Abstände der Sensoren in einer Zeichnung angegeben (Anhang). Dort kann ich mir nicht vorstellen, wie ein zweideutiges Signal eines Sensors alleine entsteht. Bei deiner Fotomontage mit deutlich schmalerer Linie kannst du natürlich ein Falschsignal provozieren.
Karl heinz Buchegger schrieb: > ... oder die Linie breiter machen Das kann ich nicht weil bei dem Roboterwettbewerb das schon auf 1,5 cm ausgelegt ist. Karl heinz Buchegger schrieb: > Du kannst sie ja auch 'auf der Linie' versetzt anordnen > > > +-----+ +-----+ +-----+ > | | | | | | > +-----+ +-----+ +-----+ > > +------+ +------+ > | | | | > +------+ +------+ > > dann rücken ihre Sichtbereiche auch näher zusammen. Ja, habe ich auch schon genau so überlegt, aber wie erkenne ich die unterschiedlichen 10%? Da bei den cny70 es links und rechts noch Abstände gibt geht es einmal mit denen nicht. Wenn ich jetzt Phototransistoren nehme, so habe ich das Problem dass ich sehr sehr viele brauche um den Effekt der Linearität zu bekommen und dann hätte man ein Problem mit dem ADC. Karl heinz Buchegger schrieb: > Aber wenn ich mir dein Photo ansehe, hast du noch jede Menge Leerraum > zwischen den Sensoren, der nicht sein muss Andy S. schrieb: > bin ich auf einpaar Problematiken gestoßen, die dieser LF: > http://www.seattlerobotics.org/encoder/200610/arti... > > scheinbar nicht hat. > > Die Frage lautet jetzt wieso? Das ist ja die große Frage. Wie macht er das?? Und wenn du dir das Video anschaust, dann stellst du fest, dass es einwandfrei funktioniert. lg andy
> Bei den Leuten aus Seattle
bzw. beim Meister Elm
Stefan B. schrieb: > Bei deiner Fotomontage mit deutlich schmalerer Linie kannst du natürlich > ein Falschsignal provozieren. Bei dem ist die Linie auch 5mm breit. So hat der das Problem offensichtlich beseitigt. Er verteilt so große Wertigkeiten (den ausgemessenen Werten), sodass das garnicht mehr auffallt. Gut, dass du mich darauf aufmerksam machst. Also wäre das Ziel sehr große Sensoren zu nehmen, somit könnte man diesen Effekt bedrängen. lg andy
Andy S. schrieb: > Das ist ja die große Frage. Wie macht er das?? > > Und wenn du dir das Video anschaust, Wenn ich mir vor allen Dingen seine Aufbauskizze mit den Massen ansehe, dann stelle ich fest, dass er seine Sensoren so angebracht hat, dass er von Sensormitte zu Sensormitte genau den Abstand hat, der der Linienbreite entspricht. Und wenn ich mir das jetzt in Form von Signalen vorstelle, dann stelle ich fest, dass es zu dem von dir beschriebenen Fall nicht kommen kann. Denn etweder es sieht nur 1 Sensor die Linie, dann liegt die Linie genau darunter (oder es handelt sich um einen Randsensor und die Linie ist schon ausserhalb der Anordnung), oder aber es sehen immer 2 Sensoren die Linie, dann sagt mir das Verhältnis der beiden (nebeneinanderliegenden) Sensorwerte wie die Linie in Bezug auf diese beiden Sensoren liegt. Und das ist immer eindeutig
Andy S. schrieb: > Also wäre das Ziel sehr große Sensoren zu nehmen, somit könnte man > diesen Effekt bedrängen. Nein, das stimmt nicht. Eher kleinere Sensoren uns nahe beieinander.
Plastikgehäuse links/rechts etwas abschleifen, damit die CNY70 enger zusammen kommen? Nach der Skizze im Datenblatt könnte man da 28% Breite einsparen... Lichtschutz dann durch eine dünne Metallfolie. Oder geschickte Anordnung mit beabsichtigtem Fremdlicht benachbarter Sensoren.
Karl heinz Buchegger schrieb: > Und wenn ich mir das jetzt in Form von Signalen vorstelle, dann stelle > ich fest, dass es zu dem von dir beschriebenen Fall nicht kommen kann. > > Denn etweder es sieht nur 1 Sensor die Linie, dann liegt die Linie genau > darunter (oder es handelt sich um einen Randsensor und die Linie ist > schon ausserhalb der Anordnung), oder aber es sehen immer 2 Sensoren die > Linie, dann sagt mir das Verhältnis der beiden (nebeneinanderliegenden) > Sensorwerte wie die Linie in Bezug auf diese beiden Sensoren liegt. Und > das ist immer eindeutig Karl, du hast das Rätsel gelöst! Ich glaube jetzt zu wissen wie der das macht: Das ist dabei der Punkt: oder aber es sehen immer 2 Sensoren die > Linie, dann sagt mir das Verhältnis der beiden (nebeneinanderliegenden) > Sensorwerte wie die Linie in Bezug auf diese beiden Sensoren liegt. Und > das ist immer eindeutig Denn wenn der 2te schon reagiert, dann weiß ich bald komme ich in die 2te Hälfte des ersten Sensors, so kann ich die Wertigkeit vom ersten korrigieren und sie dadurch vergrößern (SW technisch) und diese rechne ich dann zur Sensor2 Wertigkeit dazu. Stimmt meine Überlegung? lg andy
Andy S. schrieb: > Das kann ich nicht weil bei dem Roboterwettbewerb das schon auf 1,5 cm > ausgelegt ist. Zufälligerweise RoboCup? :-D Wenn die Linie 1,5cm breit ist, reicht es, wenn die Sensorenmittepunkte 1,5 cm nahe zusammen sind, das ist machbar. Wenn du die Sensoren noch enger kriegst, wird die Auflösung natürlich noch besser. :-)
Andy S. schrieb: > Andy S. schrieb: >> Also wäre das Ziel sehr große Sensoren zu nehmen, somit könnte man >> diesen Effekt bedrängen. > > Nein, das stimmt nicht. Eher kleinere Sensoren uns nahe beieinander. Das kann man so nicht sagen. Das hängt auch vom Abstand zur Unterlage und vom Sichtwinkel des Sensors ab. Aber auf jeden Fall muss die Anordnung so sein, dass immer 2 nebeneinanderliegende Sensoren die Linie sehen können (oder sie exakt unter einem Sensor liegt). D.h. wenn das Signal von einem Sensor am abnehmen ist, muss das Signal vom danebenliegenden Sensor schon zunehmen.
Andy S. schrieb: > Karl, du hast das Rätsel gelöst! Und das in nur 20 Sekunden beim Drüberscrollen durch die Web-Page :-) > Denn wenn der 2te schon reagiert, dann weiß ich bald komme ich in die > 2te Hälfte des ersten Sensors, so kann ich die Wertigkeit vom ersten > korrigieren und sie dadurch vergrößern (SW technisch) und diese rechne > ich dann zur Sensor2 Wertigkeit dazu. Du korrigierst da überhaupt nichts. Du suchst dir von deinen Sensorwerten die beiden größten (nebeneinanderliegenden) raus und bestimmst deren Verhältnis zueinander. Dieses Verhältnis ist ein direktes Mass dafür wie die Linie in Bezug auf die beiden Werte liegt. Damit kriegst du den Distanz-Bruchteil der Lage der Linie in Bezug auf die beiden Sensoren und wie weit der nähere der beiden Sensoren an der Mittellinie liegt, weißt du.
Karl heinz Buchegger schrieb: > D.h. wenn das Signal von einem Sensor am > abnehmen ist, muss das Signal vom danebenliegenden Sensor schon > zunehmen. Ja im Endeffekt wäre das genau die Vorgangsweise. Jetzt könnte man sich noch anschaun wie man die Auswertung macht, 2 Möglichkeiten sehe ich da: 1) MesseSensorLinks() * 10 MesseSensorLinks2() * 20 Also mit verschiedenen Wertigkeiten oder: 2) MesseSensorLinks() MesseSensorLinks2() Abfrage(Wenn 2ter Sensor anfangt ein Signal zu bekommen) dann: zähle vom vorigen Sensor 255+ weitere Änderungen. Im ersten Fall muss man sich dann damit spielen bis man eine gute liniarität hinbekommt. Beim zweiten ist das so, dass ich die Sensoren so anordnen muss, dass genau bei der Hälfte des ersten Sensors der zweite Sensor anfangt. Also auch keine große Hürde. lg andy
Hi >Lichtschutz dann durch eine dünne Metallfolie. Oder geschickte Anordnung >mit beabsichtigtem Fremdlicht benachbarter Sensoren. In der Schaltung aus dem Link werden die LEDs der Optokoppler einzeln geschaltet. MfG Spess
Karl heinz Buchegger schrieb: > Du korrigierst da überhaupt nichts. > Du suchst dir von deinen Sensorwerten die beiden größten raus und > bestimmst deren Verhältnis zueinander. Dieses Verhältnis ist ein > direktes Mass dafür wie die Linie in Bezug auf die beiden Werte liegt. > Damit kriegst du den Distanz-Bruchteil der Lage der Linie in bezug auf > die beiden Sensoren und wie weit der nähere der beiden Sensoren an der > Mittellinie liegt, weißt du. Hmm, da könnte es aber sein, dass beide Sensoren den gleichen Wert haben. Also man muss beim Auslesen Wertigkeiten vergeben und somit ist automatisch eine genaue Erkennung nicht möglich sondern durch Ausprobieren zu lösen. lg andy
spess53 schrieb: > In der Schaltung aus dem Link werden die LEDs der Optokoppler einzeln > geschaltet. Jetzt wo du es erwähnst, ist sicherlich ein guter Aspekt. Ist die Frage wieso er einen Sensor ausschlten will. Strom sparen?
Andy S. schrieb: > Karl heinz Buchegger schrieb: >> Du korrigierst da überhaupt nichts. >> Du suchst dir von deinen Sensorwerten die beiden größten raus und >> bestimmst deren Verhältnis zueinander. Dieses Verhältnis ist ein >> direktes Mass dafür wie die Linie in Bezug auf die beiden Werte liegt. >> Damit kriegst du den Distanz-Bruchteil der Lage der Linie in bezug auf >> die beiden Sensoren und wie weit der nähere der beiden Sensoren an der >> Mittellinie liegt, weißt du. > > Hmm, da könnte es aber sein, dass beide Sensoren den gleichen Wert > haben. Ja. Das wird sogar passieren. Dann liegt die Linie genau mittig zwischen den beiden Sensoren. Jeder Sensor sieht genau die Hälfte der Linie.
Ach so. Ser Seitenlichtschutz durch das Gehäuse (oder Metallfolie) ist aber vermutlich wichtig. Man will ja das reflektierte Licht der Linie bzw. Nichtlinie erkennen und durch die Seitenstrahlung könnte es zu Problemen mit Überstrahlung kommen. Statt Metallfolie ginge vielleicht auch eine spezielle Anordnung, die den Steg zwischen Fototransistor und IR-LED ausnutzt: D|T T|D D|T T|D D|T statt D|T D|T D|T D|T D|T oder T T T T T - - - - - D D D D D
Karl heinz Buchegger schrieb: > Ja. Das wird sogar passieren. > Dann liegt die Linie genau mittig zwischen den beiden Sensoren. Jeder > Sensor sieht genau die Hälfte der Linie. Das verschwendet aber Rechenzeit dies extern auszuwerten. Wird wahrscheinlich die allgemeine Methode besser sein wenn man sie austestet und anschließend anpasst. lg andy
Stefan B. schrieb: > oder > > T T T T T > - - - - - > D D D D D Das würde aber vom Konzept her nicht funktionieren! lg andy
Floh schrieb: > oder des Sichtbereich der Sensoren vergrößern (eventuell mehr Abstand > zum Boden), damit sich die Sichtbereiche überlappen. Verkleinert sich dadurch nicht der Sichtbereich? lg andy
Andy S. schrieb: >> T T T T T >> - - - - - >> D D D D D > > Das würde aber vom Konzept her nicht funktionieren! Das war nur ein Schnellschuß für eine andere Konfiguration, die bei entfernten Seitenwänden möglicherweise schlecht funktioniert. Mit Seitenwänden komme ich nicht drauf, weshalb das grundsätzlich nicht funktionieren sollte. In "Fig. 11 - Relative Collector Current vs. Displacement" im CNY70 Datenblatt ist IMHO keine Abhängigkeit von der Ausrichtung "waagerecht" vs. "senkrecht" zu erkennen. http://www.vishay.com/docs/83751/cny70.pdf
Andy S. schrieb: > Karl heinz Buchegger schrieb: >> Ja. Das wird sogar passieren. >> Dann liegt die Linie genau mittig zwischen den beiden Sensoren. Jeder >> Sensor sieht genau die Hälfte der Linie. > > Das verschwendet aber Rechenzeit dies extern auszuwerten. > Wird wahrscheinlich die allgemeine Methode besser sein wenn man sie > austestet und anschließend anpasst. Ich hab die Mathe jetzt nicht gemacht. Aber solche Dinge laufen immer auf dieselbe Art von Formel hinaus. Wenn die Linie t% zwischen den Sensoren S1 und S2 liegt (die delta_x auseinander liegen), dann liefert Sensor 1 ein Signal in der Höhe von s1 = t * delta_x liefert Sensor 2 ein Signal in der Höhe von s2 = ( 1 - t ) * delta_x gesucht ist also dasjenige t, welches s1 und s2 erklären kann. Wie gesagt: Ich habs jetzt nicht durchgerechnet und aus dem Bauch heraus sag ich mal s2 Distanz vom Sensor 1 = ---------- * delta_x s1 + s2 Angenommen die Sensoren liegen 10 mm auseinander. -- S1 misst 128, S2 misst 128 128 / ( 128 + 128 ) * 10 = 0.5 * 10 = 5 dann liegt die Linie 5mm von s1 entfernt -- S1 misst 255, s2 misst 0 0 / ( 255 + 0 ) * 10 = 1 * 10 = 0 Die Linie liegt 0 mm von 1 entfernt, also genau unter s1 -- S1 misst 0, s2 misst 255 255 / ( 255 + 0 ) * 10 = 1 * 10 = 10 Die linie liegt 10 mm von s1 entfernt, also genau unter s2 -- s1 misst 200, s2 misst 30 30 / ( 200 + 30 ) * 10 = 30 / 230 * 10 = 1.3 Die Linie liegt 1.3mm von s1 entfernt
Karl heinz Buchegger schrieb: > Ich hab die Mathe jetzt nicht gemacht. Aber solche Dinge laufen immer > auf dieselbe Art von Formel hinaus. > > Wenn die Linie t% zwischen den Sensoren S1 und S2 liegt (die > delta_x auseinander liegen), dann > liefert Sensor 1 ein Signal in der Höhe von s1 = t * delta_x > liefert Sensor 2 ein Signal in der Höhe von s2 = ( 1 - t ) * x > > gesucht ist also dasjenige t, welches s1 und s2 erklären kann. > > Wie gesagt: Ich habs jetzt nicht durchgerechnet und aus dem Bauch heraus > sag ich mal > s1 + s2 > Distanz vom Sensor 1 = ---------- * delta_x > s Ok verstehe was du meinst. Bin eh davon ausgegangen, dass du das so machst. Aber wie gesagt, ist das halt nicht die einzige Methode die effizient ist. Denn wie du weißt arbeite ich mit einer 8 Bit Harvard Architektur und das Schlüsselwort basiert auf 8 Bit. Da sind Divisionen immer was schlechtes, deshalb auch mein Einwand von vorher. Ok im großen und ganzen fand ich diese Diskussion sehr interessant. Ich danke für die entsprechende Motivation die ihr gezeigt habt und sage somit bis bald! lg andy
Andy S. schrieb: > Da sind Divisionen immer was schlechtes, deshalb auch mein Einwand von > vorher. Und ich habs dir schon einmal gesagt: In den paar µ-Sekunden, die diese Berechnung braucht, bewegt sich dein Robot noch nicht mal einen tausendstel Millimeter vorwärts. Summa summarum sind wir wieder dort, wo wir schon so oft waren: Du hast keinen Tau, bittest um Hilfe. Dann betet man dir alles bis ins kleinste Detail vor woraufhin du den Grosskotz raushängen lässt, der von Anfang an schon alles wusste. Schön langsam sollte man meinen, ich hätte meine Lektion gelernt.
Andy S. schrieb: > Aber wie gesagt, ist das halt nicht die einzige Methode die effizient > ist. Bring das Teil erst zum Laufen, dann kannst du dir übers optimieren Gedanken machen. > Denn wie du weißt arbeite ich mit einer 8 Bit Harvard Architektur und > das Schlüsselwort basiert auf 8 Bit. Das kann dir als C-Progger beinahe egal sein, der Compiler kann sowas. > Da sind Divisionen immer was schlechtes, deshalb auch mein Einwand von > vorher. Dann verechnest die Konstanten so, dass man durch eine 2er-Potenz teilt, wenn die Geschwindigkeit wirklich nicht ausreichen würde. Das lässt sich dann über Schieben realisieren. Meine Frage steht noch: Ist das fürn RoboCup? :-)
Karl heinz Buchegger schrieb: > Schön langsam sollte man meinen, ich hätte meine Lektion gelernt. Also ich weiß nicht. Nimmst du das Forum wirklich so persönlich oder was ist jetzt. Jetzt habe ich einmal einen Vorschlag für dich: Gehe von der emotionalen Seite einmal runter und bleib realistisch. Ich sagte nicht, dass deine Idee auch nur annähernd scheitern wird. Aber lass mich halt einfach mal meine Ideen umsetzen. Ich hoffe du verstehst das. >woraufhin du den Grosskotz raushängen lässt, der von >Anfang an schon alles wusste. Der wird auch schon langsam alt. Ich glaube du suchst Streit oder sowas in der Art, den werde ich dir aber leider nicht geben. Wenn du meinst, dass ich alles weiß, dann fühle ich mich geehrt. Aber so langsam ehrst du mich zu oft, also bitte behalte die wirklich (!) unnötigen Kommentare für dich. Fakt ist aber, dass du mir sehr geholfen hast und ich dir dafür danke. Floh schrieb: > Meine Frage steht noch: > Ist das fürn RoboCup? Nein, Robotchallenge Wien. lg andy
Karl heinz Buchegger schrieb: > Ich hab die Mathe jetzt nicht gemacht. Aber solche Dinge laufen immer > auf dieselbe Art von Formel hinaus. > > Wenn die Linie t% zwischen den Sensoren S1 und S2 liegt (die > delta_x auseinander liegen), dann > liefert Sensor 1 ein Signal in der Höhe von s1 = t * delta_x > liefert Sensor 2 ein Signal in der Höhe von s2 = ( 1 - t ) * delta_x > > gesucht ist also dasjenige t, welches s1 und s2 erklären kann. > > Wie gesagt: Ich habs jetzt nicht durchgerechnet und aus dem Bauch heraus > sag ich mal > s2 > Distanz vom Sensor 1 = ---------- * delta_x > s1 + s2 > Angenommen die Sensoren liegen 10 mm auseinander. > S1 misst 128, S2 misst 128 > > 128 / ( 128 + 128 ) * 10 = 0.5 * 10 = 5 > > dann liegt die Linie 5mm von s1 entfernt > S1 misst 255, s2 misst 0 > > 0 / ( 255 + 0 ) * 10 = 1 * 10 = 0 > > Die Linie liegt 0 mm von 1 entfernt, also genau unter s1 > S1 misst 0, s2 misst 255 > > 255 / ( 255 + 0 ) * 10 = 1 * 10 = 10 > > Die linie liegt 10 mm von s1 entfernt, also genau unter s2 > s1 misst 200, s2 misst 30 > > 30 / ( 200 + 30 ) * 10 = 30 / 230 * 10 = 1.3 > > Die Linie liegt 1.3mm von s1 entfernt Im endeffekt ist mir nur das als bester Ansatz übergeblieben. Es funktioniert jetzt auch schon gut. Danke nochmal. lg andy
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.