PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Indoor Navigation- wie macht Ihr das?



Robotniks
18.01.2013, 14:43
Hallo zusammen,

ich mache mir seit Wochen Gedanken wie man eine gute und günstige Roboternavigation (Point to Point) innerhalb der Wohnung realisieren könnte.
Mit Odometrie habe ich bereits sehr viele Versuche gemacht, aber der Aufwand für eine genaue Odometrie mit Rekalibrierung ist enorm...
Ideal wäre es, dass ganze über eine Webcam zu realisieren z.B. mit Optical Flow und OpenCV/EmguCV...
Oder über eine IMU... ???

Ein paar interessante Ansätze habe ich gefunden:

- RoboRealm www.roborealm.com
- http://www.roborealm.com/help/AVM_Navigator.php
- http://edv-detail.narod.ru/Library_AVM_SDK_simple_NET.html
- http://www.youtube.com/watch?v=qRrMHaO6NpE
- http://www.hessmer.org/blog/2010/08/17/monocular-visual-odometry/

Was meint Ihr dazu?
Wie mach Ihr das und vor allem auch Raumübergreifend?


Grüße Ulli

lumi
19.02.2013, 03:25
Ich würde das mit Infrarotbaken machen, das haben wir mit unseren Schwarmrobotern vor. Der Vorteil liegt in den geringen Kosten und der punktgenauen Navigation. Entweder steuerst du mit dem Roboter nur die entsprechenden Bake an oder etwas komplizierter versuchst du die Position des Roboters über Triangulation zu bestimmen (Mehrere Baken notwendig).

JoeM1978
19.02.2013, 20:55
Wie mach Ihr das und vor allem auch Raumübergreifend?

Das ist wohl der springende Punkt.
Kaum jemand hat lust seine ganze wohnung mit Navigationsbaken zu pflastern.

Ich spiele auch schon mit diesem "Gedanken" der Navigation...
Wobei ich eher dazu tendiere einen Rechner per die Navigation machen zu lassen.

Daten der Sensoren an den Rechner übermitteln, der daraus eine 2D-Karte erstellt.
Sozusagen ein Grundriss der Umgebung.

Aber wie genau man das umsetzen möchte ist stark von den Rahmenbedingungen abhängig.

lumi
20.02.2013, 01:30
...Kaum jemand hat lust seine ganze wohnung mit Navigationsbaken zu pflastern...

Das ist kein zupflastern, denn eine Bake pro Raum genügt ja...je nachdem wie genau man navigieren will


Ich spiele auch schon mit diesem "Gedanken" der Navigation...
Wobei ich eher dazu tendiere einen Rechner per die Navigation machen zu lassen.

Daten der Sensoren an den Rechner übermitteln, der daraus eine 2D-Karte erstellt.
Sozusagen ein Grundriss der Umgebung.

Das wäre eine recht genaue Navigationslösung, nur muss man auch sehen, dass man dafür die nötigen Sensoren braucht und einen Computer extra für die Navigation lauufen zu lassen stelle ich mir auch recht ausschweifend vor. Eine Bake mit einer festen ID braucht nur wenig Strom und kann über Batterie laufen. Außerdem kann man die ganz billig aufbauen.

JoeM1978
20.02.2013, 10:10
und einen Computer extra für die Navigation lauufen zu lassen stelle ich mir auch recht ausschweifend vor
... Das ist der Punkt, der mich noch daran hindert es so zu machen.

Ich hätte noch ein PDA hier liegen... allerdings ist meine Erfahrung im programmieren von WinMobile-anwendungen bei 0...

Meine überlegung war auch schon ein EEprom als Speicher anzuhängen und den Grundriss, den die Sensoren ermitteln, als Array darin abzulegen.
Ein Bild ist ja im Prinzip nichts anderes. Der Haken daran ist, das bei jeder Änderung wieder geschrieben werden muss
und das EEprom dann leider recht schnell den Geist aufgibt.

Die lösung ohne Baken würde ich deshalb vorziehen, weil Sensoren, die am Rob. verbaut sind immer nützlicher sind als feststehendes Zubehör.
Und genaugenommen braucht man "nur" 2 Gabellichtschranken oder Drehgeber für die Räder und noch 3 oder besser 4 Abstandssensoren
(z.B. Ultraschall). Der ganze rest ist Rechenarbeit.
Hat man genug Geld zur Verfügung kann man auch nen Laserscanner nehmen.

Eher ins gewicht fällt da die komunikation... soll der PC/Netbook nicht am Rob. montiert sein muss Funkübertragung her.
... und eben wie du bereits sagtest ein PC, der das alles regelt.
Da der PC in meinem Fall ohnehin hier steht kann ich die kosten der Sensoren und Funkmodule noch ganz gut überschauen.

Will man das ganze zu ende bringen muss man dann noch mit einrechnen, das ein Atmega8 kaum das alles bewältigen kann.
Schliesslich soll der Rob. nicht nur kriechen.
Also entweder auf was grösseres umsteigen... oder die Aufgabenbereiche auf mehrere Module aufteilen.

Das alles ist aber nur meine Auffassung von Navigation....
Den einsatz von Kamera&Co würde ich selbst nicht anwenden für meine Projekte.
Weil ich mir zum einen die Auswertung von Bilddaten sehr aufwendig vorstelle...
Sicher kann mat mit Cam oder Kinect auch gut Navigieren.

Übrigens... Soll der Rob. innerhalb der Wohnung direkt zu einem bestimmten Punkt geschickt werden
muss so oder so ein Grundriss oder ein "Wegeplan" hinterlegt sein oder erstellt werden ... und es muss vermutlich innerhalb dieses "plans"
mindestens ein Punkt mittels koordinate festgelegt sein... egal wie navigiert wird.

Hier ein kleines Video wo mit wenig aufwand und sensorik am PC eine "karte" erstellt wird.
Leider kann man anhand der ungenauigkeit deutlich sehen, das der Kollege wohl schwierigkeiten mit der Auflösung der Radsensoren hat. *gg



http://youtu.be/kkCOwecruCA

lumi
20.02.2013, 16:34
Warum so kompliziert. Eine Bake kannst du für weniger als 3 Euro bauen. In jeden Raum eine Bake mit einer ID und der Roboter bekommt einen, zwei oder drei TSOP1838B.
Dann sucht der Roboter eben nach der Bake mit der ID, welche er ansteuern soll. Den Weg zurück findet er ja anhand der ID's der vorhergehenden Baken, sozusagen, "gehe immer wieder zurück zur Ladestation bei Bake 0, wenn du deine Aufgabe bei Bake x erfüllt hast"

Bild im Anhang, wie das Ganze aussehen könnte. Kein PC nötig, keine komplizierten Berechnungen, keine Karte, nur nach dem Infrarotsignal suchen.
Ich selbst habe noch keine solche Ausfstellung gebaut, wir haben aber das System an unseren Swarmrobotern im Einsatz, die sich gegenseitig folgen (die höhere ID führt und die niedrigeren folgen).

24597

JoeM1978
20.02.2013, 17:25
kompliziert desshalb weil Infrarot nicht durch Wände dringt und der Roboter kaum selbst erkennt wo er durch welche Tür muss.

