Kinect SLAM

Klein Frage an die, die sich mit ROS auskennen: Ich bin seit einiger Zeit dabei meinen Roboter ( http://toastcrafterhd.de/leobot/ ) für autonomes fahren fähig zu machen. Ich habe mir eine Xbox 360 Kinect gekauft und auf Ubuntu die Freenect Treiber, ROS Kinetic und Rtabmap installiert. Bisher habe ich es nur geschaft, eine 2D und eine 3D Karte mit Rtabmap zu erstellen. Mein Zeil ist es das der Roboter sich anhand der 2D Karte orientiert, als Odometrie werde ich Gabellichtschranken und Encoder-Scheiben benutzen. Wo ich nicht weiter weiß ist die Programmierung, wie kann ich den Raspberry Pi mit dem Arduino kommunizieren lassen?

TCHD

Drahtlos geht das z.B. über Infrarot, Bluetooth, WLAN usw., mit den entsprechenden Modulen auf beiden Seiten.

Die exakte Positionserkennung kann tricky werden, wenn durch Kurvenfahrten oder ganz normalen Schlupf die berechnete Position nicht mehr stimmt. Dann braucht man feste Referenzmarken zum Nachjustieren der Position.

Drahtlos muss es ja garnicht, einfach per Kabel, ich meinte eher die Programmierung.
Man kann die Kinect einfach mit der Hand bewegen und sie nimmt sich pro Bild hunderte Punkte, anhand von denen bestimmt sie auch wann und wie man sie bewegt.

Dann weiß die Kinect, wo sie gerade hinsieht, aber was hat der Roboter damit zu tun? Der steht gerade irgendwo, und soll was tun?

Mein Ziel ist erstmal etwas so wie auf der folgenden Website hinzubekommen: 2d SLAM with ROS and Kinect – Dr Rainer Hessmer
Das Problem ist, das die Bibliothek Ardros nicht mehr existiert und ich bisher keine Alternative gefunden habe.

Sorry, ich habe keinen Dunst was da genau ablaufen soll. Die ganze Datenschubserei ergibt sich daraus jedenfalls nicht, und damit kein Anhaltspunkt für den Nachbau irgendwelcher Programme oder Bibliotheken :frowning:

Drahtlos muss es ja garnicht, einfach per Kabel, ich meinte eher die Programmierung.

Serial ? Geht natürlich auch auf dem Raspberry

Die serielle Schnittstelle des Raspberry Pi ist über GPIO14 (TXD) und GPIO15 (RXD) erreichbar.
Aber immer daran denken: Auch diese Schnittstelle arbeitet mit nur 3,3 Volt.

Aber vermutlich verstehe ich dein Problem nicht:
Du baust grade ein Raumschiff und scheinst nicht zu wissen, was ein Schraubendreher ist? :wink:

Mein Problem ist, dass ich so ziemlich totaler Programmieranfänger bin und ich hätte gerne einige Beispiele anhand derer ich mir meinen entgültigen Code zusammenbastel.

Das einzige Problem, das Du bislang ausreichend beschreiben konntest, ist die Verbindung zwischen Arduino und RasPi. Dazu wurde dann auch schon eine serielle Verbindung vorgeschlagen. Auf der Arduino Seite geht das mit Serial.read() und Serial.print(), das wird in fast jedem Beispiel verwendet. Auf der RasPi Seite gibt es dafür unterschiedliche Möglichkeiten, je nach der Programmiersprache, die Du verwenden möchtest - da kann Dir hier im Ardunio Forum nicht unbedingt weitergeholfen werden.

Danach käme das Problem, was zu übertragen wäre. Dafür reicht es nicht, Namen und Bilder von irgendwelchen Gerätschaften anzugeben - stattdessen braucht es konkrete Hinweise (Datenblatt...), was sich in den Gerätschaften abspielt oder abspielen soll, und über welche Schnittstellen sie nach welchem Protokoll mit der Umwelt kommunizieren können. Wenn Du dazu keine Links auf entsprechende Dokumentation nachreichen kannst, und das Programm nicht mehr verfügbar ist, mit dem ein anderes Projekt gearbeitet hat, dann kann Dir niemand ein Beispiel präsentieren, das Dir weiterhelfen könnte. Außer vielleicht der Autor dieses verloren gegangenen Programms.

Programmieren ist keine Hexerei, jeder kann das lernen. Aber bevor ein Programmierer seinem Computer sagen kann, was er tun soll, muß er schon selbst wissen, was sein Programm tun soll.