Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionsbestimmung
Johannes
24.01.2004, 12:49
Moin!
Kurz vorweg: Ich flüchte aus dem Roboterwelt-Forum, da dort anscheinend keiner in der Lage ist, mir sachlich zu antworten...
Also, man hat einen Roboter, der mit zwei sich unabhängig drehenden Rädern auf jeder Seite angetrieben wird.
So, jetzt ist in der Mitte des Roboters, aber nicht genau zwischen den Rädern, sondern ca. 20cm davor, ein Sensor angebracht, der wahrnimmt, wie viel Boden an ihm von oben nach unten (Y-Achse) bzw. links nach rechts (Y-Achse) vorbeiläuft. So ein Sensor könnte beispielsweise eine Maus sein, die ja auch X- und Y-Änderungen misst.
-------
- * -
- -
##- -##
##- -##
-------
Wäre es möglich, von diesen Daten auf die Positionsänderung des Roboters zu schließen?
Die X- und Y-Daten des Sensors sind natürlich nicht dieselben X- und Y-Koordinaten auf einer Karte, da sich die Maus ja selber verdreht. Ich hoffe ihr versteht, was ich meine, und könnt mir helfen.
Gruß
Johannes
Matthias
24.01.2004, 13:04
Ne Maus is schlecht, weil man mit der keine Kurven fahrn kann.
Matthias
Matthias
24.01.2004, 13:11
Am beten wäre ein kompassmodul, und Kachelboden. So wüsste man immer wohin der Roboter "guckt", und weiss wie weit er fährt. Wenn man keinen Kachelboden hat, muss man ne "Maus" nehmen, die nur eine Achse hat ( ein Scrollrad von ner Maus ). Das ist, glaub ich, die beste methode, für Roboternavigation, die bezahlbar ist.
-------
- * -
- K -
##- -##
##- -##
-------
Es ist auf jeden Fall äußerst schwierig die Position zu bestimmen. Auch wenn man mal über die praktischen Probleme (Kugel wird sich nicht immer auf jedem Untergrund mitdrehen) hinweg sieht.
Wenn die Maus in der Mitte angeordnet wäre, dann wäre aus meiner Sicht überhaupt keine Positionsbestimmung möglich, da beim drehen auf der Stelle keine vernüftigen Impulse gesendet werden könnten.
Da aber bei dir die Maus vorne angeordnet ist, müsste eine Drehung ja quasi doch als X-Positionsverschiebung impulse liefern. Daraus müsste man dann den Winkel und die augenblickliche Position berechnen können. Vorwärtsbewegung ist ja mit Y Impulsen kein Problem.
Also theoretisch - wenn ich nix übersehen habe, müsste es doch gehen. Allerdings wird es praktisch nicht einfach und wegen der schwierigen Bodenhaftung der Kugel wohl nix.
Gruß Frank
Moin Frank,
ich kann dich beruhigen, es handelt sich um eine optische Maus. Es gibt also keine Probleme mit einer Kugel...
So einfach mit dem Winkel kann es nicht sein. So würde es nur funktionieren, wenn sich der Roboter im Stand dreht (Räder drehen sich entgegengesetzt). Aus dem X-Wert ließe sich dann einfach der Winkel (Bogenmaß) errechen.
Allerdings ist es bei Drehungen, bei denen sich die Räder unterschiedlich schnell drehen, nicht mehr so einfach.
Gruß
Johannes
Johannes
24.01.2004, 13:33
Sorry, war nicht eingeloggt.
Ein Kompassmodul möchte ich nicht nehmen. Es soll wirklich alles mit der Maus realisiert werden. Dann muss ich mir wohl doch ein eigenes Verfahren ausdenken. Kann mir jemand eine Website nennen, auf der erklärt wird, wie man eine Positionsbestimmung über die unterschiedlich langen Wege der beiden Räder realisiert? Vielleicht hilft mir das weiter. Bei google hab ich nichts gefunden.
Gruß
Johannes
Hey,
schau Dir mal "Where am I? Sensors and Methods for Mobile Robot Positioning" unter http://www-personal.engin.umich.edu/~johannb/position.htm
an. :-)
Chrissy
Das einzige Problem wird sein, dass man die Maus nicht drehen darf. Man könnte also höchstens die zurückgelegte Wegstrecke messen...
Nur über die Maus wird es also nicht gehen. Höchstens wie schon geschrieben in Verbindung mit einem Kompass ;)
Positionsbestimmung nur über Odometrie ist leider sehr ungenau, da sich die Fehler über die Zeit alle addieren, so dass es fast unmöglich ist genau wieder zu dem Punkt zurück zu kehren an dem man gestartet ist. ( siehe auch die Beschreibung zu CAESAR http://cvg.physik.uni-frankfurt.de/robo/. Ist aber nur ein Beispiel, dazu gibts wirklich viel im Netz ).
Es bleiben also nur die Möglichkeiten mit Baken ähnlich wie bei GPS oder aber über Landmarkung um so den Fehler der Odometrie wieder ausgleichen zu können....
Warum muss es denn ausgerechnet eine Maus sein ?? Wenn du die Radumdrehung misst ist es einfacher den (ungefähren) Weg zu bestimmen. Ich hab irgendwo auf meinem PC auch ein paar Formeln dazu...
MfG Kjion
Matthias
24.01.2004, 16:56
Räder rutschen durch. Weiss den wer, wie man ne optische Maus ansteuert?
Matthias
Johannes
24.01.2004, 17:48
Hallo Matthias,
man kann den Chip aus einer optischen Maus ausbauen und die Quadrature-Daten auswerten.
Gruß
Johannes
So einfach mit dem Winkel kann es nicht sein. So würde es nur funktionieren, wenn sich der Roboter im Stand dreht (Räder drehen sich entgegengesetzt). Aus dem X-Wert ließe sich dann einfach der Winkel (Bogenmaß) errechen.
Allerdings ist es bei Drehungen, bei denen sich die Räder unterschiedlich schnell drehen, nicht mehr so einfach.
Da kannst du recht haben. Aber was spricht dagegen den Roboter kurz vor jeder Drehung zu stoppen und nur auf der Stelle drehen zu lassen? Macht man doch eh meist so!
Und warum nimmst du eigentlich nicht gleich Schrittmotoren für Roboter? Damit müsste die Position mindestens genauso genau bestimmt werden können wie mit der Maus - nur viel einfacher!
Gruß Frank
Johannes
24.01.2004, 19:04
Das auf dem Stand drehen wäre nicht das Problem, allerdings fährt ein Roboter nie perfekt geradeaus. Und es wäre gut, wenn dieser Fehler korrekt in die Positionsbestimmung eingeht.
Zu den Schrittmotoren: Der Clou bei einer optischen Maus ist ja gerade, dass der Weg direkt gemessen wird und nicht indirekt über die Radumdrehungen.
Gruß
Johannes
Schau mal hier rein, vielleicht hilft dir das
http://www.informatik.uni-leipzig.de/~pantec/khepera/diffeq/Diffeq.html
Allerdings für mich wird es da etwas zu mathematisch!
Warum verwendest du nicht 2 Sensoren einer optischen Maus, die nebeneinander angeordnet sind. Aus diesen Daten lässt sich dann mit etwas Mathematik die Geschwindigkeit und der Winkel (in Bezug auf den Startwinkel) berechnen.
Nach ein paar dutzend Metern wird das ganze dann aber sicherlich sehr ungenau, da sich die Fehler hier addieren. Helfen tut hier nur ein Abgleich, der alle paar Meter kommen muss (Bake, etc).
Grüße
Steffen
Liefern überhaupt optische Mäuse zuverlässige Daten bei Teppich oder Laminat Untergründen? Frag nur mal so, ich hab noch keine gehabt!
Matthias
25.01.2004, 12:22
Die funktionieren auf Parkett genauso gut wie auf anderen Oberflächen, sind aber wie gesagt über mehrere metern ziemlich ungenau. Man könnte auch ein Lasernetz ein paar Zentimeter über dem boden Spannen, die Maus muss dann nurnoch inm Rastermaß von nem Meter oda so gena sein. Das beste ist und bleibt aber immernoch eine kartierte Unterlage. Die könnte man ja einfach herstellen, sähe aber nich so dolle aus, wenn man das ganze Haus damit zupflastern würde...
Matthias
Johannes
25.01.2004, 13:02
Moin!
Die Mäuse sind meiner Erfahrung nach sehr genau. Das Schwierige an der Sache ist nur die genaue montage, damit beispielsweise bei einer perfekten Geradeausfahrt auch nur die Y-Achse hochzählt.
Man könnte, die Idee hatte ich auch schon, wirklich zwei Mäuse nehmen und die neben den Rädern positionieren. Dadurch wäre das Verfahren der Odometrie sehr ähnlich, nur das nicht die Radumdrehungen sondern der wirkliche Weg gemessen wird, was viel genauer sein dürfte. Allerdings habe ich nur eine Maus.
Gruß
Johannes
Ich hab das mit 2 oder 3 Mäusen mal auf der Hannovermesse gesehen. Ich glaube beim Roboter-Fussball-Kontest. Hab leider keine Zeit zum Suchen des Links. Musst Du mal suchen. Jedenfalls haben die mehr als eine Maus (optisch) benutzt um die Position auf dem Spielfeld zu bestimmen. Die Robs hatten drei Allseitenräder (hab mir auch gerade 3 bestellt :-))
Johannes
26.01.2004, 13:30
Die haben dann wahrscheinlich die in alle drei Richtungen ausgerichtet. Ok, wenn die Uni das auch nicht hinbekommen hat, werde ich es auch mit zwei machen ;-)
Ich werde euch dann informieren, wenn ich zu der Sache was ins Web gestellt habe.
Gruß
Johannes
Also zwei hatten die auf jeden Fall am Rob. Ob drei ????
Hast Du was dazu im Netz gefunden ? Ich meine über den Fussball-Kontest und die Robs mit Maus drunter?
Johannes
26.01.2004, 14:16
Nein nein, ich hatte nur deine Vermutung weitergesponnen ;-) Ich weiß nicht genau, wie so ein Roboter mit diesem Antrieb fährt. Behält der seine Ausrichtung wie beim Synchrodrive? In dem Falle bräuchte man wirklich nur eine Maus...
so sehr einfach stelle ich mir das nicht vor, nur durch Mausimpulse oder Räderodometrie die genaue Position zum Ausgangspunkt festzustellen. Die Richtungsänderung, die ein Rob innerhalb eines Zeitintervalles erfährt kann ich mir gut vorstellen, aber nicht die Position.
Wenn ein Rad innerhalb einer bestimmten Zeiteinheit eine bestimmte Anzahl Impulse mehr als das andere zurückgelegt hat, dann kann man über den Raddurchmessser und die Anzahl der Impulse pro Radumdrehung genau sagen wieviel sich das eine Rad gegenüber dem anderen verdreht hat, und damit welchen Winkel der Roboter gedreht wurde, aber man weiß nicht, ob die Drehung erst erfolgt ist, und dann geradeausgefahren wurde, oder zum Schluß oder die ganze Zeit kontinuierlich. Das kann man nur mit Schrittmotoren genau bestimmen, wenn der Kurs vorherbestimmt wird. Soll der Kurs autonom bestimmt werden, nach Hindernissen oder ähnlichem, müßte meiner Meinung nach die Abfolge gespeichert werden, um dann die neue Position zu bestimmen. Macht doch mal ein Gedankenexperiment, wo man selbst landet, wenn man sich um 90 Grad nach links dreht und drei Schritte vorwärts macht, und wo man hinkommt wenn man erst drei Schritte nach vor tut und sich dann um 90 Grad dreht, oder komplizierter ein Schritt, 45 Grad drehen, wieder ein Schritt, wieder 45 drehen und nun der letze Schritt.
Entweder man macht die Zeitintervalle der Abfrage sehr klein, und sagt sich einfach, dass jede Drehung auf dem gesamten im Zeitintervall zurückgelegten Weg erfolgt ist oder man muß sich eine andere Lösung suchen, wie schon erwähnt, die Bewegung in Drehung und Vorwärtsbewegung stückeln.
Gruß
Torstetn
Matthias
26.01.2004, 15:47
Wie wärs denn mit nem Kompassmodul (zum 3. mal). dann brauch man nurnoch nen roboter dessen Räder sich synchron drehen und der so langsam ist, dass man auch die Umdrehungen der Räder zählen kann.
Matthias
Matthias
26.01.2004, 15:50
Nachtrag: Mit so langsam dass man auch die Umdrehungen der Räder zählen kann meine ich einerseits, dass der µC mitkommt, andererseits, dass die Räder nicht durchrutschen, obwohl diese Ungenauigkeit in nur einem Zimmer nicht tragisch ist.
Matthias
Johannes
26.01.2004, 16:01
@thille
Um so kleiner das Intervall, um so besser läuft das. Man kann natürlich nicht nach einer halben Stunde fahrt die beiden Radumdrehungen nehmen und daraus die Position bestimmen. Ich denke, dass spätestens dann eine neue Berechnung gemacht werden muss, wenn sich die Geschwindigkeiten der Räder ändert. Dann ändert sich nämlich der Kurvenradius. Oben wurde ein Link gepostet, auf der Seite werden die Odometrie-Formeln gut erklärt.
@Matthias
Kompassmodule überzeugen mich nicht unbedingt. Ich denke, dass die Sache mit zwei Mäusen genauer wird als jedes Kompassmodul. Aber das ist bis jetzt noch eine Glaubensfrage ;-)
Gruß
Johannes
Sehr genau wird das sowieso nicht. Auf allen Seiten die sich mit der Positionsbestimmung über Odometrie beschäftigt haben gabs lustige Graphiken die Karten zeigten die nur über Odometrie ( sei es jetzt über das messen der Radumdrehungen oder über 2 bzw. 3 Mäuse ) erstellt wurden.
Egal wie klein der Fehler ist, es wird immer ein Fehler da sein. Und diese Fehler addieren sich alle, sodass man nach ein Zeit die errechnete Position sehr stark von der tatsächlichen abweicht. Das ganze ist also nur als Orientierungshilfe zu gebrauchen ( Wenn man es auf längere Zeit einsetzen will )
Man muss also irgendwie wieder seine genaue Position bestimmen können... das geht zum Beispiel über Baken oder Landmarken ( Beispielsweise eine Ladestation die immer wieder angefahren wird ).
Meine Meinung dazu...
MfG Kjion
Optische Mäuse funktionieren aber auch nicht auf jedem Untergrund zuverlässig. Hast Du beispielsweise einen roten, glänzenden Untergrund und rotes Mauslicht, dann kommt es auch zu Störungen. Probiers mal aus mit deiner Computermaus....
Außerdem muss die Maus immer ziemlich dicht über dem Untergrund schleifen oder schweben und wird sich dadurch auch schnell abnutzen bzw die Optik wird durch Staub verdrecken. Glaub nicht, dass das gut geht.
würde dann doch lieber auf ein System, das auf Triangulstion basiert zurückgreifen. Laserbaken oder IR-Baken. Hatte auch mal ein System gesehen, bei dem die Baken unter der Decke im Raum angebracht sind. Find ich auch nicht schlecht die Idee. Gibt halt nur Probleme unter nem Tisch oder so. Aber dann kann man ja immer noch auf die Odometrie mit Radencodern zurückgreifen und die Fehler später wieder kompensieren.
Wie genau willst Du denn die Position im Raum bestimmen?
Hier auch nochmal ein Beispiel für so eine nur per Odometrie aufgezeichnete Karte :
http://ls1-www.cs.uni-dortmund.de/~asg/asg/Paper/SeminarRIA02/neumann.ausarbeitung.pdf
( auf Seite 3 oben )
MfG Kjion
Johannes
26.01.2004, 17:42
Moin,
es geht bei mir um einen Projekt, ein möglichst einfach zu installierendes Robotersystem zu entwickeln, da auch in mehreren Räumen funktioniert etc. Meine Ergebnisse werdet ihr dann erfahren.
Nun, die Maus-Lösung kann nicht alleine funktionieren. Eine Positionskorrektur ist immer nötig, da sind wir uns einig. Habt keine Sorge, nur weil ich wenig Beiträge habe, heißt das nicht, dass ich ein Newbe bin ;-)
>Optische Mäuse funktionieren aber auch nicht auf jedem Untergrund zuverlässig.
Die von meinem Vater funktioniert sogar auf einem Glastisch... Und den Mausabstand kann man über eine Linse vergrößern.
Gruß
Johannes
Wie wärs, wenn der Roboter sich gar nicht dreht sondern nur rechts-links und vorwärts-rückwärts bewegt. Das müsste sich doch z.B. mit Allseitenrädern machen lassen. Andere Alternative wäre, dass der Roboter sich immer nur um exakt 90 Grad dreht.
Dann braucht man nur jeweils die Bewegung in x- und y- Richtung addieren und daraus die Position zu bestimmen ist mathematisch ziemlich trivial.
Johannes
26.01.2004, 18:47
Naja, dann baue ich lieber einen Synchrodrive. Ein Roboter, der nur rechte Winkel fahren kann ist auch nichts. Wahrscheinlich ist der noch fehleranfälliger...
Matthias
27.01.2004, 12:14
Meinte ich doch gerade!!! Mit nem kompass kann man den winkel sehr genau, denk ich mal, bestimmen. Wenn der winkel schön grade ist, muss man nurnoch schön grade fahren und die Strecke die man fährt messen.
Matthias
Wie wäre es mit 4 IR-LED´s in jeder Zimmerecke ganz oben an der Decke. Roboter müsste über drehbaren Empfänger dann doch auch Position bestimmen können.
Also eine Art eigenes "GPS-System" für´s Wohnzimmer. Die IR-LED´s sind die Satelliten.
Gruß Frank
Hey,
an so einem System arbeite ich auch gerade, allerdings "dumme Lampen" die jedoch (fast) nur eine Wellenlänge emittieren, damit auch eine 180° Drehung ohne Verwirrung von statten geht ;-)
Ergänzug:
Es handelt sich hier um zwei Lichtquellen, die irgendwo im Raum positioniert werden können. Die Lichtsensoren sind so erweitert, daß sie nur auf eine Wellenlänge reagieren (sollten ;-) )
Wenn der Roboter über Funk verbunden wäre, dann könnte man auch immer nur eine LED/Lampe strahlen lassen. Erst wenn er die gefunden hat könnte er es rückmelden und um nächsten Led/Lampe-Ecke bitten.
Berichte mal wenn Du Erfolge hast.
Gruß Frank
Frei nach dem Motto "simply the best" sollte möglichst wenig Aufwand betrieben werden um eine möglichst gut Positionierung zu erreichen.
Mit diesen zwei Lampen und dazu passenden zwei Lichtsensoren, die jeweils nur auf eine Frequenz ansprechen läst sich ein LPS (Local Positioning System ;-) ) ganz gut realisieren.
Wenn nun Hindernisse, Gegenstände usw. "gefunden" werden können diese erfasst und ggf. in eine Karte eingetragen werden, wenn es denn sein soll.
Natürlich könnten auch so, bei bekannten Positionen der Emittenten eine beliebige Wegstrecke zurück gelegt werden, natürlich nur in der Reichweite der Lampen ;-)
Korrekturen durch die Bauart bedingten Ungenauigkeiten des Antriebs / Lenkung sind damit hinfällig :-)
Das System, dass ich für meinen neuen Rob vorgesehen habe wird auch mit so einer IR-Positionserkennung ausgestattet werden. Ich werde dafür so eine IR-Bakenschaltung benutzen, die auf der Technik einer Fernbedinung funktioniert. Damit kann man mit einem TSOP und nem Decoder IC alle Signale auswerten. Die Sender haben dann alle unterschiedliche Frequenzen, damit man sie genau zuordnen kann. Denke das sollte ganz gut funktionieren. Und die Ladestation kann man mit dem System auch gleich anpeilen. Die Anleitung für die Bake gibts unter
http://www.robotmaker.de/fernbed.html
Praktisch daran finde ich vor allem, dass man nur einen Decoder-Baustein braucht und den auch noch codieren kann. Schaut mal rein (für die die Seite noch nicht kennen).
Man könnte auch noch mehr "Sateliten" im Raum verteilen oder z.B. in mehreren Räumen zusammen 16 Baken. Mit einer Vorlage zum Platinen Ätzen ist das ja kein Problem gleich 16 Baken herzustellen :-)
Bin mal gespannt, wann ich dazu komme....
Hi,
machs halt so wenn du änfängst ihn zu bewegen dann mach einen punkt auf den boden per licht. und immer wenn du dihc weiter drehst geht der punkt hoch das er immer auf der selben stelle steht dann miss mit einen sensor die strecke vom fahrzeuch zum punkt und somit kannst du winkel brechen die du braucht oder wenn du platz hast mach einen 90° winkel der "stehen bleibt" also mit einen schrittmotoren immer wieder hin fährt zu der postion wenn du unten mit den roboter wegfährst und mess mit einen sensor den winkel dort. anders kann ich mirs nicht vorstellen.
Häääääää ???](*,)
Hab ich Null verstanden, was Du meinst. Gehts bitte auch noch etwas verständlicher !
Johannes
02.02.2004, 09:48
Die Erklärung war wirklich nicht so dolle ;-) :-)
Was meinst du mit "mach einen punkt auf den boden per licht."
Gruß
Johannes
:roll: na mit nem fetten Laser ne Markierung in den Teppich einbrennen....glaube ich rofl
Johannes
02.02.2004, 10:03
Ja, daran habe ich auch schon gedacht... *lol*
Hey,
der Zeite Teil beschäftig sich wohl mit einer aktiven Landmarke (?)
Beim ersten Teil ist die Idee "gar nicht mal so doof" ;-) soweit ich es interpretieren kann will er ein Fixen Punkt auf den Bonden machen (nicht einbrennen >:-| ;-) ), also den "Startpunkt" (eigentlich etwas davon entfernt) und wenn er immer diesen Punkt "im Auge hält", kann er den Abstand und Winkel messen und somit die Positionsänderung bestimmen.
Das Ganze ist auf jedenfall theoretisch richtig, allerdings die Ausführung etwas schwirriger ;-)
(Hört sich nach einem Übersetzungsprogramm an, kann das sein?)
also ok nochmal.
ich meinte entweder man macht einen fix punkt auf den boden also der nicht eingebrannt wird, sondern den man per ansteuerung immer auf der selben position hält und dann misst man immer den winkel zum punkt und hat die drehung.
Oder
Du baust einen arm an den roboter der wenn du nach links dich drehst um 1° der arm sich nach rechts dreht um 1° also das es so eine rechnung ist (Winkel=winkeldrehen-winkelarm=0) was heißt der arm ist auf der selben position wie vorher nur das fahrzeug ist um ein paar grad gedreht. und man mist per sensor den winkel zu den arm.
Also sowas wie eine uhr wo minutenzeiger läuft aber der stundenzeiger bleibt stehn egal wie sich der minutenzeiger bewegt.
Du baust einen arm an den roboter der wenn du nach links dich drehst um 1° der arm sich nach rechts dreht um 1° also das es so eine rechnung ist (Winkel=winkeldrehen-winkelarm=0) was heißt der arm ist auf der selben position wie vorher nur das fahrzeug ist um ein paar grad gedreht. und man mist per sensor den winkel zu den arm.
Wenn der Arm immer im gleichen Winkel zu Ausgansposition bleiben muss, wofür soll der dann gut sein? Dann kann man doch gleich einfach die Winkel um die sich der Roboter gedreht hat addieren und sich den Arm schenken. Nur um ein paar Additionen zu sparen ist so ein Roboterarm mit Steuerung irgendwie recht aufwendig.
Davon mal abgesehen, was nutzt der Winkel zwischen Roboterarm und Roboter für die Positionsbestimmung?
Wenn sich der Roboter auf der Stelle dreht, ändert sich der Winkel aber nicht die Position des Roboters im Raum.
Wenn der Roboter geradeaus fährt, ändert sich die Position und der Winkel bleibt gleich.
Johannes
03.02.2004, 21:51
>Wenn der Arm immer im gleichen Winkel zu Ausgansposition bleiben muss, wofür soll der dann gut sein?
Das frage ich mich auch.... ;-)
>ich meinte entweder man macht einen fix punkt auf den boden also der nicht eingebrannt wird, sondern den man per ansteuerung immer auf der selben position hält und dann misst man immer den winkel zum punkt und hat die drehung.
tut mir leid, ich verstehe das immernoch nicht. Ich formuliere meine Frage mal so: Wie ist der "fix punkt" beschaffen? Ist der nur virtuell, wenn schon keine Brandmarke?
Gruß
Johannes
Es ist mittlerweile scho einige Zeit vergangen; daher mal die Farge ob sich das System mit den Mäusen bewährt hat.
Wir schlagen uns derzeit mit einem ähnlichen System herum; im Moment scheitert es daran, dass niemand eine Idee hat wie man die Gabellichtschranken der Maus sinnvoll anzapfen kann.
Hat jemand da eine vernünftige Lösung?
REB
im Moment scheitert es daran, dass niemand eine Idee hat wie man die Gabellichtschranken der Maus sinnvoll anzapfen kann.
Mäuse arbeiten doch mit serieller Datenübertragung und per Adapter kriegst du jede Maus, egal ob USB, PS2 oder seriell an eine RS232 Buchse angeschlossen. Theoretsich müsste man eine Maus daher doch komplett an den Controler "anstöpseln" könnnen und dann per Software die Datenpakete auswerten können.
Hier hat scheinbar jemand ein ähnliches Problem: http://www.roboterwelt.de/forum/archiv/2003/0503/messages/543.html
PS: Ich beschäftige mich erst seit knapp 2 Woche mit der Thematik, also bitte nicht schlagen, wenn das 'ne total doofe Idee/Antwort ist ;-)
Johannes
09.02.2004, 14:08
nein, mit Adaptern funktioniert das nicht.
Gruß
Johannes
nein, mit Adaptern funktioniert das nicht.
Am Computer funktionierts aber. Ich habe hier zig Adapter von PS2 auf RS232 die bei irgendwelchen Mäusen dabei waren rumfliegen und auch schon mal eine Maus damit angeschlossen.
Und USB auf PS2 Adapter geht auch, so ist meine Maus nämlich am Rechner angeschlossen.
Aber mit den Adapter wollte ich auch nur andeuten, dass USB-, PS2 und alte serielle Mäuse eigentlich dieselben Daten liefern müssen, wenn man die Anschlüsse per Adapter beliebig austauschen kann.
Um die Maus an den Roboter anzuschliessen ist's natürlich einfacher, den Stecker abzuschneiden und die Leitung direkt anzuschliessen, statt Adapter dazwischenzufummeln.
Um es etwas ausführlicher zu sagen:
Über RS232 wird keine Spannung zur Verfügung gestellt; deshalb funktionieren optische Mäuse nicht über RS232.
Schlagen tue ich nur Computer (die Androhung reicht meistens http://www.smiliez.de/smilies/smiliez.de_2144.gif).
Die Auswertung eines RS232-Signals per Software ginge vermutlich; ich verstehe nur nicht wieso ich so viel Speicherplatz opfern soll und eigentlich nur an den Signalen der Lichtschranken interessiert bin (und Analogeingänge habe...).
Deshalb meine Frage und mein Interesse...
REB
Über RS232 wird keine Spannung zur Verfügung gestellt; deshalb funktionieren optische Mäuse nicht über RS232.
Optische Mäuse haben aber vermutlich auch keine Gabel-Lichtschranken und du hast geschrieben dass du Gabel-Lichtschranken auswerten willst ;-)
Eine Maus mit 5 Volt Spannung zu versorgen kann ja nicht das Problem sein, das ist der einzige Teil an der Geschichte den ich mir sogar selber noch zutraue ;-)
Die Auswertung eines RS232-Signals per Software ginge vermutlich; ich verstehe nur nicht wieso ich so viel Speicherplatz opfern soll und eigentlich nur an den Signalen der Lichtschranken interessiert bin
OK, das sehe ich ein. Ich muss mich erst noch an den Gedanken gewöhnen, dass man bei einem Microcontroler nicht einfach 'ne Festplatte und nen Riegel RAM dazustecken kann, wenn der Speicher nicht reicht ;-)
Johannes
09.02.2004, 18:02
>...dass USB-, PS2 und alte serielle Mäuse eigentlich dieselben Daten liefern
Nein, so ist es leider nicht. In den seriellen Schnittstellen sind auch noch andere Leitungen als die für die echte serielle Schnittstelle vorhanden, und auf diese leitet der Adapter um. Normale Mikrocontroller haben aber nur die normale RS232 und können damit nicht mit USB-Mäusen über einen Adapter kommunizieren.
Aber mit einer alten seriellen Maus sollte es meines Wissens nach funktionieren.
Gruß
Johannes
Meiner Meinung nach kann man nur USB-Mäuse an PS2 anschließen und nicht an RS232. Da bin ich mir recht sicher. Aber warum... da bin ich mir nicht so ganz sicher. Vielleicht ist die Datenrate bei den USB-Mäusen höher und es geht darum nicht. Könnte doch sein. Ob eine RS232-Maus auch an einen USB-Port angeschlossen werden kann weiß ich nicht. Glaub ich aber nicht. USB und PS2 dagegen sind meiner Meinung nach kompatibel.
USB und PS2 dagegen sind meiner Meinung nach kompatibel.
Ich glaube eher, dass das von der Maus erkannt und umgeschaltet wird, es also an der Intelligenz in der Maus liegt...
Meiner Meinung nach kann man nur USB-Mäuse an PS2 anschließen und nicht an RS232. Da bin ich mir recht sicher. Aber warum... da bin ich mir nicht so ganz sicher. Vielleicht ist die Datenrate bei den USB-Mäusen höher und es geht darum nicht. Könnte doch sein. Ob eine RS232-Maus auch an einen USB-Port angeschlossen werden kann weiß ich nicht. Glaub ich aber nicht. USB und PS2 dagegen sind meiner Meinung nach kompatibel.
Stimmmt nicht ganz. Die PS2-Leitung enthält noch eine ominöse clock-Leitung, die in der USB nicht vorkommt (Quelle: http://www.tirol-aktiv.com/stanglsoft/pinout.htm).
Eine für USB gedachte Maus kann man in der Tat nicht an RS232 anschließen, da die erstere normalerweise vom Computer ein Entgegenkommen in Form von +5V erwartet - und da kann sie bei RS232 lange warten.
Nichts desto trotz hoffe ich immer noch auf Erfahrungen bezüglich dem tracking mittels Mäuschen. Ich habe die Probleme (Kontakt Ball- Lichtschrankenlager) schon zur Kenntnis genommen resp. selber erfahren; mich interessiert aber immer noch ob man die Dinger zwecks Wegbestimmung benutzen kann oder, noch besser, ob jemand da schon Erfahrungen gesammelt hat
REB
theoretisch müsste es doch mit einer maus gehen...
die maus darf halt nur nicht im drehpunkt des Roboters platziert werden.
Ändern sich X und Y Werte proportional fährt der roboter geradeaus
wenn nicht, dann nicht
oder bin ich falsch?
theoretisch müsste es doch mit einer maus gehen...
die maus darf halt nur nicht im drehpunkt des Roboters platziert werden.
Ändern sich X und Y Werte proportional fährt der roboter geradeaus
wenn nicht, dann nicht
oder bin ich falsch?
Im Prinzip nein, aber...
Wir haben es mit den Mäusen versucht; es scheiterte aber daran, dass nicht jeder mm WEg von der Maus auch aufgenommen wurde, da die Radsensoren auch mal ab und zu "schlupfen". Mit optischen Mäusen habe ich noch nichts versucht; sollte aber die gleichen Probleme ergeben. Und die verwendung mehrerer Mäuse zur Vermeidung der verlorenen mm sind IMHO unökonomisch...
REB
NumberFive
06.04.2004, 21:41
im bereich pc habe ich mal das von mir entwikelte programm zu auslese ein maus hinterlegt übrigen die mas er hellt auch ihr 5v von der rs323 den mach muß rts und dts high schalten sonst tut die maus gar nix.
benutz die leitungen als strom versorgung. was sicher ncht ver hindern kann ist das man mes daten durch schlup verliert das aber die maus nicht die bewegun mist sonder die beschleunig konn man zu mdestens merken wenn die maus daten sich masiv verändern (lansamschieben oder schnell). ein problem habe ich noch be meiner maus ich schaffe es fast nicht die mosue so langsam zu drhen das sie nich an voll ausschlag geht mag an der soft oder der maus liegen das weiß ich noch nicht
Johannes
08.04.2004, 16:19
Moin,
soweit ich weiß, gibt die Maus immer Werte zwischen -7 und +7, und das ganz oft in der Sekunde. Vielleicht ist das Intervall, in dem du abfragst, zu langsam?
Gruß
Johannes
Bei mir kann ich die Maus abtastrate einstellen
80, 100 und 200 mal pro sek
Johannes
08.04.2004, 18:06
Genau, die Frage ist, wie oft der Script von numberfive das macht.
NumberFive
10.04.2004, 10:36
Hallo es ist kein script es ist ein ein Programm aber egal.
das programm warte immer bis 3 Bytes im Buffer der Serialen schnittselle stehen dann wird aus gelesen schneller kann man die Mouse denke ich nicht abfragen.
Gruß
Johannes
10.04.2004, 12:11
Nicht immer so kleinlich :-) Aber stimmt natürlich.
Kannst du mal erzählen, was genau in den 3 Bytes drin steht? Also, in welcher Form die Bewegungen übertragen werden?
Gruß
Johannes
NumberFive
10.04.2004, 13:40
siehe
https://www.roboternetz.de/phpBB2/viewtopic.php?t=1259
Johannes
10.04.2004, 13:58
Danke für den Link. Wofür benutzt du das Programm eigentlich? Auch für Wegmessung beim Roboter?
Hi Johannes,
hab auf deiner Webseite dein Projekt gesehn. Sieht sehr interessant aus. Gibst du die Informationen nach deinem Wettbewerb frei? Ich bin nämlich auch ein wenig neugierig wie du das Positionsbestimmungsproblem gelöst hast. Wann ist der Bundeswettbewerb überhaupt?
Gruß Frank
Vom 13. bis 16. Mai in Saarbrücken...
NumberFive
10.04.2004, 16:03
Danke für den Link. Wofür benutzt du das Programm eigentlich? Auch für Wegmessung beim Roboter?
Ehrlich gesagt mir war langweilig und ich hatte ein problem bei der Video erkung kamm da nicht weiter da habe das teil geschrieben.
Gruß
Johannes
10.04.2004, 17:01
*lol* so entstehen die besten Programme :-)
Ringelkrat
11.04.2004, 11:55
Hi, ich hab das gefunden in: 'Systems and Methods for Mobile Robot Positioning'.
So kannst Du doch die Strecke messen. Mit so einem kleinen Trailer:
http://mitglied.lycos.de/hebbeker/Trailer.jpg
Der misst mit seinen Rädern die Strecke und an der 'Leine' Die Drehung. Na das wär doch was.
MfG Ringekrat
Johannes
11.04.2004, 19:07
Moin,
ja, die Methode ist etwas gewöhnungsbedürftig... :-)
Aber auch da ist die Auswerung nicht gerade einfach.
Gruß
Johannes
Hi,
ich will was ähnliches machen:
........../-----\...........
..........=.O.=...........
..........=....=...........
......##=....=##......
......##=....=##......
..........-------...........
1. Dabei will ich schrittmotoren verwenden, um durch die zurückgeleckte Strecke die Position zu bestimmen.
Da wüsste ich gerne, wie hoch der Fehler ist.
2. Vorne beim "O" wollte ich sowas wie ne Fußrolle verwenden, die ihre Richtung ändern kann. Wobei die wieder einen recht hohen Fehler erzeugen würde... am liebsten eine kugel oder so, die in jede richtung frei rollen kann, aber ich wüßte nicht wie ich an sowas kommen könnte...
Gruß
Daniel
Matthias
21.05.2004, 17:09
Hallo,
ich will in meinen Roboter nen Kompassensor einbauen (für den winkel) und brauch noch was für die Wegstrecke.
Ein drehrädchen an nem interrupt fände ich schlecht. Wie wäre es, wenn ich nen Passenden frq-Teiler dranhänge? Dann würde der sagen wir mal alle 10cm einén puls geben. Würde das gehen und welchen kann ich da verwenden (mit welchem wegstreckensensor)?
Matthias
21.05.2004, 17:12
Ach ja, es ist ein Kettenfahrzeug, also müsste das Teil auch beim auf der Stelle drehen halten und gefedert sein, weil das das Teil auch ist.
Johannes
22.05.2004, 20:05
@Frank
So, bin jetzt wieder von Jufo zurück. Meine Website hatte ich übrigens am letzten Montag aktialisiert, ich weiß nicht, ob du es schon gesehen hast. Wir haben den dritten Platz bei Technik gemacht. War übrigens interessant, Kjion mal persönlich zu treffen. ;-) Wir hatten ein paar lustige Tage zu sammen (meine Erkältung ist übrigens immernoch nicht ganz vorrüber...).
Naja, soweit etwas offtopic,
Gruß
Johannes
Matthias
22.05.2004, 22:46
Fällt niemandem was ein?
Hi Johannes! Gratuliere erst mal zu Deinem 3.Platz! Bist ja nu eines unserer Prominenten Mitglieder ;-)
Deine Seite macht sich auch, hab es gesehn! Vielleicht kannste bei Gelegenheit mal ein Foto von deinem Sieger Bot ins Album posten.
Gruß Frank
Johannes
23.05.2004, 19:12
Moin Frank,
mache ich. ;-)
Gruß
Johannes
Bin auch sehr an den Unterlagen interessiert.
Kann man da auch irgendwann das Passwort zum PDF erhalten ?
Oder das ganze im Downloadbereich zur Vefügung stellen ?
Ist bestimmt auch für andere sehr interessant.
Johannes
27.05.2004, 08:38
Moin,
ich habe nun mal die Seite aktualisiert und ihr könnt die Datei nun ohne Passwort runterladen.
Gruß
Johannes
@Johannes:
Super !
Habs gerade mal runtergeladen und kurz überflogen.
Sieht schon mal sehr interessant aus.
Ich habe mich schon gefragt wie ihr das mit welcher Kamera gelöst habt, da es ja ein nicht ganz triviales Problem ist eine Bildanalyse durchzuführen. Und dann war es mir noch schleierhaft wie ihr das mit der Software gelöst habt (vor allem der Speicherplatzverbrauch und die Programmierung selber).
Da war es dann auch kein Wunder das ich jetzt eine CMUCam und einen PocketPC mit OOP Software sehe. Was hätte ich auch anderes erwarten sollen ???
Auf jedenfall habt ihr das sehr gut gelöst. Muss ich schon sagen.
Wird für mich auf jeden fall sehr hilfreich sein .
Bist Du einverstanden, wenn das Dokument in den Donloadbereich zu Verfügung gestellt wird ???
Ich dachte so in den Bereich "Tutorials / Einführungen / EBooks",
da findet man ja auch andere Sachen wie Diplomarbeiten. Würde da ganz gut reinpassen.!!
Letzte Nachricht war übrigens von mir.
@Frank:
Sag mal, haben andere auch das Problem hier nach kurzer Zeit wieder rauszufliegen. Welchen Session-Timeout habt ihr da drinnen ? Kann man diesen nicht auf einen höheren Wert setzen ?
Johannes
27.05.2004, 15:06
Moin,
ich werde die Arbeit noch einmal etwas überarbeiten, da am Ende doch der Akzent auf dem System und weniger auf dem Roboter selbst lag. Dann werde ich das Ding in den Download-Bereich stellen und meine Website mit Infos darüber füllen. Momentan bin ich deshalb gerade am CGI-Programmieren ;-)
Gruß
Johannes
P.S. Das mit dem PDA hat zwar gut funktioniert, allerdings wird der neue Roboter ein embedded-Board haben, auf dem z.B. Windows läuft.
Wenn Du deine Seiten mit PHP programmieren willst, empfehle ich dir bei
http://www.phpclasses.org reinzuschauen.
Dort stellen viele User ihre fertigen Klassen zur Verfügung.
Ab und zu ist mal was brauchbares dabei.
Ich schaue da selber regelmäßig mal rein.
Apropos embedded Board.
Hast Du da irgendwelche Links, welche es gibt und was die so kosten ?
Habe schon welche für die Industrielle Nutzung gesehen, waren aber ganz schön teuer.
Für eine Nutzung in einem Roboter wäre eigentlich Linux ohne Grafische Benutzeroberfläche die bessere Wahl. Die gibt es dann sogar im Miniatur-Format (z.B. bei http://www.synertronixx.de).
Johannes
27.05.2004, 17:50
Moin,
da ich das ganze in Java programmieren möchte, wäre eine Umstellung des Betriebssystems nicht problematisch. Ich habe hier im "andere Mikrocontroller"-Forum mal einen Thread dazu aufgemacht, da ist auch ein Link zu dem Board, das ich gerne hätte. Allerdings weiß ich nicht was das kostet, ich tippe aber mal so auf 800€.
Gruß
Johannes
P.S. Auf dem Board möchte ich dann auch die Bildverarbeitung selber programmieren. Das Board hat 3 Video-Eingänge, was schonmal sehr praktisch ist.
Letzte Nachricht war übrigens von mir.
@Frank:
Sag mal, haben andere auch das Problem hier nach kurzer Zeit wieder rauszufliegen. Welchen Session-Timeout habt ihr da drinnen ? Kann man diesen nicht auf einen höheren Wert setzen ?
Nö.
Liegt sicher an deiner Online-Zeit. Du solltest Router oder was immer du hast, so einstellen, das Rechner mindestens 15 Minuten online bleibt, auch wenn keine Daten übertragen werden.
@Frank:
Hast bestimmt recht, hab garnicht daran gedacht !!!
Aber ist jetzt kein Problem mehr. Ich hab ja jetzt das Häckchen für den automatischen Login aktiviert. Mit dem Cookie funktioniert jetzt alles problemlos. War einfach nur zu blöd.
Trotzdem Danke für den Hinweis.
willst du den roboter nach einen bestimmten wegen fahren lassen und einen weg fahren und den dann hundert mal wiedholn ??? weil dann hätte ich gesagt du baust dir sowas wie ein blackbox ein dann kannst einfach das fahrzeug nach der logfile fahren lassen
Und was ist in der "Blackbox" drinnen ?
Ein programmierter µC der jedesmal das gleiche Programm abspielt ?
Und was ist in der "Blackbox" drinnen ?
Ein programmierter µC der jedesmal das gleiche Programm abspielt ?
Soweit ich weiss, redet man immer dann von einer BlackBox, wenn man sich nicht damit beschäftigen will was drin ist, sondern einfach nur mit dem was rauskommt arbeiten will.
Ist also völlig egal, was du da rein packst. Hauptsache es funktioniert und ist schwarz ;-)
@recycle:
Also fast jeder IC ist für mich eine Blackbox.
Mit fällt nur auf, daß der Begriff gerne immer öfters verwendet wird, ohne das die Leute überhaupt ne Ahnung haben was das ist. Da du ja weist was eine Blackbox ist (im übrigen bin ich psychologisch gesehen auch eine) brauche ich nicht mit dir darüber diskutieren.
Soweit ich weis liegst Du aber mit einer Sache völlig daneben:
Die Farbe bezieht sich eher auf die Lichtverhältnisse im Inneren als auf die äußere Farbe. Heutzutage darfs auch ne hübsche blaue metallic Lackierung sein. :)
Hi, so nocheinmal einen alten Thread herauskramen, um nicht gleich einen neuen aufmachen zu müssen.
speziell an Johannes und seinem Roboter. Wie habt ihr das gelöst mit dem Maussensor. also welchen Sensor, wie steuert man den an und wie sieht es aus mit dem Preis? Habe leider nichts genaueres auf deiner Homepage dazu gefunden. kanst du mir da auskünfte geben?
mfg
cauboy
Wie wärs denn mit nem Kompassmodul (zum 3. mal). dann brauch man nurnoch nen roboter dessen Räder sich synchron drehen und der so langsam ist, dass man auch die Umdrehungen der Räder zählen kann.
Matthias
pebisoft
29.05.2005, 17:06
" Das kann man nur mit Schrittmotoren genau bestimmen, wenn der Kurs vorherbestimmt wird."
...aber nur, wenn die räder nicht an irgendeiner stelle durchdrehen. ansonsten wird ein weg beurteilt, der keiner war...
mfg pebisoft
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.