Also muss man ihn entweder
1. selbst eine Karte erstellen lassen oder
2. eine Karte der befahrbaren Wege vorgeben, oder
3. er sucht sich seinen Weg durch die Wohnung per Zufallsprinzip

Stell ich mir lustig vor, wenn der Roboterschwarm 1m vor der Ziel-Bake wieder umdreht
weil ein Stuhlbein im weg ist und die ganze Mannschaft wieder (umsonst) 5 Runden durch die Wohnung marschiert.

lumi
21.02.2013, 01:16
Ja klar hat IR einige Einschränkungen. Aber wenn man es richtig angeht, dann hat es auch Vorteile, die nicht wegzuwischen sind.

Ich möchte dich nicht "überreden" sondern nur alle Fakten klar machen. Die Navigation kann ja so ausfallen, dass man mit 2 Empfängeren am Roboter misst, ob sich eine Bake im Rücken und eine vor dem Roboter befindet. Dann navigiert man anhand der ID in die richtige Richtung. Ein Stuhlbein kann durchaus im Weg sein, aber nach dem Umfahren des Hindernisses findet der Roboter die Bake recht schnell wieder (max. eine 360°-Umdrehung)

Eine gewisse Routine (Karte) kann man ja fest einprogrammieren, sozusagen Bake 0 im Rücken und Bake 1 in Front bedeuted, dass ich Raum 0 verlasse. Danach wird nach Bake 2 gesucht und das Spiel geht von vorn los.
Es kommt ja darauf an, wie genau die Navigation sein muss, direkt auf die Bake zuzufahren, dort anzukommen und was dann? Auf jeden Fall muss an der Position einer jeden Bake der Roboter die nächste oder die vorherige Bake sehen können, um Entscheidungen über die Richtung treffen zu können.

JoeM1978
21.02.2013, 10:11
Mit Baken ist es eben das Problem, das der Rob entweder sichtkontakt haben muss... also den direkten Weg fährt (+- kleine Hindernisse)...
oder wenn er keinen Sichtkontakt hat, muss er sich dann trotzdem Autonom über die vorhandene Sensorik seinen weg suchen.

Habe ich also den Roboter sowieso mit den Sensoren ausgestattet kann ich die doch genausogut zum erstellen einer Karte nutzen.
Die Frage ist dann eben... möchte ich die Karte an einen Computer übermittel (onboard oder per Funk)...
oder behalt ich die Karte "nur" in einem Speicher im Roboter.

Die ermittelten Sensordaten nur fürs stupide Hinderniss erkennen zu verwenden und danach zu verwerfen wäre
an sich Verschwendung und hat meiner Ansicht nach kaum was mit Navigation zu tun.

Hab ich die möglichkeit dem Rob. vorgegebene Fahrwege einzugeben (Grundrissskizze z.B.) ist eine Lösung mit Baken sicher das einfachste.
... es ist eben sehr von den bedingungen abhängig, wie die Räumlichkeiten sind.
Ob es immer die selbe Wohnung ist z.b. ... oder ob ich ihn "irgendwo an einem unbekannten Ort" aussetze.

lumi
21.02.2013, 15:44
Ja, das ist eine Möglichkeit und wie schon geschrieben, ich will dir ja nix einreden :-)
Warum speicherst du die Daten der Umgebung nicht auf einer SD-Karte, wenn du um den EEprom besorgt bist?
Meine Sorge ist nur, dass alles zunichte gemacht wqird, falls die Räder mal durchdrehen und dadurch die Encoder-Daten unbrauchbar werden. Vielleicht kann man für jeden Raum ein bestimmtes MUster einprogrammieren, das als Referenz genommen werden kann.

Valen
21.02.2013, 16:44
Es braucht vielleicht eine menge Wissenschaft von Matrixrechnen. Aber SLAM sollte das Problem von Fahren in einer unsichere Umgebung lösen können: (Simultan Lokalisieren und Mappen)

http://de.wikipedia.org/wiki/Simultaneous_Localization_and_Mapping

Robotniks
23.02.2013, 00:13
Hallo zusammen,

jetzt mische ich mich auch wieder ein :-)
Also die IR-Baken Lösung ist relativ praktikabel und funktioniert auch recht schön... man sollte sich aber im Klaren sein, dass dazu der Roboter erst mehrer zufällige Positionen anfahren muss bis er die Bake sieht.
Die Roomba Staubsauger machen das recht effektiv und sicher. Ich habe dieses System nachprogrammiert und als Baken die günstigen Saugroboter Baken von Pearls Versand verwendet (nur die Mechanik und Optik).
Bei heutigen Robotern ist es auch kein Problem einen PC, Netbook oder ein Notebook zu verwenden, da man mit einen Rechner sehr viele Probleme (z.B. Sprach Ein-/ Ausgabe, Computer Vision, WLAN usw.) wesentlich kostengünstiger und Flexibler lösen kann. Meine Versuche in den letzten Jahren haben jedoch gezeigt, dass Rad-Odometrie und die Baken-Navigation nicht unbedingt das gelbe vom Ei sind. Deshalb habe ich diese Variante bereits über Board geworfen. SLAM an sich funktioniert sehr gut, vorausgesetzt gute Sensoren bzw. einen Laserscanner siehe (ROS), mittels Sensorfusion kommt man hier auf sehr gute Werte. Auch das North-Star System oder Stargazer funktionieren sehr gut, aber unbezahlbar (Außer im Rovio) :-) Momentan stütze ich mich auf Visuelle Landmarken (Glyphen) und Optical Flow (Optische Odometrie) nach Dr. Messner. Das ganze wird jetzt noch mit einer Szenenerkennung über SURF verstrickt. Das Modul programmiere ich gerade für eine Robotersoftware von der ich hoffe, dass Ihr noch mehr davon hört :-) Ziel ist es mit einen Netbook (min. Atom CPU erste Generation) und einer Webcam und ein paar weniger Referenzmarken eine brauchbare Indoor-Navigation zu realisieren. Mit der Software selber kann so ziemlich jedes Hobby-Robotic Projekt in wenigen Stunden quasi Intelligent gemacht werden *lach*. Ich verwundert es nur, dass es in Richtung kostengünstige Navigation nichts auf den Markt gibt was universell eingesetzt werden kann.

Die Software selber geht mehr in die Richtung:

http://www.youtube.com/watch?v=iZ6936-ppCA

Aber nicht so kompliziert wie ROS, sonder man kann das ganze aus einzelnen Graphischen Modulen zusammenbauen und die Automatisierung mittels der Scriptsprache realisieren.

PS: Suche noch jemanden der in Sachen Website, Shopsystem auf aktuellen Stand ist und mir später hier ein wenig Arbeit abnehmen kann.
-> Auch werden später noch Tester gesucht...

Okay jetzt bin ich etwas abgeschweift und dazu auch demnächst mehr in einen anderen Thread...


Grüße Ulli

