Genauen Bestimmung des Fortschritts eines fahrbaren Roboters kann ziemlich schwierig (und teuer) sein. Koppelnavigation wird davon ausgegangen, dass unsere Motoren sind perfekt aufeinander abgestimmt, unsere Räder nicht rutschen und die Oberfläche wir laufen auf perfekt flach ist: die meisten dieser Bedingungen sind unerreichbar und wird nicht garantiert. Rotary Encoder auf Rädern oder Motoren sind genauer, sie entfernen die Notwendigkeit einer aufeinander abgestimmten Motoren und Steigung Veränderungen bewältigen können, aber ist Schlupf immer noch ein Problem. Ultraschall oder Laser Bereich Sensoren umgehen alle mechanischen Probleme dieser Pest Koppelnavigation und Encoder aber stationäre Fixpunkte der Referenz benötigen, sind Interferenzen (Objekte kommen zwischen dem Roboter und der Bezugspunkt) und haben Fragen in Bezug auf Reichweite, Genauigkeit und Auflösung (je mehr Sie wollen, desto mehr kostet!).
Idealerweise sollten wir einen Sensor, der Positionsänderungen in zwei Dimensionen genau messen kann, hat eine einfache Benutzeroberfläche, hat geringen Kraftbedarf ist leicht erhältlich und billig in Kauf. Die Lösung: das alte optische Maus Sie herumliegen haben! Computer-Mäuse sind entworfen, um nur das, was wir wollen: sehr präzise Track zwei dimensionale Bewegung eines Objekts in in der Nähe von Real-Time. Sie haben tatsächlich eine Auflösung 1000dpi , was, dass wir in der Lage bedeutet, eine Bewegung des ~0.03mm in eine beliebige Richtung zu messen!
Wir haben unsere Maus aber ein wenig sorgfältig auswählen. Wir brauchen eine, die entweder eine PS/2 -Stecker (6-polig Mini-DIN) oder eine USB- Maus, der PS/2 kompatibel ist (sollte auf der Unterseite der Maus irgendwo angegeben, siehe Bild). Und zwar deshalb, weil die PS/2-Protokoll wirklich einfach ist umzusetzen (besonders für Mikrocontroller), während USB etwas schwieriger ist!
Ich hatte noch eine alte Microsoft USB1.1/PS/2 kompatible Maus herum, dass ich nicht benutzen, so habe ich beschlossen, es auf meinem robotical Beschäftigungen in der hierin beschriebenen Weise zu opfern.