PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rasenmähen per GPS



Wicki
28.09.2006, 14:56
Hallo,

ich möchte auch Rasen mähen lassen. Meine Vorstellung ist es 2-3 Robotermäher einzusetzen die die zu mähende Fläche per GPS-Daten vorgegeben bekommen.

Weiß jemand ob es eine Steuerung gibt die vermeidet daß sich die robos in den Weg kommen, bzw. wenn einer ausfällt sollten die anderen die restliche Fläche mit übernehmen.

Hat jemand eine Idee?

dieta
28.09.2006, 16:21
Das Problem bei GPS ist, dass es zu ungenau ist. Wenn du um deine Wiese Blumenbeete oder ähnliches hast, wirst du auf ein zweites System zum GPS nicht verzichten können.
An sonsten: Meine Idee:
Du hast eine "Bsisstation" die die Roboter koordiniert (laden, Streckenberechnung etc.) und jeder Roboter bekommt noch einen Microcontroller, der NUR Befehle von der Basisstation entgegennimmt, daten über den Roboter zur Basisstationsendet und den Roboter steuert.
Als "Basisstation" würde ich dir einen kleinen Computer (vllt. einen ohne jede Mechanik, wegen der Zuverlässigkeit) empfehlen, da solche Sachen wie Streckenberechnung schon relativ Rechenintensiv sind.


P.S.: Woher bekommst du das Geld für 3 Mähroboter incl. GPS?

Wicki
28.09.2006, 16:29
keine schlechte Idee. Da ich von Natur aus faul bin, dachte ich - einfach die Koordinaten für die Fläche eingeben und den Rest organisieren die Geräte selbst.

das Geld für die 3 Mäher suche ich noch :-&

PicNick
28.09.2006, 17:30
..das Geld für die 3 Mäher suche ich noch ..
Geh' bitte, wenn Du's gefunden hast, sag' uns, wo das war.

OsramLED
28.09.2006, 19:43
So ein ähnliches System habe ich mal bei Galileo gesehen. Da wurde ein Trecker mit GPS und Autonomer Steuerung "erweitert".

Der Fahrer musste erst an die Ränder seines Ackers fahren um die Positionen aufzunehmen. Anschließend konnte der sich eine Flasche Bier trinken, während der Trecker den Acker umpfügte ;)

davts
18.01.2007, 18:51
Hallo,
ich spiele schopn seit einem Jahr mit dem Gedanken so einen Rasenbot zu Bauen. Im Letzten Jahr habe ich schon viele Experimente wegen der Navigation gemacht. Da GPS zu ungenau ist wollte ich eine Navigation über IR Barken machen. Wobei mindestens 3 im Sichtfel des Bot sein müsten. Die Winkel der Barken sollten durch eine drehende Trommel mit Schlitz erfasst werden. Nachteile sind der sehr komplexe Aufbau, Störempfindlichkeit der Mechanik sowie die Begrenzte reichweite Der Barken momentan 65m. Die Neue Idee ist 2 GPS empfängfer zu verwenden.
Neulich habe ich eine Versuchsreihe mit einem GPS Empfänger durchgeführt. Er erfasst wohl auch kleine Positionsänderungen (10 oder 20cm). Das Problem ist das die Position Wandert auch wenn der Sensor still liegt. Deshalb möchte ich einen zweiten GPS Sensor auf der Ladestation Postieren. Der Funkt dann ständig die Korekturdaten zum Mäher. Sodas er seine genaue Po. bestimmen kann. Die Küstenwache macht das Ähnlich. habe mir 2 gleiche Empfänger bestellt. Hoffe das diese auch in die gleiche richtung driften denn nur dann Funktioniert das.

Hat sich schon mal jemand über soetwas gedanken gemacht?

Brösel
09.05.2007, 16:47
Hallo,
ich wäre auch sehr an einem Rasenmährobotter interssiert.

Am meisten beschäftigt mich dabei die Eingrenzung des Arbeitsbereiches, wie schon von euch erwähnt ist GPS einfach zu ungenau und außerdem (zumindest bei mir) alles andere als ausfallsicher.
Eine Abweichung von mehr als 20cm kommt für mich auch nicht Infrage.

Das ganze mit IR zu realisieren hatte ich auch schon überlegt, scheint mir aber auch zu komplex.

Weiß vieleicht jemand wie das bei Robottern gemacht wird die Verkauft werden. Ich habe gehört, das es eine Möglichkeit gibt das ganze über ein Kabel einzugrenzen (das wird dann rund um den Bereich gelegt wo der Robbi Mähen soll), aber wie erkennt der Robotter das er nur bis hier hin soll? (Magnetfeld sensoren??)

Christian H
09.05.2007, 20:35
Hallo,
Informationen und Bauanleitung zur Induktionsschleife für Rasenmäher gibt´s unter
https://www.roboternetz.de/phpBB2/viewtopic.php?t=19825
Diskusision von DGPS unter
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=29752&highlight=gps+genauigkeit

Christian

100Octane
15.05.2007, 09:39
Eine Option wäre noch mit Ultraschall Funklichtern, die Position der Funklichter im Garten müsste bekannt sein (eventuell selständig gegenseitig ausmessen ??), dann empfängt der Robi die Funklichter von den Funklichtern wie eine Fledermaus, d.h. der Robi schickt ein signal und die Funklichter antworten darauf, anhand des Zeitdelays kann nun die Distanz zu dem Funklicht ausgerechnet werden. Es können die Funklichter nacheinander abgefragt werden, was sehr schnell gehen sollte.

Daraus durch Triangulation die Position bestimmen, und mit einem Kompass die Himmelsrichtung, das ganze ist viel genauer als es GPS je sein wird.

Da Schall nicht so schnell ist wie Licht erhöht sich auch die Genauigkeit mit einem Standardprozessor gute Ergebnisse zu erziehlen. Genauigkeit in den Mikrosekunden genügt 10us = 3.3 mm bei Licht muss die Messgenauigkeit im Bereich von picosekunden liegen was ein teuerer Spass wird, 10ps = 3 mm.

Gruss 100Octane

Düsentrieb
09.07.2007, 22:30
Hallo 100Oktane.

Ich bin neu hier und kein Elektroniker sondern "Schlosser". Entschuldigt also bitte wenn ich dumme Fragen stelle.
Ich bin ein großer Faulpelz und denke, daß die Menschen lieber ihren Verstand benützen sollten, statt selber einen Teil Ihrer Lebenszeit mit stumpfsinnigen, knechtlichen Arbeiten (wie z.B. Rasenmähen!) zu vergeuden. (20 Wochen/ Jahr x 1 Stunde x 40 Jahre : 12 Tagesstunden~ 66 Tage also rund zwei geschenkte Monate an Lebenszeit!!!)

Dein Beitrag kommt meinen Vorstellungen einer Navigation am nächsten.

Ich stell mir das so vor: 2 Ultraschalllautsprecher am Haus (Wegen der Stromversorgung und Verkabelung) und 1 Mikrofon am Rasenmäher.
Sowohl die Feststationen wie der Mäher werden mit Funkuhrmodulen synchronisiert. Die Feststationen "senden" auf verschiedenen Frequenzen aber mit synchroner Modulation. Z. B. könnte alle 0,0001 sec ein Bit übertragen werden und alle 5 sec 3 Bit. Da der Robo über sein Funkuhrmodul ebenfalls genaue Atomzeit hat, kann er seine Position zu den Sendern von ca. 1500m (daher die 5 sec) bis in den Zentimeterbereich (0,0001 sec) genau berechnen. Voraussetzung ist natürlich die Synchronisierung der Sender und der beiden Empfängerkanäle. Dadurch kann auch das Echo von der Gartenmauer eliminiert werden (Nur das erste Signal wird ausgewertet und die Software kennt die Ortswechselgeschwindigkeit des Robots.)
Ansonsten bräuchte man noch eine Teach-in Funktion zu der man den Mäher mit einer Deichsel einmalig "spazieren führt" Vielleicht kann man dazu einen Datenlogger aus dem Modellbaubereich verwenden.
Dann noch einen Berührungssensor (Wegen der Gartenstühle). Auf Kontakt am Berührungssensor reagiert er mit einer Ausweichbewegung ,je nachdem wo er kontaktiert wurde nach rechts oder links und versucht dann innerhalb einer Fahrzeuglänge wieder auf die programmierte Bahn zurück zu kehren. Hat er sich so verkeilt daß eine 90° Abweichung ihm nicht binnen 5 sec.? die Freiheit schenkt, muß er's eben für eine Fahrzeuglänge mit 180° versuchen usw.
Dann noch, wie bei den gewerblichen, einen Sensor (Endschalter) der die Entlastung der Räder erfasst und daraufhin das oder die Messer stillegt. (falls sich der Bernhardiner in das Teil verliebt.)
So, das wärs.
Ich könnte die Mechanik aufbauen aber das ist's dann schon von meiner Seite, aber ich denke so ein Teil wäre evtl.auch von kommerziellem Interesse.
Grüße
Daniel

100Octane
10.07.2007, 07:11
Hallo Daniel,

durch Einsatz von GPS könnte man mit 2 Signalen (Lautsprechern) auskommen, wenn du an jedem Punkt im Garten aber 3 Signale zur Verfügung hast, kannst du auf das GPS verzichten.