vinni.k
24.10.2013, 16:52
Hallo Leute,
ich greife das Thema wieder auf, denn ich baue gerade einen Saugroboter und suche noch nach Navigationsmöglichkeiten.
Der Roboter soll sich strukturiert durch Räume arbeiten und auch ungeplante Hindernisse umfahren.
Als Chip bekommt er einen Arduino Mega 2560 (das Board hab ich schon).
Ich habe mir schon 5 Abstandssensoren besorgt (hc_sr04), vier für vorne, hinten, rechts und links und einen für unten (Stufenerkennung).
Nun meine Fragen:
1. Wie baut man sich so einen "Bake", bzw. was ist das genau?
2. Ist eine genaue Lokalisierung mit mehreren von denen möglich (kann man den Abstand von Roboter zu Bake messen) ?
3. Wie kann man so eine Raumkarte (Grundriss) digital mit einem Mikrocontroller erstellen (bzw. am PC und sie dann einbinden) ?
4. Habe ein Video gesehen http://www.youtube.com/watch?v=IMI63k5W3sU wo jemand einen Lasersensor selber gebaut hat. Kann man sowas besser und ohne Legotechnikteile realisieren?
5. Wie siehts aus Ulli, gibt es Fortschritte bei dem Projekt und ist so was z.B. mit einem Raspberry Pi realisierbar?

Allgemein hatte ich daran gedacht, in mein Projekt einen Raspberry einzubauen, denn der Arduino hat ja schon eine etwas begrenzte Rechenleistung!


Ich hoffe, dass wenigstens ein paar meiner Fragen zu beantworten sind ;)


Viele Grüße,
Vinni

robin
24.10.2013, 20:17
1. Eine Bake ist in der Robotik in der Regel ein Turm mit mehreren IR_LEDs, die ihr Licht in alle Richtungen abgeben. Das IR Licht wird für jede Barke moduliert (unterschiedliche Frequenzen, eine bitfolge, ...) um jede eindeutig identifizieren zu können.
2. Man kann die Winkel zwischen den einzelnen Baken messen. Kennt man die genaue Position der Baken im Raum lässt sich der Winkel mittels einfacher Trigonometrie berechnen. Man braucht Sichtkontakt mit mind. 2 Baken für eine Positionsbestimmung, besser wären 3. Der Roboter müsste dann aber auch in der Lage sein den Winkel sehr genau zu messen. zB. mit einem IR-Phototransistor/Empfänger der mit einem Schrittmotor um 360° gedreht werden kann.
3. Ich würde das wohl als Array soeichern, 0= frei und 1= Hindernis, hab sowas aber noch nicht gemacht.
4. Das ist nur ein Laserpointer und ein Phototransistor oder Photodiode. Das ganze geht aber nur bei Reflektierenden Oberflächen. Die Berechnung ist dann wie oben mit den Baken auch über einen Winkel gemacht. Finde die Lösung aber ungünstig, da die Baken hier nicht identifiziert werden können. Man weiß nur, dass da etwas reflektiert wird.
5. Bin nicht ulli :D

Hoffe das hilft dir.

i_make_it
25.10.2013, 12:15
1234567890

WL
25.10.2013, 12:46
Ich hatte das hier
https://www.roboternetz.de/community/threads/54798-Laser-Positionsscanner
beschrieben.

vinni.k
25.10.2013, 14:00
@Willi: das ist ein tolles Projekt, aber ich bin Schüler und für mich ist das ne Stufe zu kompliziert und*auch zu teuer!

Das mit den Bake(s??) kann ich mir gut vorstellen, habe gelesen, dass man den Ne555 als Taktgeber verwenden kann. Aber wie sieht das dann genau aus? Lötet man da dann direkt ein paar IR Dioden an und bestückt das ganze mit einer kleinen Batterie?

