[PYTHON] Informieren wir uns über ROS (Robot Operating System)

Viele Menschen, die sich für Bilderkennung oder maschinelles Lernen interessieren, interessieren sich auch für 3D-Messungen. Darüber hinaus kann die Steuerung von etwas als verwandtes Wissen nützlich sein. Daher untersuche ich ROS, um die Technologie peripherer Felder zu erlernen. ROS (Robot Operating System) ist, wie der Name schon sagt, eine nützliche Umgebung für die Realisierung von Robot. Wie in diesem Artikel erwähnt, sind die in ROS verwendeten Bibliotheken jedoch in Bereichen wie Bilderkennung und 3D-Messung nützlich, ohne dass ein Roboter gebaut werden muss. Bei der Erforschung von ROS habe ich festgestellt, dass die Standardisierung durch Open Source auch in den Bereichen Roboter und Steuerung Fortschritte macht. Es scheint, dass sich das Zeitalter der OpenCV-Datenstrukturen und -Bibliotheken von dem Zeitpunkt, an dem die Bildbeziehungen alle Bibliotheken intern (oder in der Organisation, zu der sie gehören) abdeckte, geändert hat. Als ich meine eigene Bibliothek zum Lesen und Schreiben von BMP-Dateien erstellte, konnte ich ein bestimmtes Niveau nicht überschreiten. Der nicht gemeinsam genutzte Quellcode und die Datenstrukturen sind gestorben und werden dieselben wie nicht. Ich denke, dass das zu steuernde Programm irgendwann dieselbe Bibliothek werden wird wie nicht, wenn es im Stil der Organisation ist, zu der es gehört. Vor allem das Datenformat ist ein wichtiges Gut. In den Tagen, als ich numerische Berechnungsbibliotheken in C-Sprache (einschließlich meiner selbst) in Bezug auf Bücher erstellte, war der Umgang mit Matrizen in diesen Bibliotheken nicht konstant. Ich habe viel Code gesehen, der die Größe des Arrays mit Makrokonstanten vordeklariert hat. In der Sprache C wurde die Standardisierung komplexer Zahlen verzögert, und es gab eine Schwäche, dass die lineare Algebra nicht standardisiert war. In der heutigen Zeit ist ein solcher Code zu einem Code geworden, dessen Qualität nicht garantiert ist und der nicht von Multi-Core oder GPU profitiert.   Das Datenformat ist ein wichtiger Aktivposten. Die Bibliothek wird entsprechend dem nützlichen Datenformat akkumuliert. Wenn die Bibliotheken vollständig sind, stehen die Bibliotheken mit kompatiblen Schnittstellen und die übergeordneten Funktionen zur Verfügung, die diese Bibliotheken verwenden. In Python ist numpy ein solches Datenformat. Viele Bibliotheken wie scipy, cv2 und scikit-learn wachsen auf diesem Datenformat. Ich werde. Eine Sprache wie Cython wird auch erstellt, weil es sich um ein Standarddatenformat handelt, das ein Framework für die effiziente Verwendung von Numpy aus C / C ++ oder die effiziente Implementierung mit C / C ++ bietet. Es ist geworden. All dies ist auf die Standardisierung nützlicher Datenformate zurückzuführen. Es scheint, dass diese Änderungen durch ROS verursacht werden. Die Standardisierung der Kontrollmechanismen durch ROS und die Tatsache, dass der Rahmen des maschinellen Lernens auf das gleiche Niveau gekommen ist, haben es einer Person ermöglicht, Code sowohl für die Kontrolle als auch für das maschinelle Lernen zu schreiben. Auf diese Weise können Sie Ideen verwirklichen, die zuvor schwer umzusetzen waren.

Die Einführung von ROS scheint uns die einzigartige Geschichte jedes Geräts und das Steuerungsproblem, das im gemeinsamen Rahmen des Roboterbetriebs berücksichtigt wird, klar bewusst zu machen. Schauen Sie sich das ROS-Beispiel an, um zu sehen, ob Ihre Entwicklung im Rahmen von ROS auf natürliche Weise erreicht werden kann. Mit ROS können Sie sowohl C ++ als auch Python verwenden.   Es wurde auch in der Tutorialsitzung des Image Sensing Symposium 2016 vorgestellt. SSII2016 Tutorial: Entwicklung von Robotersoftware mit ROS SlideShare Entwicklung von Robotersoftware durch ROS