GPS ist doch noch relativ teuer, aber ich finde deine Idee sehr interessant.

Soweit ich weiss ist das Problem mit dem kommerziellen Einsatz, dass Husqvarna bereits ein Patent auf ein solches System besitzt, also wird es schwierig da was verkaufen zu können.

Für den Hobbyeinsatz spielen die Patente aber keine Rolle.

Abgesehen davon, ich kann die SW schreiben, wenn du die Mechanik machst, dann fehlt nur noch jemand der die Elektronik baut (etwas Erfahrung habe ich da auch, bin aber nicht so der Layout Crack)

Gruss 100Octane

Lordcyber
10.07.2007, 07:41
Hallo,
mal etwas zu dem Thema.
GPS ist schon sehr genau.
Aber normale Empfänger sind es nicht.
Da das genauere Timingsignal der Satelliten kodiert ist.
Ist und bleibt halt ein Militärsystem.
Bekannter aus der Amikaserne hat mal von da eine Empfänger mitgebracht das Ding war auf 2 cm genau.
Und jederzeit reproduzierbare Ergebnisse.

Nachteil sehe ich auch das wenn die Amis mal wieder Tillen das ganze System abschalten oder verschlüsseln.
Als Selbstschutz der eigenen Einheiten.
Wird zeit das Galileo als Alternative fertig wird.

the_Ghost666
10.07.2007, 08:01
Naja, also ich denke so schlimm ists nicht, wenn die Amis mal das Abschalten, mehr als verwildern wird der Garten ja nicht.
Als weitere Möglichkeit die Genauigkeit zu steigern gibt es differentielles GPS. Dabei nutzt du nicht nur die Satelliten und eine Bodenstation, sondern mindestens 2 Bodenstationen. Wenn eine davon unbeweglich ist, kann man die Fehler irgendwie auf 10cm rausrechnen. Leider weiß ich nicht genau was noch nötig ist, etwas googeln könnte helfen.

Düsentrieb
10.07.2007, 10:06
Hallo Alle,
Für was sollte man 3 (Schall)Sender oder GPS benötigen? Ich denke ein Rasenmäher bewegt sich auf einer definierten Fläche (wenn er nicht in den Gartenteich gefallen ist) sodaß durch den Abstand zu zwei Fixpunkten (Sendern) jeweils 2 Positionen genau definiert sind. Da man ja das Hausdach wohl nicht mähen will und der Robot in dem einem Definitionsbereich eingeschaltet wird, wird er auch dort bleiben und nicht plötzlich auf's Dach oder über die Gartenmauer hüpfen?
GPS scheint mir nach allem was ich aus dem Internet nehmen konnte, entweder viiiel zu ungenau oder schweineteuer und dann auch zu langsam. Ausreichende Genauigkeit kann damit scheinbar nur durch einen nahen zusätzlichen Korrektursender und über den Mittelwert über einen größeren Zeitraum (Über 10 min) erzielt werden. Für ein Fahrzeug scheint mir das nicht gerade adäquat, weil der Rasen sonst schneller wächst als er abgemäht werden kann.
Die SW sollte man nicht unterschätzen, denn es ist außer der Positionsbestimmung auch die Elimination von Echo's und die Steuerung des Robots zu bewältigen. Zum Mähen in beengten Verhältnissen ist sicher auch Rückwärtsfahrt nötig. Außerdem braucht er eine selbstständige Routine um unprogrammierte Hindernisse zu umfahren und zu seiner Dockingstation zurück zu kehren. Die Teach-in Funktion ist sicher auch nicht ohne, und schließlich und endlich darf die Intelligenz physisch nicht "GRAY"-Dimensionen annehmen.
Grüße
Daniel

geronet
10.07.2007, 11:46
Eine gute Lösung wäre mit Hilfe einer Induktionsschleife als Begrenzung und einem GPS Emfänger als Mähhilfe, wo er noch nicht gemäht hat. Damit könnte man die Mähzeit drastisch verkürzen.
Eventuell sogar noch einen Sensor vorne hinbauen, damit er nicht ständig über schon gemähten Rasen rollt.

Grüsse, Stefan