oberallgeier
25.10.2013, 14:49
Für eine eindeutige Positionsbestimmung mit Barken müssen immer 3 Baken zu sehen sein ...Stimmt - fast. Es müssen drei Baken sein, die auf zwei sich kreuzenden Geraden liegen (also nicht auf einer einzigen Sichtlinie). Die genaue (geographische) Lage der Baken muss bekannt sein, d.h. ihr Abstand voneinander und die Winkel zwischen mindestens zwei Verbindungslinien. Die Situation hatte ich mal hier (klick) vorgestellt. (https://www.roboternetz.de/community/threads/36932-Navigation-mittels-Triangulation?p=351334&viewfull=1#post351334) Lösungsweg und wiederholte Fragen und Antworten sind im nachfolgenden Thread.


... Entlang der Linien die jeweils durch 2 Baken gehen, sind sogar 4 Baken notwendig ...Hmmmm, meinste? Das sehe ich nicht so - denn die Angaben reichen. Immer.

Croal
26.10.2013, 05:19
Über Indoor navigation habe ich auch gedanken gemacht und ich denke mit eine Kamera wäre das ganze einfacher wobei einfache symbole ausgewertet werden müssten die dann informationen geben wohin. Meinetwegen ein pluss zeichen würde bedeuten 90 grad rechts , 1 meter geradeaus. So nach dem motto es ist egal wo ich bin hauptsache ich weiss wohin. Zumindest für eine grobe navigation würde das reichen. Ist nur eine nicht ausgereifte Gedanke. Wenn man eine gute Kamera besorgt wie die cmucam4 oder den pixi , http://www.kickstarter.com/projects/254449872/pixy-cmucam5-a-fast-easy-to-use-vision-sensor wäre sehr viel möglich. Man könnte die Räume anhand von Farben oder bestimmten Bildern die man platziert zuordnen, und ein bild oder Symbol würde die Richtung vorgeben.

vinni.k
26.10.2013, 09:39
@Croal: sehr interessant!! Wie würdest du dann die Daten auswerten? Welches Board würdest du benutzen und welches Programm (oder selbst eins schreiben?) ?

Croal
26.10.2013, 11:30
Das ist schwer zu sagen, wenn man versucht alles selber zu basteln ist der erfolg von den eigenen Fähigkeiten abhängig. Radbruch hat in richtung Kamera auswerten beeindruckende erfolge erzielt. Ich denke aber der weg wäre sehr steinig für fiele wie für mich auch. Ich würde auf die cmucam4 setzen da das board ausgelegt ist für solche sachen und umfangreiche Software existiert. Zum selber machen würde ich versuchsweise auf vier CNY70 setzen, indem ich vier pixel auswerten würde. Komplett weiss bis komplett schwarz müssten 16 variationen sein was die muster eine Sub routine auslöst und den groben weg vorgibt. Um genau ins ziel zu gelangen könnte man zB. Linie vervolgen. Oder man besorgt den Pixi was ich oben verlinkt habe , damit wäre einiges einfacher wenn man das Video anschaut sind echt nette Futeures bereits enthalten. Nun was die Hardware angeht würde ich bei meinem Pro Bot 128 bleiben also c-control und auf der experimentplatine oben einen weiteren atmega128 verbauen, den Ram erweitern und versuche mit eine Game Boy kamera anstellen. Da gibt es zum teil informationen drüber. Aber da bin ich schon zu weit abgeschweift...

vinni.k
28.10.2013, 15:11
ich würde das dann mit einem Arduino realisieren. Aber soweit ich gelesen hab, gibt es das Ding (Pixy) noch gar nicht in Deutschland..?? Und Pixy kann ja auch nur Farben erkennen... wie siehts dann mit Hindernisserkennung aus?

oberallgeier
28.10.2013, 16:24
... und versuche mit eine Game Boy kamera anstellen ...Kennst Du diese Arbeit (klick) ?

(https://www.roboternetz.de/community/threads/31245-Entfernungsmesser-Optische-Triangulation)

Croal
02.11.2013, 23:35
Kennst Du diese Arbeit (klick) ?

(https://www.roboternetz.de/community/threads/31245-Entfernungsmesser-Optische-Triangulation)

Danke oberallgeier für den link, das habe ich bis jetzt noch nicht gelesen werde es aber nachholen. Hört sich sehr interresant an. Ich habe mir mittlerweile die Game Boy cam , Ram für den Atmega128 und natürlich einen Atmega Controller besorgt nur das ganze ist schon ein Brocken wo ich mich intensiv einlesen muss. Naja, der Winter kommt näher mal schauen.

i_make_it
06.11.2013, 15:38
1234567890

Croal
06.11.2013, 16:23
Ich denke nach deinem Plan dürften die Baken auch in eine Reihe liegen wenn sie eideutlich zu identifizieren sind und der Abstand zum einzelnen Baken ermittelbar ist. Es wäre theoritisch auch möglich nach dem Spielprinzip kalt, wärmer,wärmer, heiss vorzugehen. Navigation allgemein funktioniert nach dem prinzip wo ist Norden eine Karte und wohin. Daran habe ich auch gedacht ob mit hilfe eines Kompass sowas machbar ist aber so vie ich einige Erfahrungen durchgelesen habe sind die störanfällig gegen elektromagnetischen Smog. Ich weiss nicht ob ihr bei youtube die Videos von den Micromouse wettbewerben gesehen habt, aber die dinger sind echt beeindruckend und ich habe nicht mal die leiseste Ahnung wie die navigieren. Die fahren erstmal den Labyrinth ab, wissen stehts wo sie sind , merken den Weg und beim zweiten Lauf fahren die driekt den kürzesten Weg zum ziel. Vielleicht hat jemand infos wie die navigieren . Ich kann mir nicht vorstellen das alles nur über die Odometrie funktioniert.

http://www.youtube.com/watch?v=A4hzCcFikm0

hier ein link wenn ihr das noch nicht kennt. Mehr infos zu den Micromouse wüde ich gerne erfahren wenn jemand was über die dinge weiss.

mbot
06.11.2013, 18:18
Moin,

ich rate zum Mtschleppen ganzer Mainboards, sofern unter Linux.

Mit dem Raspberry-Pi Board mit 1-2 Webcams und entspr. C-Programm ausgestattet,
sollte ein Bot in der Lage sein, seine Position anhand von Markierungen und gespeichertem Grundriß zu erkennen.

Gruß mbot

oberallgeier
06.11.2013, 22:22
Sorry für die späte Antwort ...Kein Problem.


... Ich meine das so wie im folgenden Bild ...Deinen Widerspruch hatte ich schon verstanden. Es tut mir leid, dass Du den Rückwärtsschnitt nicht glaubst und möglicherweise auch den vollständigen Lösungsansatz nicht kennst. Da kann ich nix machen. In meinem Link weiter oben hatte ich den Lösungsweg beschrieben und auch einen Lösungsansatz einigermassen ausführlich aufgelistet. Deshalb erspare ich mir dessen Wiederholung. Da Deine Aufgabenstellung die wichtig(st)e Voraussetzung befolgt - 3 (DREI) Baken auf sich kreuzenden Geraden - ist sie eindeutig recht schnell lösbar.

Es gibt nur eine, na ja noch ne dazu triviale, Konstellation, die keine Lösung durch den Rückwärtsschnitt erlaubt: wenn die drei Baken und die unbekannte Position auf einem Kreis liegen ... und wegen der stets vorhandenen Mess- und Rechenungenauigkeiten in dessen Nähe. Die triviale Lösung dazu ist der Kreis mit der Krümmung Null *ggg*.

Sorry, ist so, ob mans glaubt oder nicht.

-

... eventuell versuch ich es mal mit nem Raspberry-Pi, ... hatte noch keins in der Hand
... Mit dem Raspberry-Pi Board mit ... und ... sollte ein Bot ... Position ... erkennenHmmm, das ist jetzt nur ne Vermutung ! ? Ob das hilft ?

mbot
07.11.2013, 11:18
Hallo oberallgeier,

Das oben Erwähnte ist alles getest; auf nem mini-ITX unter Linux,
Webcam über /dev/video0 (v4l) und espeak und Debian laufen definitiv unter Raspberry (RB-Forum)

die Datenberechnug bei 700Mhz und 512 MB könnte beim Raspberry langsamer ausfallen, abe jeder indoor_Bot würde sowieso langsam entscheiden,
bevor er in die Wanne hüpft oder 'ne Treppe absteigt.

Da ich kein I²C und SPI-Protokoll kann, ahbe ich beim Raspberry nur noch 7-8 GPIOs, das könnte knapp werden,

aber du hast recht, es ist ne vermutung, solange ich noch kein RPI hab....


Gruß mbot

mbot
16.11.2013, 08:48
..., nach weiteren Tests zeigt sich:... Mist:

Bisher gelang Umgebungserkennung dmit einem C_Programnm immer problemlos über /dev/video0,
da v4l was ausgespuckt hat, was man Byteweise auswerten konnte, ... also mühelos in Raumkoordinaten umwandeln konnte.

Der seit geraumer Zeit gängige Nachfolger v4l2 liefert unverständliche Daten, ich vermute ist ein komprimiertes Format (evtl. jpg).
solche Daten sind i.d. Regel mit (komplexen) Algorithmen verschlüsselt.

Das Raspbian verwendet sehr wahrscheinlich auch 4vl2, ... so komm ich erstmal nicht weiter, ich muss mich nach einer Lösung umsehen,
wie ich jpg-Daten "räumlich" mache (ohne Zwischenspeicherung auf d. Festplatte versteht sich).

Ich bin nicht sicher ob ich unter Raspbian (für ARM-Prozessoren) den v4l2 gegen v4l austasuchen könnte.
(Ich wüßte sowieso nicht wie man das macht...)

Bis zum Kauf eines Raspberry-Pi dauerts also noch ne Weile...


Gruß mbot

oberallgeier
16.11.2013, 09:36
..., nach weiteren Tests zeigt sich:... Macht das Sinn? Das IDENTISCHE Posting wie gerade eben (https://www.roboternetz.de/community/threads/60603-Indoor-Navigation-wie-macht-Ihr-das?p=589541&viewfull=1#post589541), von deinem Original (https://www.roboternetz.de/community/threads/63409-mbot-stellt-sich-vor?p=589326&viewfull=1#post589326) 1:1-kopiert nach vier Tagen ! Die meisten hier haben einen längeren Gedächtnishorizont :-/

mbot
16.11.2013, 13:37
Mensch oberallgeier,

... ich dachte glatt, hier wäre ein anderer Thread als "mbot stellt sich vor"

Ich hatte "Indoor-Navigation" im Sinn,
in dem Thread hatte ich nämlich in meinem vorletzten Beitrag v4l empfohlen,
.. da wollte ich noch erwähnt haben, dass für schnelle Reaktionen, das komprimierte Format umständlich ist,..
... dachte für diesen Thread ganz allgemein, wäre die volle Nutzung von 1-2 Webcams
auf nem Raspberry unter Raspbian interessant, um diese für Indoor-Navigation zu nutzen.

Naja, ... hab ich wohl mit meinem geringen Gedächtnishorizont falsch verstanden...

Gut das du so aufgepasst hast, sonst hätte ich hier noch weitere Tipps zur Webcam-Nutzung verteilt.
z.B. dass man v4l2-Formate vernachlässigen kann, wenn es nur um Standortbestimmung (Indoor) geht.
... heißt: hierfür kann man auch die komprimierten v4l2 Formate verwenden....

... naja..., immer schön die Augen auf ;- )

Gruß mbot

Robotniks
30.04.2014, 08:47
Hallo zusammen,

gibts schon was neues zur Indoornavigation?

Ich selber hatte momentan nicht soviel Zeit aber wem mein Projekt interessiert kann hier schon paar Schnappschüsse sehen:

https://www.facebook.com/RoboticWorkbench

Robotniks
16.10.2014, 09:57
Hi, das Thema ist ein bisschen eingeschlafen :-)

Jetzt habe ich wieder etwas Zeit um weiter zu machen.

Hat schon jemand von euch mit SLAM ohne ROS gearbeitet?
Derzeit schweben mir verschiedene Varianten zur Navigation vor:
- Optische Odometrie über Kamera (leider extrem von den Lichtverhältnissen abhängig)
- Klassische Odometrie mit Radencodern (geht ganz gut wenn der Boden eben ist)
- Odometrie mit Radencodern, Kompass und Gyros über Sensorfusion)
- Leitlinie über Tape (naja nicht der Brüller aber genau :-) )
- Baken über IR (geht auch sehr gut)
- Optische Baken (Pattern Matsch über CV)
- Outdoor über GPS (Läuft und mit DGPS hoch genau)