tf: Koordinatenkonvertierung, Rahmenerstellung pcl: Punktwolkenbibliothek OpenCV: Bilderkennungsbibliothek usb_cam: Verbindung mit USB-Kamera Es gibt viele Bibliotheken wie.

Mehrere Gründe, ROS für die autonome Roboterentwicklung zu verwenden http://myenigma.hatenablog.com/entry/20130208/1360324464


Der einfachste Weg, tf in der Welt zu verwenden Studie des Koordinatenkonvertierungspakets "tf" Tf, tf2 vollständiges Verständnis


Verwenden einer USB-Kamera mit Raspberry Pi + ROS


[Serie "Let's Touch PCL!" Teil 1] Übersicht über die 3D-Punktgruppenverarbeitungsbibliothek "Point Cloud Library"

[Einführung in PCL] Informationen zur Point Cloud Library


ROS-Installation

Installation von ROS Indigo unter Ubuntu 1. ROS installieren

ROS Indigo installieren ROS (Robot Operating System) installieren Neueste Version der Installation von ROS Indigo auf Jessie von Raspberry Pi 2

Anweisungen zur Installation von ROS auf Jetson

http://wiki.ros.org/NvidiaJetsonTK1

Versuchen Sie, ROS (Robot Operating System) auf Raspberry Pi 2 zu installieren

http://karaage.hatenadiary.jp/entry/2015/09/25/073000

Installieren Sie ROS auf Raspberry Pi 3

http://ishi.main.jp/ros/ros_rpi3.html

Installieren Sie ROS mit Zynq auf einer Karte

Xillybus und ROS unter Ubuntu14.04 unter Zybo Teil 4: Einstellungen unter Zybo ~ ROS installieren

Ich denke, ROS wird als Standard-Framework im Bereich der Robotersteuerung populär werden. Zu diesem Zeitpunkt geht es darum, wie komfortabel ROS mit der eingebauten CPU arbeitet. Im Bereich der Steuerung sind verschiedene E / A wichtig. FPGA bietet ein hohes Maß an Gestaltungsfreiheit für verschiedene E / A. Die GPU kann parallele Berechnungen beschleunigen, bietet Ihnen jedoch nicht mehr Freiheit für verschiedene E / A. Es besteht die Möglichkeit, dass eine Multi-Core-CPU und ein FPGA kombiniert werden können, um ein System mit einem hohen Freiheitsgrad und einem geringen Stromverbrauch zu erstellen.

Lassen Sie uns ROS mit FPGA ausführen

BeagleBone Black BeagleBone Black (BBB)

Ubuntu auf BeagleBone Black installieren

Untersuchen Sie die Installation von ROS auf dem Armadillo-Board (Atmark Techno).

Das Gürteltier wird kartiert (Dies ist ein Roboter namens Gürteltier) http://www.showusyoursensors.com/2010/11/armadillo-goes-mapping.html


Robots Using ROS http://www.ros.org/news/robots/mobile-robots/

Interessant ist der folgende Artikel von Willow Garage, der sich auf die Entwicklung von ROS bezieht. Samen vom Roboter "PARC" "Willow Garage" (1/4) gesät