avion23
10.07.2007, 12:08
Mal ein bisschen das Forum verlinken :)
Im Thread Position unter Wasser emitteln (https://www.roboternetz.de/phpBB2/viewtopic.php?t=32227) wurde ein ähnliches Problem diskutiert. Vereinfacht möchte man die Position auf einer Fläche wissen, und das ist hier auch Thema.

100Octane
10.07.2007, 22:17
Für was sollte man 3 (Schall)Sender oder GPS benötigen? Ich denke ein Rasenmäher bewegt sich auf einer definierten Fläche (wenn er nicht in den Gartenteich gefallen ist) sodaß durch den Abstand zu zwei Fixpunkten (Sendern) jeweils 2 Positionen genau definiert sind. Da man ja das Hausdach wohl nicht mähen will und der Robot in dem einem Definitionsbereich eingeschaltet wird, wird er auch dort bleiben und nicht plötzlich auf's Dach oder über die Gartenmauer hüpfen?

Also wenn ich ein einfaches System mit zwei Schallquellen bekannter Position habe, welche regelmässig Schallimpulse aussenden, so kann ich am Mäher die nterschiede der Laufzeiten der Signale messen. Daraus ist mir dann auch die Distanz z.B. 5m bekannt welche ich weiter von der einen als von dem anderen Schallquelle entfernt bin. Mehr weiss ich aber nicht.
-> also gibt es beliebig viele Punkte auf welchen ich sein könnte, die einzige Bedingung die erfüllt sein muss ist d1-d2 = 5m also ist z.B. d1=6m und d2=1m eine Lösung wie auch d1=8m und d2=3m
Alle diese Punke liegen auf einer Kurve.

Mit einer weiteren Schallquelle, kann ich nun den Punkt auf der Kurve genau bestimmen.

2 Schallquellen reichen nur wenn ich zusätzlich zu der Differenz der Laufzeiten auch noch die Gesamte Laufzeit von mindestens einem Signal kenne, und hier kommt GPS ins Spiel. Denn GPS kann man sehr gut als präzise Absolutzeit nehmen. D.h. die Schallquelle sendet einen Impuls zu einer dem Empfänger bekannten Zeit aus, der Empfänger ermittelt die Ankunftszeit des Impulses und die Distanz zum Sender ist bekannt.

Da GPS auch als Zeitbasis relativ teuer und aufwändig ist, denke ich ist eine Variante mit 3 Schallquellen sinnvoller.


Gruss 100Octane

P.S. für eine Orientierung im Raum sind übrigens nicht 3 Satelliten notwendig sondern 4, denn einer wird als Zeitreferenz benutzt

Daraus folgt:
-Positionsbestimmung auf einer Ebene benötigt 3 Quellen
-Poitionsbestimmung im Raum benötigt 4 Quellen
-Positionsbestimmung auf einer Linie benötigt man 2 Quellen

Düsentrieb
11.07.2007, 08:27
Hallo 10Oktan,
Danke für Deine Antwort. Ich hatte mir die Sache mit den 2 Schallsendern und den Funkuhrmodulen allerdings so gedacht, daß nicht die Laufzeitdifferenz kalkuliert wird, sondern 2x die absolute Laufzeit. Daher auch die Aussendung von Modulationssignalen, (Die der Empfänger natürlich mitzählt ) Er "weiß" also, wann die Signale, die er jetzt gerade empfängt, ausgesand wurden. Das Signal vom Sender "A" enthält sei dem letzten 5sec-Referenzsignal z.B 60500 Bits. das Signal vom Sender"B" aber 87 000 Bits. (Beide Sender strahlen das Modulationssignal aber voraussetzungsgemäß synchron ab) Das sollte zwei diskrete PUNKTE ergeben, von denen der eine (Wenn die Schallsender auf der Mähgrenze aufgestellt sind) ausgeschlossen werden kann.
Also sozusagen ein "Poor-man's GPS" nur etwas genauer weil auf Schallwellen beruhend, die übrigens auch, im Gegensatz zu Laserentfernungsmessern, um einen Baum herumreichen.
Grüße
Daniel

100Octane
15.07.2007, 10:33
Hallo Düsentrieb,

doch genau so hab ich das verstanden wie du das erklärt hast, du nimmst die GPS Zeit sozusagen als 3te Grösse um damit Absolute Laufzeiten zu erhalten und nicht nur Differenzen.

Schlussendlich ist es nur eine Mathematik Frage ob zu zwei Sender + GPS oder 3 Sender ohne GPS hast, von der Genauigkeit her sind beide Systeme nahezu identisch, aber das GPS kostet natürlich einiges mehr als ein dritter Lautsprecher.

Gruss 100Octane

Bernhard667
20.07.2007, 15:29
Hallo,

habe auch mal an Positionsbestimmung mit Ultraschall gearbeitet.
Die absolute Laufzeit habe ich so bestimmt:
-Der Mäher ist nicht passiv, er sendet ein US-Telegramm (mit Adresse)
-Angesprochene Bake antwortet
Dadurch kann ich die absolute Zeit (Entfernung) zu jeder Bake einzeln ausmessen.
Soweit die gute Botschaft. Probleme waren:
-Reichweite mit Glück 12 Meter. Von 1500 Metern wie oben genannt keine Spur.
-Starke Richtwirkung der US Sender und Empfänger. Die 12 Meter waren bei direkter Ausrichtung.

Deswegen hatte ich für mich US als Sackgasse gesehen.
Weiterhin hatte ich dann den Spaß am Projekt verloren und abgebrochen (2003 mußte ich in der ganzen Saison eh nur 5 mal mähen)

Bernhard

Düsentrieb
22.07.2007, 22:04
Hallo Bernhard 667,
Danke für deinen Beitrag, Danke auch an 100Oktan.
Ja Bernhard, das klingt doch schon mal sehr gut. Ich dachte mir nur, wenn der Mäher das US-Signal aussendet, muß man ihm die Steuerbefehle erst wieder zuschicken; eine zusätzliche Möglichkeit wo was schiefgehen kann? Wenn das Signal von 2 Baken (individualisiert) ausgestrahlt wird, kann der Mäher sich seine Steuersignale selbst generieren.
Was die Reichweite angeht, sehe ich das Problem nur in der Auswahl des oder der richtigen Schallwandler. Sieh' doch mal im neuen Conrad Katalog Seite 349 rechts unten den Hochtöner an. 3-4 Stück davon an einer Bake sollten einen ordentlichen Lärm machen? Könnte nur sein, das der Nachbarsjunge die 20 kHz hört und Zustände bekommt? Außerdem gibt es da auch Ungezieferscheuchen (Seite 1827) mit 200m "akustischer Reichweite", was immer damit gemeint sein mag?
Kurzum, wir bräuchten dringend einen Hardware-mann, der sich mit sowas auskennt. Sicher gibt es von irgendeiner Firma leistungsfähige Piezoschallwandler, wie sie z.B. auch in Ultraschallreinigungsgeräten verbaut werden, (Mit Leistungen von mehreren 100 Watt) Das sollte im Verbund mit der NF-Tonmodulation die Reichweite auf den angestrebten Wert bringen?
Ich denke bis sich ein Hardwarefachmann meldet müssen wir das Projekt wohl auf Eis legen, nachdem die theoretische Möglichkeit nun ausreichend beleuchtet wurde.
Grüße
Daniel

DerTeutone
09.10.2007, 07:57
Hallo,
finde eure Diskusion sehr spannden und nachdem ich der Meinung bin das stupide Arbeiten besser von Maschinen erledigt werden sollten denk ich auch über einen Mähbot nach.
Leider sind meine Überlegungen noch in einem frühen Stadium und das auch noch bei geringem Wissen... aber glaube das größte Problem bei der ganzen Geschichte ist tatsächlich die genaue Positionsbestimmung, über wenige Meter geht da sicher was mit Incrementalgebern aber sobald mal Richtungswechsel im Spiel sind oder Schlupf am Antrieb hört der Spaß schnell auf, mal ganz davon abgesehen das die Startposition immer die selbe sein muss...
Die Positionsbestimmung über US hört sich schon nicht schlecht an hat aber find ich den Nachteil das die Baken auch noch über eine Stromquelle verfügen müssen. Mein Vorschlag hört sich vielleicht ein wenig abenteuerlich an aber in jedem Baumarkt gibt es inzwischen Wasserwagen mit eingebautem Entfernungsmesser, können dessen Werte ausgelesen werden ist eine Präzise Positionsbestimmung eigentlich ein Leichtes, je nach Gelände wäre dann ab zwei Fixpunkten aufwärts die Bestimmung der Position ein leichtes.
Kann sein das ich mir das ein wenig zu leicht mache aber vom Prinzip her stell ich mir die Fixpunkte als Reflektoren vor, Entfernungsmesser und Laserlichtschranke auf einem "Winkelmesser" drehbar montiert so das über Dreiecksberechnungen die Position bestimmt werden kann, gefahren wird nach Gebern und zB. alle 5m die Position geprüft und angepasst.
Grundbedingung dafür ist das Daten vom Entfernungsmesser abgegriffen werden können (zB. über serielle Schnittstelle) und der Winkel genau genug gemessen werden kann, mindestens zwei Fixpunkte müssen immer zu sehen sein und von einander unterschieden werden können...
Wäre euch dankbar wenn ihr mir eure Meinung dazu sagt, bzw. ob ich da vielleicht nen Denkfehler drin habe...

mfg
Alwin

sigo
21.10.2007, 00:13
Hallo,
ich spiele schopn seit einem Jahr mit dem Gedanken so einen Rasenbot zu Bauen. Im Letzten Jahr habe ich schon viele Experimente wegen der Navigation gemacht. Da GPS zu ungenau ist wollte ich eine Navigation über IR Barken machen. Wobei mindestens 3 im Sichtfel des Bot sein müsten. Die Winkel der Barken sollten durch eine drehende Trommel mit Schlitz erfasst werden. Nachteile sind der sehr komplexe Aufbau, Störempfindlichkeit der Mechanik sowie die Begrenzte reichweite Der Barken momentan 65m. Die Neue Idee ist 2 GPS empfängfer zu verwenden.
Neulich habe ich eine Versuchsreihe mit einem GPS Empfänger durchgeführt. Er erfasst wohl auch kleine Positionsänderungen (10 oder 20cm). Das Problem ist das die Position Wandert auch wenn der Sensor still liegt. Deshalb möchte ich einen zweiten GPS Sensor auf der Ladestation Postieren. Der Funkt dann ständig die Korekturdaten zum Mäher. Sodas er seine genaue Po. bestimmen kann. Die Küstenwache macht das Ähnlich. habe mir 2 gleiche Empfänger bestellt. Hoffe das diese auch in die gleiche richtung driften denn nur dann Funktioniert das.

Hat sich schon mal jemand über soetwas gedanken gemacht?

Hi, die Idee mit den 2 GPS Empfängern find ich gut. Bin gespannt!


Aber auch zu den Baken hatte ich mir schonmal Gedanken gemacht. Für eine Art Pseudo-GPS:

Und zwar würde ich auf jeden Fall die Strahlen der Baken rotieren lassen und nicht den Empfänger. Erstens stehen die Baken fest somit hat das rotierende Teil weniger Stress, wackelt nicht etc. Und man kann soviele Baken nehmen, wie man will/braucht. Weiterhin ist der mobile Teil im Mäher sehr einfach zu halten und braucht wenig Strom.

Ich stelle mir das wie folgt vor:

Im Garten werden Baken aufgestellt, deren rotierende (Laser-) Stahlen werden mit unterschiedlichen Frequenzen (oder Puls-Codes) moduliert welche die jeweilige Bake kennzeichnet.

Alle Baken rotieren synchron.
Das wird durch einen Funkpuls der Zentrale oder aber auch durch Funkuhrenempfänger erreicht. Die Baken synchronisieren sich so mittels PLL (Software) dass alle gleichzeitig nach Norden senden.

Die Mäher empfangen auch den Funkpuls oder haben auch Funkuhrmodule.

Wenn nun die Baken z.B. mit 20U/s rotieren und mit dem Sekundenwechsel sychronisiert sind, empfängt der Rundumemfänger im Mäher (z.B. 4xTSOP7000) nacheinander die verschiedenen sichtbaren Baken und kann deren ID erkennen, sowie den zeitlichen Abstand der empfangenen Impulse zu "Nord" messen. Aus den Zeiten ergeben sich die Winkel, dann kann gepeilt werden.

Da alle Baken synchron laufen, kann es praktisch keine Kollisionen geben.

Codierung z.B. :

Bake 1: _-_-_-_
Bake 2: __-__-__
Bake 3: _--_--_--_--
Bake 4: ___-_-___-_-___

usw.

Sigo

Christian H
21.10.2007, 08:19
Hi @ all,

das mit den 2 GPS bzw. DGPS wird nicht funktionieren. Ich sage das so eindeutig, weil ich es selbst mal ausprobiert habe. Falls Du es trotzdem hinkriegen solltest, dann hast Du meine Hochachtung! Das wird aber ein eigenes Projekt!

Wichtigstes Gegenargument: Viele haben es vorgeschlagen, einige bereits probiert. Wäre ja auch zu schön. Es gibt hier auch etliche Threads dazu. Z.B. https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=29752&highlight=dgps. Ich habe aber noch nie gelesen, dass es im Selbstbau funktionieren würde.

Die Küstenwache hat DGPS auch nur bis vor etwa 10 Jahren verwendet, als die USA die Genauigkeit noch abgesenkt hat und Fehler um über 100 m aufgetreten sind. Jetzt ist die Genauigkeit von GPS aber bereits bei wenigen m.

Wenn man jetzt ein DGPS aufbauen will, dann geht es darum eine Genauigkeit von +- einige cm zu erreichen. Dafür reicht es aber nicht nur die Positionsdifferenzen zweier GPS zu berechnen. Genauer habe ich es im obigen Thread versucht zu beschreiben. Man muss mit den Rohdaten statt den NEMA -Daten arbeiten. Also Rohdaten aus einem Empfänger auslesen (RINEX-FILE) und in 2. GPS per Funk eingeben. Zumindest für die Referenzstation sind relativ teure GPS erforderlich. Hierfür gibt es auch besondere CHIP-Sätze. Ausserdem braucht man eine höhere Signalstärke als bei üblichem GPS. Man sieht dies auch auf den professionellen DGPS- web sites anhand der handtellergroßen Empfänger. Zudem werden die Empfänger meist auf freiem Feld betrieben und die Antennen sind auf einem Stativ um Probleme durch Interferenzen und Mehrfachausbreitung zu vermeiden. Diese Voraussetzungen sind bei Rasenmäher (zumindest in meinem Garten) in der Regel nicht erfüllbar. Eine gute site ist http://www.precision-gps.org. Schaut man sich das C-Programm an, sieht man welch Riesenaufwand in der Verarbeitung der Rohdaten steckt, wenn man selbst aus den Rohdaten die Position errechnen möchte.

Aber auch die GPS werden ja laufend besser und leistungsfähiger. Also Hoffnung trotzdem nicht aufgeben und experimentieren. Ich lasse mich gern eines besseren belehren.

Zu den rotierenden Baken: Reicht die Zeit während der der Strahl am Empfänger vorbeistreicht aus um 1. den Empfänger zum Ansprechen zu bringen, 2. um die Kennung zu übertragen ? Zumindest bei der Kennung könnte es schwierig werden. Ordnet man 4 Baken in den Ecken eines Rechtecks an, müsste man eigentlich ohne Kennung auskommen können. Die Signale werden aufgrund der Geometrie geordnet nacheinander eintreffen.


Viel Erfolg

Christian

Christian H
21.10.2007, 08:39
Hallo nochmal,

das mit den Ecken eines Rechtecks kann man verallgemeinern. Der Robo müsste sich nur immer innerhalb des Vielecks befinden, welches durch die Baken aufgespannt wird. Dann kommen die Signale immer in der gleichen Reihenfolge an, wenn die Baken synchron rotieren.

mfg

sigo
21.10.2007, 13:59
Zu den rotierenden Baken: Reicht die Zeit während der der Strahl am Empfänger vorbeistreicht aus um 1. den Empfänger zum Ansprechen zu bringen, 2. um die Kennung zu übertragen ? Zumindest bei der Kennung könnte es schwierig werden. Ordnet man 4 Baken in den Ecken eines Rechtecks an, müsste man eigentlich ohne Kennung auskommen können. Die Signale werden aufgrund der Geometrie geordnet nacheinander eintreffen.


Christian

Chrsitian, eine Kennung braucht man schon, denn es kann ja auch mal eine Bake verschattet werden. Ich würde eh reichlich Baken nehmen, wegen der Redundanz.

EDIT: Wenn man eine zeitlich begrenzte Verschattung akzeptieren kann, wie bei einem Rasenmäher, kann man natürlich auch ohne Codierung arbeiten. Das würde die Sache sehr vereinfachen. Ich dachte eher an einen Garten mit Bäumen etc, der vielleicht auch L-förmig ums Haus geht, in dem immer mal Sensoren verschattet werden..hier könnte man natürlich auch anhand seiner Map div. Plausibilitätstests usw. anstellen...ist aber auch kompliziert END EDIT

Ich habe schon ein paar Versuche zu dieser Methode gemacht.
Das System ist skalierbar in Bezug auf räumlich eund zeitliche Aufösung und auch die Ausdehnung.

Ich habe mit einem TSOP7000 experimentiert. Das ist ein IR-Empgänger analog zu den bekannten TSOP17xx, aber er arbeitet mit 455kHz Trägerfrequenz. Es ist eine Reichweite von, ich glaube, 25m oder so für eine normale schnell IR-Diode angegeben.
Der Empfangswinkel beträgt ca. 90° bei 50% Empfindlichkeit.
Der Ausgang ist open Collector.
Ich würde einfach mehrere solcher Sensoren (4/ 6 / 8) so anordnen, dass sie 360° abdecken und alle gemeinsam verodert sind.
Das wäre schon der komplette Empfänger. Wenig Energieverbrauch und solide. Der TSOP erlaubt Impulszeiten von min. 22µs bzw. 26µs Pause.

Der Sender muss nun einen gebündelten vertikal aufgeweiteten Lichtstrahl erzeugen. Dieser darf nicht zu schmal sein, aber auch nicht zu weit, damit er nicht mit anderen Baken überlappt. Da der Strahl sich mit einem bestimmten Winkel öffnet und er rotiert, ist die Zeit, in der der Empfänger beleuchtet wird, immer gleich groß.

Der Empfänger empfängt nun einen Ausschnitt von Impulsen einer Bake, z.B. ca. 10-30 Bits bzw. ca. 500-1500µs, je nach Abstand und Empfangsleistung.

Anhand der Codierung z.B. Puls-Pausenverhältnis, einfach nur Frequenz des Signals oder so... erkennt er nun welche Bake es ist.
Und, er kann sich aus der empfangenen Bitfolge die Mitte bilden und somit Toleranzen im Empfang (anzahl der Bits) ausgleichen. So ist eine Genauigkeit von 2-3 Bitzeiten oder besser möglich.

Bei 20kBit/s und 20U/s wären das 1000Bit /U
Wenn man also auf z.B. 3 Bitzeiten auflösen kann, kommt man auf ca. 1° Winkelauflösung. Damit kann man allemale arbeiten.
Und man bekommt 20x pro Sekunde die Winkel- bzw. Positionsinfo.
Bei einer Strahlöffnung von 5° würde man also ca. 15Bit "sehen". Solange man dafür sorgt, dass immer mind. 3 Sender einen Abstand >z.B. 10° zueinander haben, ist eine sichere Funktion gewährleistet. Überlagerungen können aufgrund der resultierenden Frequenz und einer Schwebung erkannt werden und ggf. sogar noch erkannt..
Natürlich kann man beliebig an der Drehzahl der Baken drehen und feiner Auflösen oder eben schneller..

In der einen Bake, die ich gebaut habe, habe ich einen kleinen schmalen 5x20mm-Spiegel aus einem Scanner rotieren lassen mit dem ich eine */-10° IR-Diode umgelenkt habe. Die Motorlage mit einer Gabellichtschranke bestimmt. Zum Versuch habe ich einfach UART-Objekte gesendet, die den Drehwinkel über der Umdrehung gesendet haben. Der TSOP wurde einfach an den UART des Controllers gehangen..

Bei bestimmten Drehzahlen funktionierte das prima. Bei anderen habe ich natürlich unvollständige UART-Objekte empfangen, und Müll gelesen.
Größere Objekte mit Mancester-Coding bestehend aus Startsequenz, ID, Winkel, CRC, zusammen also 20-30Bit Minimum) wären natürlich das Mittel der Wahl. Dann könnten die Baken sogar unsynchronisiert laufen. Ala Ethernet..
Man bräuchte dann 2 x 30bit+ ein bisschen um sicher ein Objekt zu empfangen.
Aber große Objekte machen natürlich die Auflösung kaputt..
Da müsste die Datenrate dann bei 10MBit liegen müssen. Technisch auch machbar..