Werde wohl in das Navigationsmodul verschieden Optionen einbauen und diese kann man je nach verwendeter Hardware auswählen und konfigurieren.
So kann jeder User auf unterschiedliche Navigations-Methoden zurückgreifen und diese über die interne Sensorfusion verknüpfen (steigert die Genauigkeit).

Frage: Was fällt euch dazu noch ein und welche Methoden gibt außer den Klassischen Zählen der Radimpulse zur Aufnahme der zurückgelegten Wegstrecke (Odometrie nicht Winkelabhängig) rein den relativen Weg.

Grüße RWB'ler :-)

robosapiens
16.10.2014, 10:55
Ich habe mir auch schon Gedanken zur Indoor Navigation gemacht, und finde IR-Baken einerseits gut, da sie günstig sind, andererseits auch nicht, da sie wie schon in einem Beitrag zuvor erwähnt, im Haus/Wohnung "rumligen".

Da ich viel mit Raspberry PI Boards Bastel, stellt sich mir die Frage, ob es nicht möglich wäre, ein Cubietruck oder Banana Pi als Basis zu nutzen, da diese Boards mehr Leistung zur Verfügung stellen, und dann mit einem der genannten Boards und einer Webcam mit Laser eine Karte des Raumes zu erstellen. Ich weiß nicht wieviel Arbeit das in Anspruch nimmt, da ich bis jetzt nur am Versuchen bin, mit einem Raspi , Webcam und einem Laser eine Distanz zu berechnen.

Eine weitere Idee war, das Prinzip eines 3D Scanners zu nutzen, und viele Laser übereinander zu setzen und durch Roatation der "Laserleiste" eine Karte zu modellieren. Die Karte wäre demnach nur sehr grob, würde aber meiner Meinung nach schon reichen. Das Gute an dieser Variante wäre, dass nur einmal eine Karte erstellt werden müsste, diese auf eine SD-Karte beispielsweise geladen werden könnte und dann schon von einem Mircrocontroller oder Raspi etc. verwendet werden könnte.

Das waren nur Ideen, also mich bitte nicht für Verrückt erklären :)

Robotniks
16.10.2014, 12:02
Das mit Laser und Kamera ist so eine Sache, geht bei bestimmten Lichtverhältnissen ganz gut bis zu einer gewissen Entfernung, jedoch recht langsam.
Die Entfernung über den Laser kannst du über Triangulation machen https://wiki.zimt.uni-siegen.de/fertigungsautomatisierung/index.php/3D-Objekterkennung_im_Raum_-_Verfahren,_M%C3%B6glichkeiten_und_Potenziale_f%C3 %BCr_die_automatisierte_Fertigung.

Die Karte musst du aber trotzdem updaten und mit der alten Karte vergleichen, da sich ja nicht alle Objekte statisch verhalten (Stühle, Ball ect.) die Objekte kannst Du dann "gewichten" und den Roboter die Karte lernen lassen.

Grüße

Robotniks
17.10.2014, 09:16
Entweder haben hier alle das Problem im Griff oder keiner hat Ideen...

Ich werde mich jetzt mal mit Trägheitsnavigation (inertial navigation) befassen...

Grüße

Andre_S
18.10.2014, 11:30
Entweder haben hier alle das Problem im Griff oder keiner hat Ideen...

Ich werde mich jetzt mal mit Trägheitsnavigation (inertial navigation) befassen...

Grüße

Hallo,

wir warten alle auf Deine Software...



...
Momentan stütze ich mich auf Visuelle Landmarken (Glyphen) und Optical Flow (Optische Odometrie) nach Dr. Messner. Das ganze wird jetzt noch mit einer Szenenerkennung über SURF verstrickt. Das Modul programmiere ich gerade für eine Robotersoftware von der ich hoffe, dass Ihr noch mehr davon hört :-) Ziel ist es mit einen Netbook (min. Atom CPU erste Generation) und einer Webcam und ein paar weniger Referenzmarken eine brauchbare Indoor-Navigation zu realisieren. Mit der Software selber kann so ziemlich jedes Hobby-Robotic Projekt in wenigen Stunden quasi Intelligent gemacht werden *lach*. Ich verwundert es nur, dass es in Richtung kostengünstige Navigation nichts auf den Markt gibt was universell eingesetzt werden kann.
...

PS: Suche noch jemanden der in Sachen Website, Shopsystem auf aktuellen Stand ist und mir später hier ein wenig Arbeit abnehmen kann.
....


...aber mal Spaß beiseite, wie ist den der aktuelle Stand?


Gruß André

HaWe
18.10.2014, 14:43
Odometrie alleine ist nach spätestens 30 min. fahren immer ungenau - oft schon nach 30 sec.
Wenn du andererseits im unbekannten Terrain herumfährst, kannst du überhaupt nicht exakt navigieren, denn du hast ja keine Ortsreferenzdaten: da kannst du höchstens möglichst genau "koppeln" (also Ortbestimmung relativ zum Startpunkt - englisch: "dead reckonning").
Professionelle Systeme machen das indoors mit Sensorfusion (Odometrie, Gyro, Accelerometer) und stochstischen Filtern, insb. Kalmanfiltern (z.B. Staubsaugerroboter).