["ROS-Programmierung"](https://www.amazon.co.jp/ROS%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F % E3% 83% B3% E3% 82% B0-% E9% 8A% AD-% E9% A3% 9B / dp / 4627853416 / ref = sr_1_1? Ie = UTF8 & qid = 1471110172 & sr = 8-1 & keywords = ROS)

["Roboterprogrammierung begann mit ROS-" Framework "für kostenlose Roboter (IO BOOKS)"](https://www.amazon.co.jp/ROS%E3%81%A7%E3%81%AF% E3% 81% 98% E3% 82% 81% E3% 82% 8B% E3% 83% AD% E3% 83% 9C% E3% 83% 83% E3% 83% 88% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0% E2% 80% 95% E3% 83% 95% E3% 83% AA% E3% 83% BC% E3% 81% AE% E3% 83% AD% E3% 83% 9C% E3% 83% 83% E3% 83% 88% E7% 94% A8% E3% 80% 8C% E3% 83% 95% E3% 83% AC% E3% 83% BC% E3% 83% A0% E3% 83% AF% E3% 83% BC% E3% 82% AF% E3% 80% 8D-I% E3% 83% BBO-BOOKS-% E5% B0% 8F% E5% 80% 89-% E5% B4% 87 / dp / 4777519015 / ref = sr_1_2?

Lassen Sie uns die grundlegende Entwicklung von ROS durchführen

Hinweis:

Wenn die Bibliothek standardisiert ist, werden Sie gefragt: "Haben Sie noch etwas zu tun?" Einige Bibliotheken sind nicht einfach richtig zu verwenden. Entwicklungserfahrung und Nutzungserfahrung in diesem Bereich sind auch dann nützlich, wenn die Bibliothek standardisiert ist. Wenn es sich bei der Bibliothek um eine firmeneigene Formatbibliothek handelt, kann die Erfahrung des Einzelnen beim Abteilungswechsel leicht erschöpft sein. Wenn die Bibliothek standardisiert ist, wird sie bald in Abteilungen mit unterschiedlichen persönlichen Erfahrungen verfügbar sein.

Es ist nicht immer einfach für alle, die Bibliothek richtig zu verwenden, wenn Sie die 3D-Messung selbst ausprobieren oder es jemand anderem überlassen. Abhängig vom tatsächlichen Zustand des Objekts, der Beleuchtung und den Kamerabedingungen kann das Ergebnis der 3D-Messung leicht zu groß sein. Systeme, die ROS verwenden, werden wahrscheinlich von verschiedenen Faktoren im realen Raum beeinflusst. Daher erfordert die ordnungsgemäße Verwendung weiterhin einige Einsichten (Kenntnisse).

Als die Bibliothek standardisiert wurde, war es meiner Meinung nach "Ja" zu der Frage "Haben Sie einen Job zu erledigen?" Wenn die Standardisierung von Bibliotheken dazu führt, dass Jobs verschwinden, verlieren Unternehmen, die verschiedene Bibliotheken (einschließlich Quellcode) veröffentlichen, ihre Jobs. Meint In der Realität profitieren wir jedoch davon, den Code zu veröffentlichen und Beispiele für eine effektive Verwendung zu entwickeln.

Nach Versuch und Irrtum durch frühe Entwickler sollten diejenigen, die Open Source mit fortschrittlichen Algorithmen und Bibliotheken verwenden, in der Lage sein, mehr zu tun als die frühen Entwickler, je nachdem, wie viel sie selbst verstehen. .. Daher sollte es bei der Entwicklung eines Roboters, der Asimo entspricht, möglich sein, ihn in einer viel kürzeren Zeit als dem für die Entwicklung von Asimo erforderlichen Aufwand zu entwickeln. Ich denke, der Hauptpunkt in diesem Fall ist, wie gut die Entwickler die Algorithmen und Bibliotheken verstehen. Wir befinden uns in einer Zeit, in der wir gute Dinge machen können, die ein Ingenieur verstehen kann, indem wir die auf diese Weise organisierten Ergebnisse erhalten und ihr Know-how verstehen.

Suchroboter-Betriebssystem auf Youtube


In dem Artikel So codieren Sie eine Drohne mithilfe der Bilderkennung wurde ROS verwendet.

Interessant ist der folgende Artikel von Willow Garage, der sich auf die Entwicklung von ROS bezieht. Samen vom Roboter "PARC" "Willow Garage" (1/4) gesät

Robots Using ROS http://www.ros.org/news/robots/mobile-robots/

ROS Study Note # 9 Stereokamera und Kalibrierung (https://www.e-consystems.com/jp/3D-USB-stereo-camera-jp.asp)

[Stereokamera für 3D-Vision- und Robot-Vision-Anwendungen!]

(https://jp.ids-imaging.com/ensenso-stereo-3d-camera.html)

TurtleReal2 erstellen

Von Azumino no Mori> ROS (Robot Operating System) verwenden

Es gibt Lernsitzungen wie folgt.

ROS-Studiensitzung

http://wiki.ros.org/ja/Support

Projekt OpenReroc zur Realisierung von Robotern, die FPGA als Plattform mit FPGA x ROS verwenden

Recommended Posts

Informieren wir uns über ROS (Robot Operating System)
Informieren Sie sich über den Start von Anaconda Prompt
Informieren Sie sich über die Python-Umgebung von Cinema4D