Daher bin ich auf die synchrone Methode bekommen...

Meines Erachtens wären verschiedene Frequenzen am einfachsten. Da genau identifizierbar, unabhängig von veriablen Pulsweiten, und regelmäßigem Wechsel der Bits...--> große Positionsauflösung..

EDIT: Ab einer bestimmten Geschwindigkeit kommt natürlich sozusagen der Doppler-Effekt zum Tragen. Denn da der Mäher sich ja bewegt, wird die empfangene Frequenz verschoben. Das sollte aber beim aktuellen Tempo kein Thema sein.

Das System könnte ich mir auch als Alternative für den Roboterfußball vorstellen, da dann jeder Bot nur die Fotoempfänger braucht und nicht von einer Kamera gesagt bekommen muss, wo er ist... Auch ist hier die Arena ja sehr klein. 4 Baken an den Ecken und fertig..

Sigo

sigo
21.10.2007, 16:08
Nochmal zur Kennung:

Überlegung zur Kennung mittels Frequenz:

Da einen keiner zu festen Bitzeiten zwingt kann man beliebige Frequenzen erzeugen, solange die On-Zeit>22µs und <500µs ist und die Auszeit >26µs. Zusammen also rund 50µs oder 20kHz.

Ich kann jetzt beliebig z.B. wie folgt codieren:

Bake 1: 20kHz
Bake 2: 18kHz
Bake 3: 16KHz
Bake 4: 14kHz
Bake 5: 12kHz
Bake 6: 10kHz
...

Geht das? Oder macht der Dopplereffekt Probleme?

Untersuchung:
Beispiel:

Strahlweite 3,6° = 1/100 U

20U/s entsprechen 50ms/U
oder 500µs pro 3,6°

Die Trägerfreuenz von 455kHZ gibt Perioden von ca. 2,2µs vor. So hoch kann ich theoretisch die Pulsweite beim Senden auflösen und somit eine Frequenz eingestellt werden. Ich kann also o.g. Frequenzen locker realisieren.

Betrachtung zur Fahrgeschwindigkeit / Dopplereffekt:

n=20U/s = 50ms/U = 138µs/°

bei r = 10m wäre U = 31,4m und 1°= 8,7cm Wegauflösung