Ohne externe Referenzen mit Peilungen bekommst du aber nie eine wirklich genaue Ortsbestimmung.
Das brauchen aber keine Baken zu sein, es gehen theoretisch auch eine Vielzahl von Transpondern, die du überall verteilst, oder eine Vielzahl von (Ultraschall-, IR-) Entfernungsdaten in alle möglichen Richtungen.
In diesem Falle brauchst du aber zur Ortsberechnung ebenfalls stochastische Filter, am ehesten funktionieren hier SMC (sequentielle Monte Carlo Methoden, auch "Partikelfilter" genannt): die funktionieren perfekt, wenn die Referenzwerte stark verrauscht sind, aber man stattdessen ein vielzahl dieser Referenzen hat. Auch Odometriedaten und Gyro-Werte kann man in den SMC mit einkalkulieren.

Beide stochastischen Filter (Kalman und SMC) brauchen aber als Basis sehr große vorweg bekannte Datenmengen (z.B. Standardabweichung der Messgenauigkeiten sämtlicher Sensoren und/oder eine bekannte Karte des betr. Raums) und sehr viel Mathematik zur Auswertung. Ein ARM-Prozessor (wie der Arduino Due oder der Lego NXT) samt preemptivem Multitasking für Navigation in Echtzeit sind sicher Vorraussetzung. Vorgegebene oder ermittelte Karten lassen sich am bestem auf dem Flash speichern, quasi wie ein Schachbrettmuster.

Guckst du z.B. hier:


http://www.youtube.com/watch?v=ZQ5b6OYLlqU


http://www.youtube.com/watch?v=dtyzjoE2FWU


http://www.youtube.com/watch?v=YIZEzGQ3ENY


http://www.youtube.com/watch?v=Rj7s3PbNaiM

Robotniks
18.10.2014, 18:29
Hi,

Kalman und SMC sieht schon sehr vielversprechend aus aber die Randbedingungen sind so eine Sache.

Habe hier auch einen guten Kurs für SLAM gefunden:
https://drive.google.com/folderview?id=0BxwK9_xWk7ewUTFKVEIydTdfMzg&usp=sharing

Nicht ohne muss ich sagen... puh...

Eine feine Lösung ist auch der AVM-Navigator:
http://edv-detail.narod.ru/AVM_main.html

Ältere Test mit eine umgebauten Omnibot bei mir :-)
http://www.youtube.com/watch?v=iAE7NXQgwC0

Derzeit läuft bei mir die Odometrie mit Marker-Abgleich (kommt die nächsten Wochen wieder ein Video auf FB).
Das ganze Navi-Modul wird langsam etwas komplex... Kartenerstellung kommt noch rein und einen A* habe ich schon vor ein paar Jahren mal programmiert und
Hindernisse einzeichnen lassen die gewichtet wurden... dieser läuft zwar noch nicht super aber ganz gut.

Mein Plan ist derzeit:
Odometrie + 9DOF IMU + Binary Marker Erkennng zum Abgleich (alternativ an der Ladestation eine Stereo IR-Bake, mit der der Roboter über die Winkel und den festen Abstand seine Position abgleichen kann).

Einfach und vor allem unterschiedliche Konfigurationen für den User möglich (von low Cost bis hochwertige Sensoren).
Statt der IMU kann auch ein Kompass das theta der Odometrie verbessen, bei mehreren Sensoren dann Sensorfusion (wird eine Herausforderung).

Robotic-Workbench ist ja modular aufgebaut und ich kann Sensore, Module und Befehle beliebig erweitern und den User stehen dann di High-Level Befehle und Graphischen-Module zum einfachen konfigurieren zur Verfügung.

Ich werde die nächsten Wochen mal die Homepage fertig machen und auch die grobe Anleitung online stellen und ein paar Videos dazu machen, derzeit sagen ja die paar Bilder in CV Video nicht soviel aus.

Grüße

HaWe
18.10.2014, 18:43
ist das AVM- / Omnibot Ding autonom oder PC/host- gesteuert?

Robotniks
18.10.2014, 19:45
Autonom aber mit einer Funkverbindung zum Host PC, darauf läuft die Computer Vision Software.
In diesen Fall RoboRealm, immer gut für schnelle Versuche (Filter Test ect.) aber mittlerweile ist RoboRealm erwachsen und hat einige interessante Features wie den AVM Navigator.
Im Robotic-Workbench habe ich die RoboRealm Schnittstelle mit eingebaut, so kann man statt meiner OpenCV Geschichte auch RoboRealm verwenden (nur bei der 64bit Version hapert es noch bei Steven und der API).

Robotic-Workbench arbeitet auch mit den PC als Host und die µC-Hardware besitzt die low-Level Routinen (Kommunikaton mit den Sensoren und Aktuatoren sowie Servocontroller für 20 Servos, Motorsteuerung wie Stepper, DC, Odometrie ect. aber auch Laufalgorithmen für Quadro- Hexabots und vieles mehr).

Für die Verbindung zwischen PC und µC stehen bereits Bluetooth, Zigbee, EasyRadio und USB zur Verfügung.
Vor ein paar tagen habe ich Robotic-Workbench auf einen kleine Odys Tablet mit einen Atom getestet und es läuft damit sehr gut :-D

Grüße

HaWe
18.10.2014, 19:56
also wenn mit Funkverbindung, dann ist es ntl nicht autonom. Etwas wirklich autonomes wäre eher auf meiner Wellenlänge. Auch da gibt es ja Cams mit Blob- Farbb- und Kantenerkennung (AVR Cam, RPI Cam).

Robotniks
18.10.2014, 20:14
Der Rechner sitzt ja später im Roboter ;-)
Autonom setzt ja nicht voraus das die Intelligenz direkt im Roboter verbaut ist ;-)

Natürlich kannst du auch einen RasPi, CMU-CAM oder AVR Cam ect. verbauen aber die Leistungsfähigkeit und die Möglichkeiten sind damit schon sehr eingeschränkt.
Wenn du ein kleines Tablet, Netbook, Intel NUC, IPC oder ein günstiges bzw. älteres Notebook verwendest und dies in den Roboter einbaust stehen Dir ganz andere Welten offen ;-)

Aber bitte keine Philosophie-Beiträge jetzt, gell ;-)
Hier muss jeder selber entscheiden was und wie er es machen will...

Grüße

HaWe
18.10.2014, 21:15
klar - aber der TOP heißt ja: "wie macht ihr das" , gell?
autonome NXTs oder Arduinos lasse ich für mich gelten - PC Verbindung nicht 8-)

Robotniks
18.10.2014, 21:51
Grundsätzlich geht es um Indoornavigation und welche Möglichkeiten man anwenden könnte oder bereits von euch mit Erfolg umgesetzt wurden.

Andre_S
19.10.2014, 10:58
Hallo,

darf ich mal abschweifen... ?

Die Frage die sich mir stellt ist eher, "was dann"?

Aktuell kann mein Bot sich im unbekannten Raum bewegen um diesen zu erkunden und dabei z.B. günstige Positionen zur Überwachung der Räumlichkeiten zu finden. Dies funktioniert auch recht gut und so kann er auch zufällig die Überwachungsposition ändern.
Kleine Spielchen, sich dem Bot unentdeckt nähern oder das dieser jemanden lokalisiert, kann man damit schon recht gut durchführen.

