Nach einiger Zeit komme ich wieder zu EE. Entschuldigen Sie bitte meine Unwissenheit. Ich suche nach einer Möglichkeit, den genauen Standort im Freien zu ermitteln, um mit meinen Söhnen einen Roboter für ein Projekt zu steuern.
Gibt es eine kostengünstige Möglichkeit zum Triangulieren oder Verwenden von GPS? Ich bin auf der Suche nach zentimetergenauer Präzision. Es ist mir auch egal, ob ich einige Sender an verschiedenen Orten platzieren muss, um dem Gerät eine Referenz zu geben.
Dies ist für einen Mähroboter. Ich habe einen 2-Morgen-Hof und mein Haus ist in der Nähe der Mitte mit mehreren Bäumen als Hindernisse.
Zwei meiner drei Jungen (14 Jahre, 11 Jahre, 5 Jahre alt) brachten die Idee auf, damit das eigentliche Ziel dieses Projekts darin besteht, Zeit mit ihnen zu verbringen und ihr Interesse an EE & CE zu wecken.
Vor diesem Hintergrund sind die Kosten ein Faktor, aber es ist mir egal, ob wir die nächsten 2 Jahre daran arbeiten und ein wenig Zeit damit verbringen.
Hier sind meine aktuellen Pläne
- Schließen Sie einen Windows-PC an Bord ein, damit ich gegen die Sensoren codieren kann.
- Microsoft Connect an Bord zur Unterstützung der Hinderniserkennung (Grund für Windows-PC)
- Schließen Sie ein USB-GPS für die allgemeine Position ein
- Kamera nur zum Spaß einbinden
In 2 Jahren, wenn ich etwas Geld drin habe, ist das okay, aber ich möchte nicht mit einem verrückten teuren GPS anfangen.
Vielen Dank an alle, die mir geholfen haben !!!!
Antworten:
Sie sollten in Betracht ziehen, das System umzudrehen. Der Roboter muss den Standort nicht selbst bestimmen. Es muss nur wissen, was zu tun ist. Dies kann von einem festen PC über eine WiFi-Verbindung an ihn kommuniziert werden. Bei einer solchen Verknüpfung spielt es keine Rolle, ob der Roboter den Standort ermittelt oder ob dies in der festen Installation erfolgt und das Ergebnis dann an den Roboter übermittelt wird. Sollte der Roboter jemals die WiFi-Verbindung verlieren, könnte er einfach anhalten. Das hält es davon ab, außer Reichweite zu geraten und erhält daher nicht die Information, dass es sich umdrehen sollte, während alle Blumengärten in der Nachbarschaft gemäht werden. Ich denke, es ist auch eine gute Idee, den Roboter so einfach wie möglich zu halten und die ortsfeste Installation so weit wie möglich zu entlasten, wo es einfacher ist, ihn zu überwachen, zu reparieren und damit zu arbeiten.
Ich habe das noch nicht gemacht, aber hier ist etwas, das ich mir ausgedacht habe, als ich über dein Problem nachgedacht habe. Habe einen rotierenden IR-Emitter am Roboter. Dies kann sich etwa einmal pro Sekunde drehen. Es schießt einen ziemlich schmalen vertikalen Spalt von moduliertem IR aus. Dann setzen Sie feste IR-Sensoren um den Ort, meist die Peripherie. Diese zeigen an, wann sie den Strahl vom Roboter erfassen, was nur für einen kleinen Bruchteil des Wiederholungsintervalls gilt. Durch Vergleichen des Timings der Signale von den verschiedenen Sensoren und Erkennen ihrer Positionen sollten Sie in der Lage sein, die Position des Roboters zu berechnen. Der Zeitversatz von zwei beliebigen Sensoren geteilt durch die Beacon-Periode gibt Auskunft über die relativen Winkel dieser beiden Sensoren vom Roboter aus gesehen. Mit genügend Sensoren und ein paar Berechnungen (leicht auf jedem modernen PC in einem winzigen Sekundenbruchteil erledigt), Sie können für die absolute Position des Roboters lösen. Der PC sendet dann über eine TCP-Verbindung über die WiFi-Verbindung entsprechende Befehle an den Roboter.
Der Roboter benötigt die Positionsinformationen nicht wirklich. Alles "Denken" wird auf dem festen PC erledigt. Der Roboter benötigt lediglich ein kleines Embedded-System mit einem WiFI-Modul und einem TCP / IP-Stack. Sie können grundlegende Befehle an den Roboter senden, z. B. relative Richtung, Geschwindigkeit usw.
Die Daten von zwei beliebigen Sensoren versetzen den Roboter in einen Bogen, der auch die beiden Sensoren enthält. Der genaue Bogen hängt vom Winkelversatz der beiden Sensoren ab. Theoretisch brauchen Sie nur drei Lichtbögen, also drei Sensoren. Ich würde mehrere mehr verwenden, damit einzelne Sensoren aus verschiedenen Gründen vorübergehend ausfallen können. Das wird das Problem überfordern, aber mit dem richtigen Algorithmus können Sie all diese Daten nutzen und den wahrscheinlichsten Standort des Roboters finden.
Wie gesagt, ich habe es nicht versucht, aber ich denke, Sie sollten in der Lage sein, eine Genauigkeit zu erzielen, die gut genug ist, um einen Rasenmäher zu steuern. Zumindest beruht dieses Schema nicht auf etwas besonders Teuerem, Schwierigem oder auf etwas, was Sie angemessen in Ihrem eigenen Garten messen können (zum Beispiel kein Nanosekunden-Timing).
quelle
In früheren Antworten wurde das Problem unter dem Gesichtspunkt angegangen, wie der Rasenmäher seine Position erkennen kann. Die Sensoren können jedoch extern sein, dh am Haus. Stellen Sie Kameras so auf, dass sie den Rasenmäher überall auf Ihrem Hof sehen können. Bringen Sie ein Symbol oder eine Flagge oder etwas Buntes auf dem Rasenmäher und einige Referenzpunkte an (oder verwenden Sie Infrarotreflektoren oder -LEDs. Auf diese Weise können Sie Kerbfilterlinsen an den Kameras anbringen und nur das Licht einlassen, wodurch der Tracking-Code trivialisiert wird). Da die Kameras fest installiert sind, sollten die Positionen der Referenzpunkte und des Rasenmähers innerhalb der Videorahmen eindeutige Lokalisierungsdaten liefern. Die Präzision hängt von der Kameraauflösung ab. Auf diese Weise müssen Sie nicht so viel für die Bordelektronik ausgeben, und Ihr Bildverarbeitungscode kann "von zu Hause aus" ausgeführt werden.
quelle
Ich kann mir eine Reihe von Möglichkeiten vorstellen, wie dies erreicht werden kann, abhängig von der Reichweite, in der sich der Roboter bewegen soll (Meter oder Hunderte von Metern?).
Mit leicht verfügbarer Hardware wird Ihnen GPS jedoch definitiv nicht die Genauigkeit von Zoll liefern. Um diese Genauigkeit zu erreichen, müssen Sie eine Trägerphasendifferenzkorrektur durchführen. Das ist zwar nicht allzu schwierig, aber nicht so einfach wie das Einstecken eines Moduls. Sie können sich anschauen dieses Projekt ansehen, um eine Implementierung zu sehen.
Ein einfacherer Ansatz kann darin bestehen, entweder IR- oder Ultraschallbaken zu verwenden und Sensoren am Roboter zu verwenden, um den relativen Abstand zwischen ihm und den verschiedenen Baken zu bestimmen. Ein servomontierter Empfänger kann den Winkel zum Sender und die relative Signalstärke isolieren. Leider ist es unwahrscheinlich, dass Sie auf diese Weise die Zollgenauigkeit erreichen.
quelle
Eine andere Möglichkeit ist, eine Webcam und einige bekannte Formen / Farben zu verwenden und eine einfache Bilderkennung durchzuführen. Verwenden Sie die Triangulation (möglicherweise Drehen der Webcam mit einem Schrittmotor), um herauszufinden, wo Sie sich befinden. Dies ist möglich, wenn Sie eine erhebliche CPU-Auslastung an Bord haben (z. B. ein BeagleBone oder ein Netbook), anstatt etwas wie ein Arduino.
quelle
Ich würde einen anderen Weg als all diese anderen Antworten suchen. Vergrabe einen Draht in deinem Garten um den Umfang. Treiben Sie es mit einer kleinen Schaltung an, die ein 100-kHz-Signal (oder etwas anderes) ausgibt. Mit einer mobilen Plattform wäre das sehr einfach zu erkennen. Es ist genau die gleiche Technik, die von jenen zaunlosen Systemen verwendet wird, um Hunde im Hof zu halten. Verdammt, Sie könnten wahrscheinlich eine der Einheiten als Sensor nehmen.
Das würde Ihnen die Umfangskontrolle geben. Wenn Sie das 100-kHz-Signal spüren, sind Sie am Rande. Natürlich testen Sie dies zuerst ohne Mäher (vielleicht sollte Ihr erstes Design ein R / C-Auto sein, das dazu modifiziert wurde. Ich würde auch auf den Windows-PC verzichten und mir ein Arduino-System zulegen. Sie sind billig und für eine Erstinvestition von a Ein paar hundert Dollar und ein R / C-Auto, Sie haben Ihren Prototyp.
Als Elternteil bin ich mir ziemlich sicher, dass Sie dies so sicher wie möglich machen möchten. Dies würde bedeuten, KEINEN Haufen Elektronik an Ihren zuverlässigen Zweitakt zu binden. Sehen Sie nach, ob Sie eine alte Ausgabe des Magazins Radio-Electronics aus den 80er Jahren finden. Sie hatten dort einen Mähroboter namens Lawn Ranger. Natürlich würden Sie ihr ursprüngliches Design nicht nachbilden, aber sie hatten einige neuartige Innovationen, darunter einen einfach zu bauenden Sensor zur Erkennung von geschnittenem Gras (Hindernisvermeidung, Perimetererkennung und Navigation) und, was noch wichtiger ist, ein einzigartiges Design für die Schneidklingen, die deutlich sicherer waren als ein Pfund geschärften, gehärteten Stahls, der herumgeschwenkt wurde. Ihr Schneidsystem bestand im Wesentlichen aus zwei schwingenden Scheiben mit daran befestigten X-Acto-Klingen. Die Scheiben würden sich drehen, was bedeutete, wenn ein Stein (oder ein Fuß!) In die Richtung ginge, die er geben würde. was zu einer weniger katastrophalen Verletzung führt. Ich empfehle dringend, diese Artikelserie zu lesen und einige der Prinzipien auf Ihr modernes Design anzuwenden. Möglicherweise können Sie sie aus Ihrer öffentlichen Bibliothek beziehen. Ich weiß, dass ich sie hatte.
Viel Glück, das klingt nach einem großartigen Projekt, das die Young'uns zum Nachdenken anregen wird.
quelle
Ich frage mich, ob es möglich wäre, das GPS mit Kreiseln für eine stabile Positionsverfolgung zu verwenden. Man könnte Fuzzy-Logik-Lernmethoden anwenden, wenn man weiß wie und stabile Positionsfehlersignale (PES) von beiden Quellen hat. GPS für die Positionserfassung in großem Maßstab von +/- 10 m und Gyro's oder andere Mittel für die Positionserfassung in kurzer Entfernung von +/- 0,1 m
Plan 1) Messen Sie die GPS-Wegverfolgungsdaten für jedes Kind, das den Rasen mäht, mithilfe eines Zigbee-Radios oder eines Datenerfassungssystems an Bord. Analysieren Sie später die Stabilität, das Muster, die Geschwindigkeit und die Effektivität in einem Pfadanalyseprogramm, das die Entfernung aggregiert, Neigungsjitter, Überlappung oder die effektive Anzahl der Spuren X und Y analysiert.
2) Dann wählen Sie den optimalen Pfad und merken ihn sich. (Cookie Crumb) zum Aufzeichnen verschiedener Pfade, die von jedem Kind verwendet werden, und zum Auswerten des aufgezeichneten Pfades auf Pfadleistung und Sicherheit.
3) Messen Sie verschiedene PES-Pfade durch Mähen unter Verwendung von orthogonalen Vektoren, schrägen Vektoren, kreisförmigen Spuren und bestimmen Sie den effektiven Spurfehler für jede Fahrzeugführungsmethode und kommentieren Sie die ästhetischen Varianzen des erzeugten Rasenschnitts.
Verwenden Sie einfach aufgezeichnete Positionssignale, die für die Analyse gesammelt wurden, und versuchen Sie später die Roboterverfolgung mit einem 4-Kanal-Servo-gesteuerten System. (Gas, Lenkung, Bremse und andere.)
Die größte Lektion ist das Erlernen der Kommunikation (mit Kindern, Kunden und Ingenieuren). Das Erlernen des Schreibens einer Spezifikation vor dem Entwerfen ist die größte Lektion. Welche Inputs, Prozesse und Outputs, Umgebungs-Inputs und überprüfbaren / messbaren Parameter mit Akzeptanz- und Ablehnungskriterien. Für jeden Meilenstein und die Konsequenzen für ein Scheitern sollten auch geeignete Belohnungen vorliegen.
Dies ist eine Miniaturansicht des Projektplans, der Konstruktionsspezifikation und des DVT-Plans. (Design Validation Test)
Ihr Erfolg hängt davon ab. Viel Glück und hab Spaß.
quelle
Dies ist zwar nur ein Anfang, ich empfehle Ihnen jedoch dringend, sich dieses PDF anzuschauen, in dem die Theorie hinter John Swindles Audio-Lokalisierung erklärt wird . Soweit ich mich erinnere, werden verschiedene Lokalisierungsmethoden und Johns Methode erläutert, die auf einen halben Zoll genau ist! (Das Setup ist nicht trivial und es wird kein Code bereitgestellt, aber es wird effektiv für das RoboColumbus-Ereignis der DPRG (Dallas Personal Robotics Group) verwendet.)
quelle
/electronics//a/23506/5439
Siehe meine Antwort auf eine andere Frage zu LPS. Die kurze Antwort lautet, dass dies ein ziemlich schwieriges Problem ist und die vorhandenen Systeme ziemlich teuer sind (ab mehreren tausend Dollar). Der Vorschlag, Ultraschallsensoren zu verwenden, ist gut. Wenn Sie Google verwenden, finden Sie den Stand der Technik zur Verwendung von Ultraschall und sogar von hörbarem Schall dafür.
quelle
Derzeit bietet udacity einen kostenlosen Online-Kurs zur Programmierung eines Roboterautos an dem Sie wie Google dies für ihre selbstfahrenden Autos tut. Grundsätzlich verwenden sie GPS für die Bruttopositionierung sowie gespeicherte Karten und die Bilderkennung zur Lokalisierung mit einem hohen Maß an Genauigkeit. Die Software verwendet Partikelfilter.
Sie könnten es mit GPS alleine machen, wenn Sie das sehr teure Differential-GPS-Gerät verwenden, das von Vermessungsingenieuren verwendet wird, aber das wäre kaum kosteneffektiv. Wie Sie vorschlagen, können Sie mit ein paar kostengünstigen (vielleicht Xbee?) Transceivern die Entfernung mit einem extrem hohen Maß an Genauigkeit messen, indem Sie einen Impuls senden und die Zeit messen, die vom Sender auf dem Roboter zum Empfänger benötigt wird Remote-Repeater und zurück. Dies ist wie bei RADAR, mit der Ausnahme, dass das Signal nicht von einer passiven Oberfläche reflektiert, sondern von Ihren stationären Transpondern zurückgesendet wird.
BEARBEITEN: Da ich in diesem Fall von Kevin angerufen wurde, erkläre ich es vielleicht besser ;-) (Alles in allem habe ich den höchsten Respekt vor Kevin und es ist ganz richtig, dass ich nicht genügend Details angegeben habe, um zu zeigen, wie es geht implementieren dies).
Um die Ausbreitungsverzögerung zwischen zwei Punkten genau zu messen, sind in erster Linie zwei Dinge erforderlich: 1) Ein geradliniger Signalweg, da Reflexionen Verzerrungen erzeugen. 2) Einige Elektronikgeräte verwenden auf beiden Seiten synchronisierte Uhren und können Zeitintervalle mit der erforderlichen Genauigkeit messen.
Synchronisierte Uhren sind relativ einfach, da die empfangende Station ihre Uhr aus dem von der anderen Station gesendeten Signal ableiten kann. Dies ist eine standardmäßige synchrone Datenübertragung mit Taktwiederherstellung.
In diesem Artikel wird die Ausbreitungsverzögerung über eine bidirektionale 1,25-Gbit / s-Datenverbindung gemessen, wobei diese Genauigkeit über ein 10 km langes Stück Glasfaser problemlos erreicht wird. Sie besagen: "Es sollte in der Lage sein, ~ 1000 Knoten mit einer Genauigkeit von Subnanosekunden über eine Länge von bis zu 10 km zu synchronisieren."
ebenfalls
VERWENDETE AUSRÜSTUNG:
Dieses spezielle Setup ist für die meisten Hobby-Robotik-Projekte eindeutig übertrieben, kann jedoch leicht zu Hause reproduziert werden, da es Standard-Entwicklungsboards verwendet und keine besonderen Talente erfordert, um arbeiten zu können. Im Falle des Roboters wäre die Verbindung eher eine Funkverbindung als ein Glasfaserkabel. Vielleicht könnte es sogar eine IR-Verbindung wie eine TV-Fernbedienung sein, obwohl ich vermute, dass draußen bei strahlendem Sonnenschein das problematisch sein könnte. Nachts könnte es klappen!
quelle
Wie andere bereits gesagt haben, ist die Lokalisierung ein schwieriges Problem, und eine Auflösung von einem Zoll zu vertretbaren Kosten ist sehr schwierig. Vielleicht möchten Sie wissen, dass es einen Wettbewerb auf College-Ebene gibt, an dem Mähroboter beteiligt sind: den ION-Mähroboter-Wettbewerb . Ich war Teil eines Teams, das sich auf ION vorbereitete. Am Ende waren wir nicht am Start, aber wir haben viel Zeit damit verbracht, über das Problem nachzudenken, das definitiv schwieriger ist, als es scheint. Beachten Sie, dass meisten WettbewerberBeim letzten ION-Wettbewerb wurden in der vorgegebenen Zeit weniger als 50% des Feldes gemäht. Plattformen kosten Zehntausende von Dollar! Sie haben jedoch einen Vorteil, da ION externe Navigationshilfen wie Beacons nicht zulässt, die die Lösung des Problems erheblich erleichtern. (Und Sie haben keine zeitliche Begrenzung.) Das Durchsehen der Projektberichte der Teams ist eine gute Ideenquelle.
Wenn ich mich auf ein Rasenmäher-Roboterprojekt wie Ihres einlassen würde, würde ich wahrscheinlich eine Kombination aus billigem GPS (für grobe Ortung), IR- / Ultraschall- / Mehrfarben-Baken (feine (r) Ortung), Encodern (Positionsschätzung) und Computersicht verwenden (verschiedene). Ich würde nicht raten, Tausende von Dollar für schicke GPS- und IMU-Systeme auszugeben. Der Kinect ist eine gute Idee und sicherlich viel billiger als Lidar. Sie werden auf jeden Fall viel zwischen der Tiefenkarte und der Kamera zu kauen haben.
Ich empfehle auch den Udacity-Kurs zum Programmieren selbstfahrender Autos, um eine Einführung in die Konzepte zu erhalten.
quelle
Nachdem Sie die Frage dahingehend geändert haben, dass keine Auflösung von einem Zoll erforderlich ist, und uns mitgeteilt haben, dass Sie einen Windows-PC und Microsoft Connect an Bord haben, können Sie mit nur dieser Hardware auf dem Roboter eine sehr gute Position erzielen.
Haben Sie einige der billigen Golf-Scopes gesehen, mit denen die Leute den Abstand zum Abschlag ermitteln?
Ihre Arbeitsweise besteht darin, die wahrgenommene Höhe der Flagge auf dem Grün (eine feste Höhe) zu messen und den Abstand zum Tee anzuzeigen. Dies ist ein einfaches rechtwinkliges Dreieck. Wenn Sie den Winkel und die Höhe der anderen Seite kennen, können Sie die Länge der Basis berechnen. Dies ist genau das, was Ihre Söhne in Geometrie und später in Trigonometrie lernen werden.
Da Ihr Haus von allen Teilen Ihres Grundstücks aus sichtbar zu sein scheint, ist es vielleicht einfach, zwei Ecken zu erkennen und die Entfernung zu berechnen.
quelle
Nutzen Sie die Schallenergie des Mähers. Es ist sein eigener Pinger. Oder vielleicht kann sein Geräusch verwendet werden, um hauptsächlich einen zum Mäher hinzugefügten Audio-Chirp-Pinger zu maskieren, der möglicherweise mit der Kurbelwelle oder der Klinge synchronisiert ist. Stellen Sie ein Mikrofon auf den Rasenmäher und stellen Sie es an einigen Stellen im Hof auf. Erhalten Sie eine grobe Schätzung des Standorts anhand der Lautstärke. Die nächstgelegenen Mikrofone haben nicht so viele Mehrwegprobleme. Korrelieren Sie dann die Audiodaten der nächstgelegenen Mikrofone, um die Laufzeitverzögerung zu schätzen. Mittelwert- oder Kalman-Filter, um Rauschen in den Verzögerungsschätzungen zu beseitigen und Trigger anzuwenden. Wenn Sie ein Zwitschern oder eine Motorvibration am Mäher verbergen (vor Menschen) und erkennen (durch Kreuzkorrelation) können, erhalten Sie möglicherweise eine Genauigkeit von wenigen Zentimetern.
quelle
Auschecken http://porcupineelectronics.com/uploads/LR3_Data_Sheet.pdf Mit diesem kleinen LR3-Adapter (veraltet, aber ein besserer ist in Vorbereitung) können Sie einen PC oder einen SBC mit einem Fluke 411D-Entfernungsmesser verbinden. Die Genauigkeit beträgt, wie ich mich erinnere, +/- 3 mm bis 30 m. Die neue Einheit, die herauskommt (LR4), funktioniert mit neueren Fluke-Messgeräten. In Kombination mit einer Kamera auf einer Schwenk- / Neigeplattform, damit Sie sie auf bekannte Ziele richten können, und einem hochauflösenden Encoder auf dem Schwenkservo für hochpräzise Winkelmessungen sollten Sie in der Lage sein, die Position Ihres Roboters in Bezug auf eine Karte Ihres Hofs mit der Triangulation zu bestimmen Genauigkeit, die Sie brauchen. Sie benötigen eine Trigonometrie im Code (über meiner High-School-Mathematik). Die benötigte Gleichung habe ich im Internet (Wikipedia) gefunden. Ich würde es hier einfügen, bin aber nicht auf meinem Heimcomputer, auf dem die Informationen gespeichert sind. Das System kann auch das Generieren der Karte erleichtern. Möglicherweise benötigen Sie eine mit einem Kreisel stabilisierte Plattform mit passiver Vibrationsisolierung (Rasenmäher sind sehr vibrationsanfällig). Für Messungen im laufenden Betrieb benötigen Sie möglicherweise eine Tracking-Software, um den Laser auch im Ziel zu halten. Genaue Kilometerzähler geben Ihnen mehr Zeit zwischen "Korrekturen", wenn Ihre Rechenleistung bescheiden ist.
quelle