d.h. die Geschwindigkeit des Lichtstrahls beträgt dann 8,7cm/138µs oder 630m/s. Dazu würde sich die Geschwindigkeit des Bots addieren bzw. subtrahieren und dabei die Frequenz verstimmen.
Die Verstimmung liegt also bei 10m Abstand und 1m/s bei << 1%
Bei 1m Abstand wären das dann "nur noch" 63m/s Umfgangsgeschwindigkeit. Hier macht sich ein Tempo von 0,6m/s dann mit 1% Frequenzverstimmung bemerkbar.

Fazit: Das macht bei einem Rasenmäher, in der Sub-Formel-1-Klasse kein Problem. Frequenzabstände von ca. 10% oder 2kHZ/20kHZ sollten allemale sicher unterscheidbar sein sein.

Nun stellt sich die Frage nach der Auswertung der Frequenz im Bot.


Frage: Kann man das über eine Zählermessung ala Frequenzzähler realisieren? Problem: Die Messdauer ist sehr klein.

Bei o.g. Beispiel hatten wir bei 3,6° Strahlweite eine Dauer von 500µs in der etwas empfangen wird. Das sind bei 20kHz nur 10 Perioden. Bei 10kHz sogar nur noch 5 Perioden.
Wenn man also 1 Perioder "verpasst" hat man schon einen Fehler von ca. 10 bzw. 20%

Fazit: So geht es nicht.

Also muss gesampled werden:

Wie groß ist der Unterschied der Periodendauber zwischen 20kHz und 18kHz?

20kHZ <=> 50µs
18kHz <=> 55,5µs

Hmm, hässlich wenig aber OK.
Also dann einen Zähler mit >1MHz laufen lassen und die Periodendauern der vollständigen Perioden mittels Port-Change-Interrupt messen und ersatmal in Liste schreiben (ca. 10-30 Bytes pro Bake) später auswerten. Falls kein Port-Change erfolgt, Empfang beendet..

Gleichzeitig mit einem 2. Timer die gesamte Empfangsdauer vom ersten bis letzten Impuls messen (um dann die Mitte zu nehmen..)
Wenn Empfang einer Bake beendet, Zeitpunkt der Mitte des empf. Signals bestimmen und Frequenz des Signals, speichern.

Dito für die anderen Baken.
Wenn ein kompletter 360°-Zyklus rund ist, kann erstmal in Ruhe gerechnet werden. Die Peilwinkel ausrechnen usw..
Man lässt halt einfach eine Runde oder 50ms vergehn und hat genug Zeit für die Auswertung. Ergebnis an Host...

So hätte man alle 100ms eine Positionsuflösung von ca. 8,7cm in 10m Entfernung. Entsprechend weniger in geringerer Entfernung..
Wenn die Baken langsamer rotieren und der Lichtstrahl schmaler (Laser) wird, steigt die Auflösung entsprechend. Hier kann dann ggf. der Dopplereffekt zuschlagen..

Das System wäre in Grenzen skalierbar. Es gibt nirgends irgendwelche High-Tech-Anforderungen an Rechenleistung usw.
Drehzahl, Strahlweite, Stralleistung, Modulationsfrequenz, Anzahl der Baken usw. erlauben weitere Steigerungen. Die Anforderungen an das Fahrzeug sind gering. Ideal auch wenn man mehrere Fahrzeuge bewegen möchte.

Bisher allerdings noch weitgehend ein Gedankenmodell.

Any comments?

Sigo

Christian H
21.10.2007, 16:40
Hi sigo,
Das IR-VOR hast Du Dir ja gut überlegt und müßte funktionieren.
455 Khz 20U/sec. Pro Grad also in 1 / 7200 sec. entspricht 63 Perioden


Vielleich können folgende Überlegungen noch weiterhelfen:

Der Roboter kennt ja zu Beginn einer Messung, entweder durch vorherige Messungen oder Eingabe des Ausgangsstandortes, seine ungefähre Position. Also weis er wann welche Signale von den Baken zu erwarten sind. Kommt ein Signal nicht zum erwarteten Zeitpunkt ist klar, dass es abgeschattet ist. Damit könnte man auf Übertragung der Kennung vielleicht verzichten.

Die Zeit zum Einschwingen des Empfängers sollte bei 455 Khz ja kein Problem sein. Trotzdem ist wahrscheinlich der Zeitpunkt zu dem der IR-Strahl wieder am Detektor vorbei ist, sprich das Signal verschwindet, genauer zu bestimmen.

Die Genauigkeit der Messung hängt nach dem bisherigen Modell davon ab wie genau der Startzeitpunkt des rotierenden Strahls, entweder durch synchronisierte Uhren oder durch Funk bekannt ist. Beim VOR in der Fliegerei wird ja eine ähnliche Methode verwendet. Zum Startzeitpunkt (0 °) wird dabei ein zusätzliches Signal ausgesandt. Der Winkel ergibt sich dann einfach aus dem zeitlichen Abstand von Startsignal und rotierenden Signal.

Das Startsignal muss natürlich ein Rundumsignal sein. Die Signalintensität ist damit zu dem fokusierten rotierenden Signal deutlich schwächer. Dieses Problem könnte man dadurch umgehen, dass man zwei rotierende Strahlen verwendet, wobei sich einer doppelt so schnell wie der andere dreht. Mit Spiegeln auf 2 Zahnräder sollte das problemlos machbar sein. Aus der Zeitdifferenz der beiden Signale ergibt sich wieder der Winkel. Allerdings sind diese nur in einem Bereich von 180 Grad eindeutig. Bei mehreren Baken sollte aber auch kein Problem sein. Um mehrere Baken auseinander zu halten könnte man sie ja nur kurzzeitig nacheinander aktivieren. Die zeitliche Auflösung würde damit etwas sinken. Aber 2 Gesamtmessung pro sec für 4 bis 6 Baken wäre doch wohl ausreichend. Wenn allen Baken etwas unterschiedliche Drehgeschwindigkeit haben, erübrigt sich damit auch die Kennung mit Impulsfolge.


Mein Lösungsvorschlag wäre also:

Pro Bake zwei rotierende Spiegel oder Prismen mit Zahnräder 1 : 2 verbunden (können ruhig entgegengesetzt laufen). Die 0 Grad Linie einer Bake ergibt sich dort wo beide Strahlen zusammenfallen. Die Spiegel sind etwas in der Höhe versetzt und werden von einer einzigen IR-Diode oder Laser (vertikal aufgefächerter Strahl) von der Seite angestrahlt.

Zugegebenermassen stellen sich einige Anforderungen an eine stabile Mechanik.

Die Baken senden nur kurzzeitig (geordnet nacheinander oder vielleicht auch per Zufall) mit unterschiedlicher Rotationsfrequenz. Dabei kommt mir, dass man selbst bei Dauerbetrieb der Baken diese aufrund der bekannten Periodenlängen auseinanderhalten können müsste.

Als Zeitmarker dient jeweils Ende des IR-Signals.



Der erste Schritt ist wohl auf die gewünschte Entfernung einen rotierenden Strahl sicher zu erfassen. Alles weitere kann man darauf aufbauen und sollte dann kein Problem sein.



Grüsse

Christian

sigo
21.10.2007, 18:23
@Christian:

Deine Überlegungen sind gut.

Ich habe natürlich auch schon gedacht, dass der Synchronimpuls auch per Rundum IR kommen könnte.

Mir fehlte allerdings die Idee, die Baken abwechselnd senden zu lassen.
Das wäre natürlich nur auf Kosten der zeitlichen Auflösung möglich. Natürlich wäre es ungenauer, wenn ein Satz Winkel nicht zeitlich zusammen passen würden. Man müsste sie dann wieder mit dem gefahrenen Vektor korrigieren....da bin ich dann fies vor...

2. Dein Vorschlag bez. 2er rotierender Spiegel. Ist natürlich auch klasse. Ich mag aber nicht soviel Mechanik! Ist eh schon zuviel.