Ich hatte im Vorfeld auch bereits versucht zielgerichtet Punkte "anzufahren", mal unabhängig dass dies nicht immer von Erfolg gekrönt war und der Bot diese teilweise nur sehr umständlich und zeitaufwendig erreichte, kommt nun mein eigentliches Problem.
Was mache ich an diesem Punkt?

Selbst wenn der geplante Manipulator schon verbaut wäre, kommt für mich jetzt erst der richtig schwierige Teil, nämlich Objekterkennung und greifen von Objekten, die sich aber leider im tägl. Leben kontinuierlich verändern.
Um "nur" etwas zu transportieren um dann gezielt eine Person anzufahren benötige ich wiederum die Karte nicht, da ja auch Personen dynamisch sein sollten.

Also überlege ich ernsthaft ob der mir aktuell fehlende Laserscanner wirklich Vorteile bringt, ausgenommen der besseren und schnelleren Navigation, sowie der genaueren Erfassung einer Ebene des Raumes.
Wenn es jetzt ein Fußballroboter, Staubsauger etc. wäre,... aber so!?


Gruß André

Robotniks
19.10.2014, 17:36
Die Navigation muss ja nicht Punktgenau sein, reichen würde zum Großteil eine Genauigkeit von sagen wir 20cm Radius.

Der Vorteil einer Karte ist natürlich so schnell und kostengünstig (Akku Laufzeit) von Punkt A zu Punkt B zu kommen.

Anwendungen:
- Raumübergreifen Navigieren
- Telepräsenz, man klickt nur auf den Ort und der Roboter fährt da hin, statt ihn mühevoll zu steuern
- Abfahren von Routen zur Überwachung der Wohnung
- schnelles auffinden der Ladestation (Raumübergreifend)
- Koordiniertes umherfahren zur Simulation von Selbstständigkeit (Lebensimulation)
- Anfahren bestimmer Orte um dort Gegenstände aufzunehmen (natürlich mit Manipulator über CV -> nicht einfach und mühevoll *lach*)
- da könnte man natürlich weitermachen...

Grüße

- - - Aktualisiert - - -

PS: Andre_S: Wie fährt dein Roboter zur Zeit?
Habe mir die Videos angeschaut, das kannst Du mit RWB auch schon machen :-)

Aber tolle Arbeit Andre!

Andre_S
19.10.2014, 19:39
Hallo

erst mal besten Dank für Deine Aufzählungen!
Auch für die Einschätzung meines Projektes, welche ich auch gern für deine Leistungen an Dich zurück geben möchte!

Im großen und ganzen sind mir die Vorteile schon bewußt, allerdings wenn ich mal ganz subjektiv an die Sache gehe, also nur mit dem Möglichkeiten meines Bots sieht es dann in etwa so aus.

Raumübergreifend navigieren
- Geht auch ohne Karte, soweit dies nicht ausartet. Die Tür kann ich mit den aktuellen Sensoren ermitteln, (wenn Sie zu sind ist sowieso ende...:() sowie Richtung und Überschreitung merken.
Telepräsenz
- macht Sinn, aber nicht für mich privat.
Routen abfahren zur Überwachung
- OK ist sinnvoll, allerdings bei meinem Bot eher nicht, da bei Bewegung die Erkennung außer mit Kinect (Person ident.) kaum möglich ist. Radar/Licht/PIR/TON alles schlechte Vorraussetzungen für Bewegung, deshalb vermeide ich dieses.
schnelles auffinden der Ladestation
- sehr guter Hinweis, fehlt aktuell völlig,... ich stecke noch per Hand an. :(
Koordiniertes umherfahren zur Simulation von Selbstständigkeit (Lebensimulation)
- geht erst mal auch ohne Karte.
Anfahren bestimmer Orte um dort Gegenstände aufzunehmen (natürlich mit Manipulator über CV -> nicht einfach und mühevoll *lach*)
- Oh je,... wird noch Jahre dauern oder realistisch nie werden,... jedenfalls nicht mit Eigendynamik der Objekte.

Unabhängig davone denke ich schon, dass ich noch einen Scanner im Winter einbauen werde. Die Vorteile liegen schon auf der Hand...
Die Homepage ist leider nicht mehr ganz aktuell, habe ich ein wenig vernachlässigt, (Der Bot ist ja inzwischen auch nicht mehr verkabelt...) ich hoffe im Winter mehr Zeit zu finden.

Ich kann nicht Einschätzen ob RWB alles so könnte wie es im Augenblick möglich ist. Wenn alle Module/Sensoren frei konfigurierbar sind, dass heisst E/A Bedingungen komplett frei definiert werden können, die Module in unabhängigen Threads arbeiten, die erzeugten Informationen wiederum in allen Modulen aktiv verfügbar sind, ...ja klar warum nicht.
Stelle ich mir aber nicht so einfach vor... Denke nur an ein Beispiel von meinem Bot -> ELV I²C Adapter mit 3 SRF08 und Kompass, wobei nicht nur die zyklischen Werte interessant sind sondern auch Konfig und Fehlerbehandlung, sowie Anpassung der Werte an Bot, also Position/Größe/Richtung.

Was meinst Du mit:
Wie fährt dein Roboter zur Zeit?


Gruß André

Robotniks
19.10.2014, 22:35
Hallo

erst mal besten Dank für Deine Aufzählungen!
Auch für die Einschätzung meines Projektes, welche ich auch gern für deine Leistungen an Dich zurück geben möchte!

---> Danke!

Im großen und ganzen sind mir die Vorteile schon bewußt, allerdings wenn ich mal ganz subjektiv an die Sache gehe, also nur mit dem Möglichkeiten meines Bots sieht es dann in etwa so aus.

Raumübergreifend navigieren
- Geht auch ohne Karte, soweit dies nicht ausartet. Die Tür kann ich mit den aktuellen Sensoren ermitteln, (wenn Sie zu sind ist sowieso ende...) sowie Richtung und Überschreitung merken.

---> zu ist immer blöd :-) da kann man dann aber per Sprachausgabe einen Hinweis geben, sofern jemand da ist ;-)

Telepräsenz
- macht Sinn, aber nicht für mich privat.

---> doch alleine wenn du von der Arbeit aus zuhause was nachschauen willst

Routen abfahren zur Überwachung
- OK ist sinnvoll, allerdings bei meinem Bot eher nicht, da bei Bewegung die Erkennung außer mit Kinect (Person ident.) kaum möglich ist. Radar/Licht/PIR/TON alles schlechte Vorraussetzungen für Bewegung, deshalb vermeide ich dieses.

---> aktive Ortung ist immer etwas schwierig aber man kann dazwichen kurz stehenbleiben oder mit Radar eine Ortung von Bewegungen durchführen (Robotergeschwindigkeit zur Objektänderung --> Differenz)

schnelles auffinden der Ladestation
- sehr guter Hinweis, fehlt aktuell völlig,... ich stecke noch per Hand an.

---> ein muss für die Objektüberwachung im Urlaub :-)

