Es kommt darauf an wo du hinwillst. Der Einstieg in ROS ist leider ein kompliziertes Unterfangen. Ich habe etwa zwei Jahre gebraucht nur um die grundlegenden Ideen zu verstehen.
Allerdings wird ROS nicht ohne Grund von vielen (der Mehrheit?) Forschungseinrichtungen und Herstellern in der Robotik verwendet. Der Vorteil ist ganz klar wiederverwendeter Code. Natürlich kann jeder seinen eigenen SLAM-Algorithmus implementieren, aber wozu? Und Programme wie rviz sind für mich zum unverzichtbaren Begleiter geworden.
Meine Meinung: Wer möchte, dass sein Roboter einer Linie folgt wird mit ROS nicht sehr glücklich. Wer möchte, dass sein Roboter in die Küche fährt und dort Bier holen geht ist bei ROS genau richtig aufgehoben.
Geändert von Defiant (23.01.2018 um 21:44 Uhr)
Hallo @Defiant,
ja,… das Beispiel von Dir mit dem Linienverfolger etc. zeigt recht gut den Unterschied!
Allerdings, dass viele mobile Plattformen und komplette Bots, besonders der höheren Preisklasse ROS kompatibel sind ist sicherlich auch dem geplanten Absatz geschuldet. Einige dieser Systeme findet man ja an entsprechenden Universitäten, Fachhochschulen etc. wieder. Das dafür auch ein entsprechendes Etat vorhanden ist, ist nicht neu. Das dort ROS genutzt wird ergibt sich auch aus der Tatsache das oft ROS konforme Plattformen verwendet werden, aber auch aus der Tatsache wechselnder Studiengänge. Dies ist auch ganz klar bei Robocup@Home und vergleichbaren zu erkennen, da liegt der Schwerpunkt nicht unmittelbar in der Entwicklung einer kostengünstigen Motion-Plattform und deren Low-Level Anbindung.
Aber ich wollte das Thema ROS, „ja“ oder „nein“, auch nicht hier reintragen. Ich bin einfach nicht sicher, ob dies der richtige Weg für mich ist. Ehe ich den aktuellen Stand mit ROS wieder erreichen könnte, werden auf Grund der begrenzten Freizeit und dem fehlenden Wissen darüber auch einige Jahre ins Land gehen. In wieweit sich in der Zeit auch ROS noch verändert bleibt auch abzuwarten. Leider kenne ich in meinem Umfeld auch keinen, welcher sich schon mit ROS beschäftigt hat, mit dem man eventuell gemeinsam agieren könnte.
Gruß André
Hallo,
ich habe da noch eine Frage zu den Packages der einzelnen Distributionen von ROS.
Kurz vorweg:
Ich habe gestern nach Anleitung Ubuntu 16.04 LTS, sowie ROS (Kinetic) installiert und zwecks Funktionstest für die Kinect Kamera "openni_camera".
Soweit erst einmal alles Okay…
Nun habe ich in Ubuntu geschaut was an USB Hardware bereits sichtbar ist. Das sieht treibermäßig sogar unerwartet gut aus.
Für einen Teil meiner Hardware habe ich in ROS auch bereits etwas gefunden. Wenn diese Packages aber nun z.B. nur für hydro/indigo gelistet sind, auf was müsste ich achten bzw. was muss geändert/angepasst werden, um es wenn möglich auch in Kinetic verwenden zu können.
Gruß André
Die Frage lässt sich leider so leicht nicht beantworten. In der Interprozess-Kommunikation der ROS-Nodes hat sich von Indigo bis Kinetic nicht viel getan, allerdings haben sich u.a. die Boost, OpenCV und PCL Versionen geändert, ein altes ROS-Packet was z.B. eine alte OpenCV Version benötigt kompiliert u.U. nicht auf einem Kinetic System.
Okay,... Danke!
Also probieren, soweit es möglich ist anpassen und wenn dies nicht sinnvoll ist bzw. nicht unkompliziert funktioniert, dass Ganze eventuell nur als Orientierung/Grundlage verwenden.
Ich benutze unter anderem auch das ELV I²C-Interface für 3 Stück SRF-08 Sensoren und den Kompass CMPS10. Nun möchte ich dieses ELV Teil nicht unbedingt an ROS anbinden. Gibt es denn empfehlenswerte Hardware, welche bereits in ROS Kinetic vorhanden ist, eine frei programmierfähige I²C Schnittstelle bietet ohne gleich ein Embedded-System verwenden zu müssen?
Aber wahrscheinlich ist es sinnvoller doch eins mit ROS OS zu verwenden und per Netz anzubinden, passt ja auch besser zur Architektur, allerdings für die 4 restlichen Sensoren auch wieder ein bisschen übertrieben !?
Gruß André
Generell ist die Frage ob Linux die Hardware unterstützt oder nicht. Wenn Linux dafür einen Treiber hat, kannst du mit jeder ROS-Node (/dev/i2cX) darauf zugreifen.
Bin mir hier nicht sicher was du als Embedded-System verstehst, ich vermute mal Rasperry Pi oder Intel ATOM?
Für andere Varianten gibt es viele Lösungsansätze. Der ELV I2C Adapter hat sicherlich auch intern nur einen Mikrocontroller drin und ist damit auch "Embedded". Beim Turtlebot3 z.B. wird ein sog OpenCR Board genommen. Einfachere Variante wäre sicherlich einen Arduino Nano mit rosserial anzubinden.
Lesezeichen