Da IR-Dioden aber auch nicht viel kosten und sie ja im Pulsbetrieb arbeiten (1/360 ED oder so), kann man sie auch 180° breit senden lassen..(z.B. 18 Stück a +/-10° mit reichlich Überlappung.

Wenn man wegen der Reichweite mit Laser arbeitet, wären aber wohl die 2 Spiegel günstiger.

Zitat:
"Die Zeit zum Einschwingen des Empfängers sollte bei 455 Khz ja kein Problem sein. Trotzdem ist wahrscheinlich der Zeitpunkt zu dem der IR-Strahl wieder am Detektor vorbei ist, sprich das Signal verschwindet, genauer zu bestimmen. "

Du würdest also dauerhaft ein unmoduliertes 455kHz Signal aussenden. Und dann den Impuls empfangen. Das ergäbe natürlich die max. zeitliche Auflösung, sofern man keine Identifizierung braucht aber es hängt auch von der Lichtintensität ab.
Da jede Lichtquelle eine Keule bildet, deren Breite je nach Intensitätsschwelle variiert, würde ich vermuten, dass der Fehler durch die Breitenvariation größer sein könnte, als die Mitte des Empf. Signals. Aber das sind Details.

Ein spannendes Thema.

CIh denke aber, dass das Senden der Frequenzen eigentlich nichts kostet. Sondern eben nur die eindeutige Identität des Senders mitliefert. So erreiche ich insgesamt eine höhere zeitliche Auflösung.

Es wäre noch eine Überlegung, ob man überhaupt wissen muss, wo die Baken stehen. Anhand der Änderung der Peilung nach z.B. 5s zusammen mit der Odometrie, kann man sich ja auch orientieren, oder? Wenn der Bot einfach eine Strecke von z.B. 2m nach Nord abfährt, hat er schon 2 Punkte mit Peilungen. Oder ggf. einen Kreis mit gegebenem d. Nahc und nach kann er seine eigene Karte entwerfen..

Frage: Geht das?

Sigo

Christian H
21.10.2007, 19:56
Hi sigo,

mehr geht´s wie Dir, ist mir auch zu viel Mechanik.

Trotzdem habe ich versucht die Sache mit den 2 verschieden schnell rotierenden Spiegeln nochmal graphisch darzustellen. Selbst bei gleichzeitig sendenen Baken sollten mit etwas Rechnerei alle Strahlen richtig zugeordnet werden können. Praktisch aus dem zeitlichen Muster aller Signalimpulse zusammen ergibt sich die Position.

Hoffe die Sache ist verständlich.

Allerdings, wie Du schon sagst zuviel Mechanik. Mit dem Einschwingen und der Strahlbegrenzungsschärfe hast Du wohl auch recht. Wäre aber mal einen Versuch wert.

Eigentlich wäre mir auch der ganze Aufwand mit mehreren Baken zu groß. Die müssen ja alle exakt aufgestellt und ausgerichtet werden.

Das ist wohl das große Problem der Robotergemeinde. Wenn einer es schafft mit einfachen Mitteln einen Robo auf cm innerhalb eines komplexen Geländes von etwa 30 x 30 m zu lokalisieren hat er wohl den Roboternetz-Nobelpreis verdient.

US: Problem mit Reichweite, Wind und Abhängigkeit der Schallgeschwindigkeit von Temp. etc.Störquellen

UKW: Problem mit Interferenzen.

Optisch: Problem mit Mechanik. Erzeugung eine Fächerstrahls. Robo kann ja auch mal höher oder tiefer stehen. Aber vielleicht doch am aussichtsreichsten.

DGPS: In aller Munde. Möchte ich mal erfolgreich demonstiert bekommen!

Mittelwelle, Langwelle: Peilung wie annudazumal ? Wohl ungenau.

Kamera und Objekterkennung: Kamera auf Robo: Wegen erforderlicher Rechnerleistung sicher nicht einfach. Erfodert Trainieren des Robo. Evtl. markanten Punkt zur Orientierung schaffen. Z.B. Roter Laserpointer auf Hauswand gerichtet. Kamera sucht nur roten Punkt in weissen Feld und verfolgt diesen. Schiefstand von Robo müsste ausgeglichen werden. Auch nicht ideal. Kamera an festen Standort z.B. Hausdach. Auch nicht das gelbe vom Ei.

Mehrere pulsierende Rundumlichter (oder IR) detektiert mit Rundumkamera auf Robo (Fischauge oder mehrere Kameras) ?


Was gibt´s noch ?


Gruss

Christian

sigo
21.10.2007, 22:58
Hi sigo,


Eigentlich wäre mir auch der ganze Aufwand mit mehreren Baken zu groß. Die müssen ja alle exakt aufgestellt und ausgerichtet werden.

Christian

Ich bin mir nicht sicher, ob man die Baken wirklich genau positionieren muss, oder ob deren Existenz schon reicht.

Normalerweise braucht man ja eine Karte, siehe auch Seekarte, oder Flugkarte mit Peilsendern..

Aber ich glaube, dass man im Falle Rasenmäherrobo die Karte selbst lernen kann. Denn das Spielfeld ist ja durch das Kabel begrenzt, und aktuell fährt er ja auch nur Zufallswege. Wenn er also ein paar Orientierungsfahrten machen würde, könnte er sich dann nicht die Position der Peilsender selbst ermitteln? Mit Hilfe seine Odometriesensors und ggf. des Kompasses.


Ich hab grad mal ein wenig recherchiert. Hier fielen mir vor allem die folgenden Links auf:

http://www-personal.umich.edu/~johannb/shared/pos96rep.pdf

Das ist ein echt klasse Buch zum Stand der Positionsbestimmung von 1996.
Schau dir mal die Seiten 166 bis 172 an.

Danach habe ich noch diesen Link gefunden:

http://www.uni-koblenz.de/~agrt/lehre/ss2003/seminar/andreas_kind.pdf
Dito ein kurzer Überblick auf deutsch.
Hier Seite 11-13

Der hat mich dann zu dieser Dissertation von Ingo Jotzo geführt, die unser Thema auf 239S. bearbeitet. Werde mir das morgen mal ansehen.

http://deposit.ddb.de/cgi-bin/dokserv?idn=968783058&dok_var=d1&dok_ext=pdf&filename=968783058.pdf

Viel Spaß beim Schmökern.

Sigo

Christian H
22.10.2007, 05:38
Hallo sigo,

gute Links! Alles in dem ersten Buch ist aber wohl in der gehobenen Preisklasse.

Noch ein Vorschlag zu der Bake mit 2 rotierenden Laserstrahlen. Dies kann man ja wesentlich vereinfachen! Der 2. Motor und Laser wird einfach durch einen Spiegel ersetzt! Das könnte mechanisch noch machbar sein. Laser mt Fächerstrahl kann man fertig kaufen. Es funktioniert aber auch wenn man einen spiegelnden runden Stahl mit einem Laserpointer anstrahlt. Hab ich eben mit einem Schraubenziehen probiert! Also einfach Rundstahl etwas exzentrisch auf gehacktes Servo setzen. Laser senrecht darüber positionieren. Spiegel dahinter. Drehzahl messen ( z.B. CNY70 und Diode) und auf gewünschte Rotationsgeschwindigkeit regel. Alles fest in einem stabilen Gehäuse fixieren. Fertig ist die Bake. Laser gegebebenfalls noch modulieren. Jetzt hängts nur noch davon ab ob die einzelnen Laserimpulse mit einem Phototransistor o.ä. und Hochpassfilter erfasst werden könnten. Mindestens 2 Baken und Impulsfolge im Mikrocontroller auf Robo auswerten. Könnte funktionieren und wäre nicht zu kompliziert! Exakte Zeitmessung wäre sicher kein Problem. Das könnte eine Genauigkeit im cm Bereich auf 10 m ergeben.

mfg

Christian

sigo
22.10.2007, 21:56
Hallo Christian,

OK, hab deinen Vorschlag verstanden.

1. Strahlaufweitung:
klar, wahlweise auf verchromtes Rohr oder eben einen Streifenlaser

2. Ein 2. planer Spiegel: klasse! Aber woher weiß der Robo aber, welcher Strahl vom Spiegel und welcher vom Laser kommt? Je nach Quadrant ist das doch unterschiedlich. Wenn ich dich richtig verstanden habe, haben wir keine zeitliche Synchronisation, oder?

3. Auseinanderhalten der Baken durch abwechselndes Senden


3. Servo bzw. Motor:

Gehacktes Servo höchstens für einen allerersten Versuch, es hat keine große Standzeit

Mit dieser Methode kann der Laser wahrscheinlich auch problemlos 100U/s drehen, wenn der Lichtstrahl nicht moduliert sein muss.
Ich würde einen kleinen drehzahlgeregelten Brushless - DC - Motor nehmen.

Man könnte z.B. einen kleinen PC-Lüfter nehmen, dem man die Flügel entfernt. Die Teile haben eine recht ordentliche Standzeit, sind leise und und laufruhig.

4a. unmodulierter Laser

Evtl. könnte das ja sogar tatsächlich mit einem Differenzierer / Impulsverstärker gehen, wenn der Strahl eingermaßen scharfe Kanten hat. Er müsste mehrstufig sein und nur schnelle Änderungen durchlassen.
Dieser Verstärker wäre aber auf dem Robo platziert und würde auch Erschütterungen und Vibrationen ausgesetzt. Evtl. würde dadurch auch die Sonne oder andere Lichtquellen moduliert und verstärkt. Der Verstärker würde (teilweise) mehrfach benötigt, da eine Rundumsicht erforderlich ist.
--> auch aufwändig

4b. modulierter Laser

Ich denke eher, dass es ein modulierter Laser sein muss, wegen aller Vorteile, die das bringt

- schmalbandiger Empfänger --> störsicherer
- hohe Verstärkungen driftfrei realisierbar

Ich würde nachwievor versuchen, den billigen Baustein TSOP7000 zu verwenden, da man dann die ganze hochempfindliche Verstärkerschaltung integriert hat. Einfach 4-8 Bausteine Rücken an Rücken, fertig.

Der Sender würde aber einfach nur auf der Trägerfrequenz von 455kHz senden. Sobald der Laser den Sensor für mind. 22µs beleuchtet, löst der Sensor aus. Also keine weitere Modulation, keine Datenübertragung etc..

kurze zeitliche Überlegung:
Wenn der Spiegel mit 100U/s rotieren würde, würde ein 1° weiter Strahl 27µs über einen punktförmigen Sensor streichen, das würde schon reichen.
Aber man kann ja auch mit 50U/s rotieren... *gg*

Der Empfänger ist billig und fertig. Deshalb wollte ich den auch evtl. nehmen. Hochverstärkende Schaltungen sind ja nicht trivial.

Der Laser muss dann ein IR-Laser zwischen 880 und 950nm sein.
Oder eben eine IR-LED mit Optik.

Frage: Wo gibt es solche Laserdioden? Was kosten die? Wie schnell kann man sie modulieren? Wie sind die Sicherheitsanforderungen? Vorteil: Der Laser strahlt nie lange auf einen Punkt.

Soweit meine Gedanken dazu.

Gruß Sigo

Christian H
22.10.2007, 23:37
Hallo Sigo,

zu 2: richtig eindeutig ist´s wohl nur für einen Quadranten. Platziert man 2 Baken etwas ausserhalb der Ecken eines rechteckigen Spielfeldes könnte das schon ausreichen. Ausserdem springt man ja nicht von einem Quadranten in den anderen. Gerade bei hoher Umdrehungsgeschwindingkeit müsste man einen kontinuierlichen Übergang von einem in den anderen Quadranten feststellen können.

zu 3: Abwechselndes Senden ist gar nicht notwendig. Die Baken läßt man mit unterschiedlicher Geschwindigkeit rotieren. Am Rhythmus erkennt man dann welches Signal zu welcher Bake gehört.

PC Lüfter ist gut. Geschwindigkeit müsste man halt verlangsamen.

Modulierter Laser ist wohl besser. Ich werde mal einige TSOP 7000 bestellen. Bin gespannt wie empfindlich die reagieren und auf welche Entfernungen man kommt.

Es ist sicherlich gut dass die gesamte Mechanik in den Baken ist und nicht auf dem Robo. Dadurch sind Erschütterungen kein Problem.

Ich denke das lohnt sich auszuprobieren. Laserdioden kann man sicherlich schnell modulieren. Da sehe ich kein Problem. Gut wäre wenn der TSOP7000 auch auf roten Laser ensprechen würde, damit man sich nicht aus versehen die Netzhaut verbrutzelt.

Gruss Christian

Christian H
22.10.2007, 23:50
Habe eben noch das Datenblatt angesehen. Mit roten Laser geht leider nicht´s.

sigo
23.10.2007, 08:49
Habe eben noch das Datenblatt angesehen. Mit roten Laser geht leider nicht´s.

Ja, ich weiß. Also muss ein IR-Laser her.
Ich denke eh, dass ein roter Strahl doch etwas seltsam im Garten kommt.

Kennt jemand eine Quelle für günstige IR-Laser-Dioden?

Sigo

sigo
23.10.2007, 10:34
zu 2: Mir wäre schon ein knapp 180° Radius lieber, bei eindeutiger Erkennung, ohne zusätzliche Restriktionen.

Evtl. kann man den 2. Strahl doppelt so breit machen.
1. gewölbter Spiegel, evtl. reicht ein verspannter normaler Spiegel, ist ja nur minimal.
2. 180° Segment eines Plexi-Rohres zwischen rotierenden Reflektor und Spiegel.
Der innere Radius des Rohres ist ja ein wenig kleiner als der Äußere somit haben wir in der Strahlebene eine Konkav-Linse. (oder?) Die Wandstärke entscheidet die Aufweitung. --> irgendwann mal ausrechnen..

zu 3: Hmm, Rhythmusbestimmung ist sicher machbar aber dann auch aufwändig zu identifizieren. Besonders wenn mal ein Strahl fehlt, usw.

zum Lüfter) Es gibt PC-Lüfter mit Taktausgang. Dazu passend gibt es auch gleich Drehzahlegel-ICs mit Überwachung der Drehzahl.