Koordiniertes umherfahren zur Simulation von Selbstständigkeit (Lebensimulation)
- geht erst mal auch ohne Karte.

---> Sieht immer bissl unkoordiniert aus *lach* zumindest bei mir

Anfahren bestimmer Orte um dort Gegenstände aufzunehmen (natürlich mit Manipulator über CV -> nicht einfach und mühevoll *lach*)
- Oh je,... wird noch Jahre dauern oder realistisch nie werden,... jedenfalls nicht mit Eigendynamik der Objekte.

---> würde ich nicht sagen, eine kleine Datenbank mit bestimmten Objekten mit CV ist kein größeres Problem mehr... lernen von objekten und was und wie er es machen soll schon...

Unabhängig davone denke ich schon, dass ich noch einen Scanner im Winter einbauen werde. Die Vorteile liegen schon auf der Hand...
Die Homepage ist leider nicht mehr ganz aktuell, habe ich ein wenig vernachlässigt, (Der Bot ist ja inzwischen auch nicht mehr verkabelt...) ich hoffe im Winter mehr Zeit zu finden.

---> Scanner wie das RPLIDAR (glaub so heißt das von Seed) ist schon cool :-D bin gerade darüber die Seed Module für ein anderes Projekte einzupflegen und hoffe das ich bald so ein putziges LIDAR am Tisch habe :-D

Ich kann nicht Einschätzen ob RWB alles so könnte wie es im Augenblick möglich ist. Wenn alle Module/Sensoren frei konfigurierbar sind, dass heisst E/A Bedingungen komplett frei definiert werden können, die Module in unabhängigen Threads arbeiten, die erzeugten Informationen wiederum in allen Modulen aktiv verfügbar sind, ...ja klar warum nicht.

---> Da ich nur von den Videos her sehe was er kann sollte das RWB schon können. Du kannst die Sensoren frei konfigurieren und die I/Os, ADCs, PWM ect. über die Graphische Visualisieren (HMI) und mit RoboScript automatisieren einfach gesagt.
Richtiges Multithreading hatte ich schon im Kopf aber bringt bei RBW derzeit nicht so viel, zumindest nichts bei den µC Aktionen da eh vor der Verarbeitung die Daten erst eingelesen werden müssen. Computer Vision, GPS und andere Komponenten die
nicht über die µC Hardware laufen Parallel, müssen aber je nach Programm auch auf Ereignisse und neue Werte von anderen Komponenten warten. Es bringt ja nichts die Operation 100x mit allten Werten auszuführen.

Stelle ich mir aber nicht so einfach vor... Denke nur an ein Beispiel von meinem Bot -> ELV I²C Adapter mit 3 SRF08 und Kompass, wobei nicht nur die zyklischen Werte interessant sind sondern auch Konfig und Fehlerbehandlung, sowie Anpassung der Werte an Bot, also Position/Größe/Richtung.

---> Sowas kommt jetzt alles ins Navi-Modul. z.B. Odometrie: Der User gibt dann folgende Parameter an... Radabstand, Raddurchmesser, Impulse pro Umdrehung, IMU ja/nein, Kompass (CMPS03, 09, 10) ja/nein ect.) so sind auch die anderen Module aufgebaut.

Was meinst Du mit:
Wie fährt dein Roboter zur Zeit?

---> Der große derzeit nicht, habe zwei kleine Plattformen zum Softwareentwicklen am laufen. Bis Ende des Jahres sollte die Homepage fertig sein und ein paar Einsteiger Videos und die erste Release... hoffe ich :-D



- - - Aktualisiert - - -

PS: Mich freut es immer wieder wenn andere "Maker" auch so fleißig basteln, forschen und experimentieren :-)

Low-Level Robots gibts schon genug, es wird Zeit für größeres *lach*

Andre_S
20.10.2014, 07:09
Hallo,

dann freue ich mich darauf bald mehr zu erfahren!


Gruß André

Robotniks
21.10.2014, 00:40
André, was hast du bis jetzt alles mit deiner Kinect alles realisiert?

Andre_S
21.10.2014, 07:33
André, was hast du bis jetzt alles mit deiner Kinect alles realisiert?
Hallo!

Nicht all zu viel, ich habe dies zum Teil auf meiner Page unter dem Sensor Kinect stehen.


Spracherkennung (mit wechselnden „Wörterbüchern“)
Geräuschortung (Erkennung und Richtung, wobei Richtung leider nicht immer korrekt ist)
Erkennung von Personen.
3D Hindernis Ortung (Projektion Bot [Größe/Bewegungsrichtung] ins Tiefenbild und Ermittlung von Hindernissen)
Entfernungsmessung punktuell
Kartierung Hindernis und Entfernungsmessung, aber ohne Verifizierung und aktuell nur visuell zu Testzwecken.

Würde das ganze diesen Winter noch in Verbindung mit dem RPLidar ausbauen wollen. Dann auch die Karte mit Positionsverifizierung und Nutzung von Koordinaten.
Größter Nachteil ist für mich aktuell die Mindestentfernung von ca. 80cm zur Kinect, (47cm vor meinem Bot) da ich die 360er nutze...

Robotniks
21.10.2014, 10:28
Hey das hört sich doch super an :-)

Hast Du davon auch schon ein paar Videos gemacht?

Andre_S
21.10.2014, 12:17
Hallo,

…so direkt,… nur bedingt! Ist ja meist auch nichts besonderes.

Die Spracherkennung geht ja aus einem Teil der Videos hervor.
Die Geräuschortung inkl. der Richtungsermittlung ist nur bei dem Modul (Bild) zu erkennen.
Detektion von Personen,… hielt ich nicht für notwendig, dass macht Kinect ja eher automatisch. (untere Bits)

Das Prinzip der 3D Hindernis Ortung ist an Hand des Moduls auf den Bilder ersichtlich. Da habe ich auch die Funktion dargestellt, dass dazugehörige Video stellt dann nur die praktische Nutzung in gekürzter Form dar. Natürlich sieht man dort keine „bunten“ Bildschirme, da die Module alle nur im Hintergrund ohne Visualisierung arbeiten. Die Visualisierung lasse ich sowieso nur in den einzelnen Modulen zu Testzwecken laufen, da es für die eigentliche Funktion des Bot nicht notwendig ist und er später auch noch eine „hübsche“ Mimik bekommen soll. Entfernungsmessung punktuell basiert ja auf der gleichen Grundlage nur ohne Projektion des Bot.

Kartierung ist noch zu neu und unfertig, dient im Moment auch nur um das aktuelle Bewegungsmuster in Abhängigkeit der Sensordaten besser abschätzen zu können.

So richtig „sinnvolle“ automatisierte Programme gibt es nur sehr wenige, da wären „Verstecken & Suchen“ oder „Bewachen“. Letztere sind aber eher als Gag und deshalb kinderfreundlich angepasst. Ungesehen kommt man doch nicht wirklich in die Nähe des Bot (z.B. um Süßigkeiten zu „stibitzen“) ohne von Ihm erwischt zu werden. Für ein Video fehlen mir da freiwillige Laiendarsteller,… nein Spaß beiseite -> kommt nicht auf Video!


Gruß André