zu Christian schrieb: "Es ist sicherlich gut dass die gesamte Mechanik in den Baken ist und nicht auf dem Robo. Dadurch sind Erschütterungen kein Problem. "

Definiv, daher ja auch mein Vorschlag das so zu machen.
Ein weiterer Punkt ist, dass die Scan-Ebene ja waagerecht sein muss. Ein Bot, der mal auf einem kleinen Hügel fährt oder in ein Schlaglock würde ja seine Scan-Ebene verändern und in die Luft gucken..

Sicherheit:

Der Laser darf nur senden, wenn der Motor mit Nenndrehzahl rotiert. Das ist mit dem Taktausgang des Lüfters ja billig und sicher machbar.
Dann sind Expositionszeit und Einschaltdauer ja sehr kurz (ca. 30-100µs bzw. 1/360).

Sigo

Robotniks
23.10.2007, 16:26
Hi,

schau mal in die Elektor mit den Roboter Inhalt.
Da war was drinn mit GPS-Navigation.

Grüße Oli

sigo
31.10.2007, 16:03
Ich habe gerade mit TSOP7000 und einer normalen schnellen +/-10° - IR-LED ohne Reflektor @100mA,peak 12m weit gesendet.

Eine Datenübertragung mittels 8N1 UART-Objekten war bis ca. 7m @19,2kBit/s möglich.

Etwas jenseits der Spezifikation habe ich mit dem TSOP7000 gerade mit 38,4kBit/s auf ca. 5-6m übertragen.

Mit Optik, noch engerer Bündelung, 5x größerem Sendestrom, mehreren Dioden etc sollte noch einiges mehr möglich sein, bzw. die 12m noch zuverlässiger.

Apropos, gibt es eigentlich 1W IR-LEDs mit Optik? Ala Lumiled.. :)

Als nächstes werde ich dann mal eine Mechanik machen, die den Lichtstrahl rotieren lässt.

Sigo

Christian H
01.11.2007, 13:58
Hallo


sigo: Eine reichweite von 12 m klingt ja vielversprechend. Wie sieht´s im Freien mit Sonnenlicht aus ?


Ich habe inzwischen an der Laserbake etwas bebastelt. Hierzu habe ich eine alte Festplatte ausgeweidet. Übrig sind nur das Gehäuse und die Festplatten. Darauf ist ein kleiner Spiegel montiert. Die Ansteuerung des Festplattenmotors ist mir zu kompliziert, insbesondere wenn man einen guten Gleichlauf haben will. Man bräuchte hierzu Drehstrom. Die Festplatte hat aber den starken Vorteil einer guten Stabilität und hohen Schwungmasse um eben einen guten Gleichlauf zu erreichen. Als Antrieb habe ich einen brushless Lüfter Motor und einen CD-Playermotor ausprobiert. Der Lüftermotor hätte den Vorteil, dass man über die gelbe Leitung die Geschwindigkeit kostenlos mitgeliefert bekommt. Der kleine CD- Motor läuft aber glechmäßiger.

Um einen Fächerstrahl zu erzeugen, verwende ich eine durchgebrannte Sicherung, wie auf den Bildern zu sehen. Funktioniert sehr gut.

Über den Spiegel werden pro Umlauf zwei Laserstrahlen auf den Sensor gelenkt. Der zeitliche Ablauf liefert den Winkel zur Bake.

Ein Bild zeigt den Empfänger. In der HF-Schachtel ist eine schnelle Photodiode und 2 stufiger Transistorverstärker. Ohne HF-Abschirmung gibts massig Störung durch den Mikrocontroller.

Das Signal geht ausserhalb der HF-Schachtel auf einen weiteren Verstärker. Am Eingang zusätzlich ein Hochpass mit Kondensator und Spule. Der Ausgang geht dirakt an einen Port des Mega32. Vorerst messe ich nur das Verhältniss der Zeiten zu denen die Laserstrahlen auftreffen.

Die Signale selbst kann man noch in 10 m Entfernung am Knacksen über einen Kopfhöhrer nachweisen.

In kleineren Entfernungen bis etwa 2 m ergibt sich eine Auflösung unter 1/3 Grad. Mit 2 Baken wäre eine gute Ortsbestimmung insofern möglich. Das Rauschen nimmt allerdings bei Sonnenlicht deutlich zu. Ausgereizt ist der Aufbau sicherlich noch nicht. Zumindest ein Rotlichtfilter müsste noch eine deutliche Verbesserung bringen. Die Anordnung mit dem Spiegel kann man verbessern. Für den Verstärker gibt´s sicher auch Verbesserungsmöglichkeiten, zumal ich Elektroniklaie bin. Vorteil der Bake ist ein simpler Aufbau.


http://www.rasenrobo.de/IMGP2065.JPG
http://www.rasenrobo.de/IMGP2066.JPG
http://www.rasenrobo.de/IMGP2068.JPG
http://www.rasenrobo.de/IMGP2072.JPG
http://www.rasenrobo.de/IMGP2073.JPG
http://www.rasenrobo.de/IMGP2074.JPG


Video:
http://www.rasenrobo.de/IMGP2070.AVI

Der Spiegel dreht sich natürlich durch den Stroboskopeffekt nur scheinbar so langsam. (Kann man auch als Hinweis auf guten Gleichlauf ansehen)Zumindest etwa 20 U/sec sind kein Problem.


Nich böse sein, falls ich auf weitere Nachfragen zum Aufbau nicht so schnell antworten werden. Im Moment fehlt mir etwas die Zeit. Mir ging es primär darum zu zeigen, dass die Idee mit dem Spiegel funktionieren und zu einer hohen Ortsauflösung führen würde. Praxistauglichkeit ist natürlich eine andere Sache.


mfg

Christian

sigo
01.11.2007, 15:16
Hallo


sigo: Eine reichweite von 12 m klingt ja vielversprechend. Wie sieht´s im Freien mit Sonnenlicht aus ?



Ich hab den Versuch bei Sonnenschein im Garten gemacht. Allerdings so gegen 15:30h.

Eine Festplatte ist natürlich von der Lagerung und dem Gleichlauf optimal.

Und 1/3° ist ja super. Wenn du das praxisgerecht hinbekommst, dann wäre das der Hammer.

Bedenke bitte auch, dass du ja eine Rundumsicht der Fotodiode(n) brauchst. Wenn du mit mehreren Fotodioden arbeitest, belastet die Kapazität der anderen Dioden die aktive Diode. Wenn du mehrere Verstärker nimmst, wird der Schaltungsaufwand schnell größer.
Eine zirkulare vertikalkonvexe Linse (fesnell-Folie) würde den vertikal aufgeweiteten Strahl bündeln und so die Energie erhöhen können.

Viel Erfolg,

Sigo

martinpi
08.09.2008, 20:07
Im aktuellen Spektrum der Wissenschaften ist ein kurzer Artikel über kommerzielle automatische Rasenmäher. (SdW 9/08, S.94, "Robbie mäht den Rasen")
Diese fahren nur mit Magnetkompass, Odometer, Kollisions-Taster und einem Induktionsdraht als Begrenzung.

Ich denke dass GPS heutzutage ausreichend genau ist.
Flugmodelle kann man auf diese Art steuern, siehe http://paparazzi.enac.fr
Eine Verschiebung kann man vor dem Start korrigieren, so macht es Paparazzi. Ich überlege, eine Steuerung für den Aufsitz-Mäher des Modellflugplatzes mit GPS zu bauen. 5000qm, recheckig, keine Hindernisse, 4h Mähzeit (so ein Husquarna-Ding bräuchte ca. 24h).

Zur optischen Peilung möchte ich noch anmerken dass es IMHO nicht erforderlich ist, die Peilungen gleichzeitig durchzuführen.
In der Seefahrt gibt es das Prinzip der "Versegelungspeilung". Das wendet man an wenn man keine gleichzeitigen Peilungen vornehmen kann. Z.B. kann man die Sonnenhöhe zu verschiedenen Zeiten messen oder man peilt mehrmals den selben Leuchtturm mit dem Peilkompass während man vorbeifährt.
Die erste Messung ergibt eine sogenannte Standlinie, sie verbindet alle möglichen Standorte. Im Fall des Leuchtturms ist die Standlinie der Peilstrahl, das entspricht der Winkelmessung mit der Bake.
Auch die zweite Messung (vom selben Objekt oder von einem anderern) ergibt eine Standlinie. Die Strecke, die seit der ersten Messung gefahren wurde ist annähernd bekannt (Log bzw. Odometer).
Man verschiebt die erste Standlinie um eben diese Strecke, der Schnittpunkt ist der Standort. Mehr als zwei Peilungen kann man natrlich genauso "versegeln".
Im Fall des Rasenmähers müssten demnach nicht alle Baken gleichzeitig senden, damit entfällt das Codierungsproblem.

Eigentlich müsste das auch für das Hyperbel-Verfahren (Messung der Laufzeit-Differenz) gelten, indem man den Ort der ersten Schallquelle rechnerisch um die zurckgelegte Strecke verschiebt. Ich denke dass frühere GPS-Empfänger so arbeiteten, denn diese konnten immer nur einen Satelliten empfangen, dann den nächsten usw.

andish
04.05.2018, 15:57
Passive Baken? :

Festplatte: Coole Idee!

Ich suche aber immer mal wieder ein System, das für lau oder cent zu haben wäre, da ich mit Kids Robotik mache. Daher der Wunsch nach preiswerten Baken. Sie wollen sich Geld für das nächste Robotik-Projekt mit Rasen-Mähen verdienen, und je kleiner der Aufwand beim Vorbereiten der zu mähenden Gärten, desto besser.


Könnte jemand mal mithelfen, einen kritische Masse an Ideen für ein System mit "passiven Baken" zusammen zu tragen?

Ich mache mal eine Anfangsspende:

Baken:
Ich möchte "Speichenreflektor-Stäbchen" (3M SecuClip, z.B. Speichenreflektoren von Büchel) verwenden, die sind <10cm lang und haben ca. 5mm Durchmesser. (Sie werden längs in jede Speiche jeden Rades geclipst und ersetzen dann die gelben Katzenaugen auch nach StVO.)
Diese könnte man mit Polarisationsfolie schräg umwickeln und dann beim reflektierten Strahl den Winkel messen.
Zweite Methode der Codierung einer Baken-Nummer wäre es, die Stäbchen mit Streifen anderer Farbe oder schwarz zu umwickeln und eine Art senkrechten Barcode zu realisieren. Nachteil ist, dass man dann "3D" abtasten muss, aber je nach Unebenheit/Schräge im Gelände braucht man das eh'.

Der Vorteil einer runden Bake ist, dass von allen Seiten das Stäbchen gut zu sehen ist. (Der Schlitz im Clip stört kaum.)
Man kann es z.B. auf eine alte Speiche stecken und in die Erde rammen. Fertig.

Zur Zeit sitze ich noch auf der Idee, ein altes CD-Rom oder Audio-CD zu schlachten. Daraus gewinnt man:

Den Spindelmotor, der von der Decke eines umgestülpten Glases (Marmelade) hängt und einen Spiegel ca 45° trägt, später soll der einstellbar sein und die "Kuppel" gegen den senkrecht von unten kommenden Laser geneigt werden können.

Der Laser wird aufgeweitet, so dass er nahezu parallel mit 1cm Strahldurchmesser verläuft.
Er wird von unten auf den Spiegel gerichtet.
Ich suche noch ein Modulationsverfahren, das eine Pulsung mit guten "Lock-In-Detection"-Eigenschaften verbindet.
Fragt sich, ob man eine eigene Optik für's Detektieren braucht, oder ob man die Optik des CD-Roms "as is" verwenden kann, die nach dem Prinzip des Strahlteilers arbeitet.
(Für Polarisationscodierte Baken: Man könnte die senkrechten 2 Pixel der 4-Quadranten-Empfänger mit unterschiedlichen Polarisationsfiltern bedecken. Mikroskoparbeit...)

Einen Lock-In-Verstärker hat mal jemand mit Cypress PSoC programmiert, da spart man sich viel Löten.
Ebenso gibt es Leute, die mit dem PSoC Brushless-Motoren ansteuern. Mit den meist vorhandenen 3 Hall-Sensoren kann man sehr auflösend den Winkel detektieren, mein Vorhaben ist, die 12 Polwechsel, die CD-Rom-Brushless meist haben, zur Winkelmessung mit analoger Abtastung der Hallsensoren auszunutzen, so dass man unabhängig von Gleichlaufschwankungen wird. Ein bisschen Schwungmasse wird aber sicher helfen. Einen kleinen Fotodetektor extra braucht man für "12h", also die absolute Position unter den 12 gleichen Phasen pro Umdrehung, es sei denn, der Magnet des Spindelmotors ist unsymmetrisch und man bekommt es ohne heraus. (Bisschen nachhelfen, anschleifen... ;)

Die Idee, Kompass und Odometrie mit einzuarbeiten, finde ich toll, die Frage ist, wer da die nötige Sensor Fusion als handhabbares Modul in Software oder Hardware mal ausprobiert hat.
Es soll inzwischen Asics geben, die man sogar mit einem Ein-Pixel oder 16-Pixel Auge für optical flow füttern kann.

Ansonsten habe ich mich für "Indoor" für IR-Fluoreszierenden Farben interessiert, die eine solche Bake vielleicht für das Auge nahezu unsichtbar ermöglichen. Man kann von sichtbar zu 850nm Downl-Converting Pigments als Code nutzen, wenn man mehrere bekommt, sonst muss man wieder "Bar-Coden".

Hoffe, jemand findet den alten Thread immer noch interessant.

Leider ist die Bilderkennung inzwischen so gut, dass jedes Handy das Problem prinzipiell lösen kann, so dass das Interesse an "harten Baken" gesunken ist.
Ich finde aber gerade für Kids es wichtig, dass die Welt in ihrer Komplexität reduziert wird auf simple und zuverlässige Modelle.
Ein paar Leuchttürme mit bekanntem Abstand finde ich da realistisch und sympatischer als Sensor Fusion auf optical flow.

(Ein bisschen Trigonometrie, die einem über das Abi hinaus tragen könnte, fällt da auch bei ab ;)


Gruß!

Andi

HaWe
04.05.2018, 16:55
ich bin gespannt - ich suche so so etwas auch, seit annähernd 20 Jahren, aber die Lösungen für Positionierung heißen leider:
einfach, aber teuer (pozyx für Arduino oder Raspi: 600 EUR)
oder
billig, aber sehr kompliziert, dafür halbwegs zuverlässig (AprilTags plus Cam, etwa 80 EUR schätzungsweise) oder etwas einfacher, aber dafür unzuverlässiger (Arduino plus PixyCam und ColorCode-Tags als Baken, ca. 100 EUR).

GPS ist IMO noch am besten: einfach, aber ungenau (+/-5m, 15EUR), per stat. Referenz-Station schon sehr genau (+/-10cm, 30 EUR), aber schon wieder etwas komplizierter.

Bin aber gespannt auf neue Ideen.