Mathias, B. (2013). Object modelling with a robot arm [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/159705
object modelling; object recognition; object segmentation; camera calibration; robot arm
en
Abstract:
Das Lernen von Objekten sowie die Objekterkennung sind zwei sehr verbreitete Forschungsgebiete in der Robotik. Ziel dieser Diplomarbeit ist, den Prozess des Lernens zu automatisieren. Ein Roboter soll selbstständig seine Umgebung erforschen und neue Objekte lernen. Für das Modellieren von Objekten wird eine Implementierung der V4R-Bibliothek (Vision for Robotics group, ACIN, TUWien) verwendet. Diese Modelle bestehen aus "Image-Deskriptoren" (SIFT, [21]) zur Beschreibung der Textur von Objekten sowie aus Punktwolken-Deskriptoren (SHOT, [30]), die die dreidimensionale Form der Objekte beschreiben. Die in den Modellen gespeicherte Information kann genutzt werden, um die Objekte in anderen Szenarien (teilweise unter einer Vielzahl von unterschiedlichen Objekten) wiederzuerkennen. Um sowohl zweidimensionale RGB-Bilder als auch dreidimensionale Tiefenbilder der Objekte zu bekommen, wird im Rahmen dieses Projektes die Microsoft Kinect Kamera verwendet. Um die Objekte vor der Kamera zu bewegen, wird ein Roboterarm des Typs Neuronics Katana 450 verwendet. Der Arm soll die zu lernenden Objekte mit einer möglichst optimalen Trajektorie vor der Kinect Kamera bewegen, sodass ein möglichst vollständiges Modell generiert werden kann. Die Vollständigkeit eines gespeicherten Modells kann mit der propability sphere aus der V4RBibliothek überprüft werden. Dies ist ein platonischer Körper (Ikosaeder) mit einer Oberfläche bestehend aus triangulären Flächen. Auf der einen Seite repräsentieren die Flächen die unterschiedlichen Blickrichtungen auf das Objekt. Auf der anderen Seite sind Farben ein Indikator dafür, wie vollständig das Modell aus den entsprechenden Blickrichtungen bereits gelernt ist. Weiße Flächen repräsentieren vollständig gelernte Oberflächen des Objektes, wohingegen schwarze Flächen unbekannte Oberflächen darstellen. Eine graue Fläche steht für eine nur eingeschränkte Erkennungswahrscheinlichkeit aus der entsprechenden Blickrichtung. Im Rahmen dieses Projektes gibt es mehrere zu lösende Teilprobleme, wie z.B. die Bestimmung der Position des Roboterarms im Bildkoordinatensystem (Kamerakalibrierung) oder auch die Ansteuerung des Arms verbunden mit einer möglichst optimalen Pfadplannung. Auch die Bildverarbeitung ist ein wesentliches Thema. Beispielsweise muss das Objekt aus dem dreidimensionalen Tiefenbild der Microsoft Kinect Kamera segmentiert werden. Der Arm sowie zusätzliche Hintergrundinformationen dürfen nicht mit dem Objekt mitgelernt werden. Die Umsetzung der Diplomarbeit erfolgt in ROS (Robot Operating System). Dies gewährleistet einen modularen Aufbau der Software sowie standardisierte Schnittstellen. Somit bleibt die Software leicht adaptierbar und auch erweiterbar.
Object learning and object recognition are general research topics in the robotics. This thesis deals with the problem of automating the learning process. A robot should be able to explore its environment and to learn new objects autonomously. For object modelling, an implementation of the V4R library (of the Vision for Robotics group, ACIN, TU Vienna) is used. A model combines image descriptors (SIFT, [21]) representing textures and point cloud descriptors (SHOT, [30]) to describe the 3-D shape of the object. The information stored in such models can be used to recognize objects in other scenarios again (even amongst other objects). In order to get 2-D RGB as well as 3-D depth images, the Microsoft Kinect camera is used within this project. To move the objects in front of the camera, a robotic arm of the type Neuronics Katana 450 is used. A trajectory as optimally as possiple is necessary to receive a complete model. The completeness of a model can be checked with the probability sphere already implemented in V4R. The probability sphere is a platonic body where the surface consists of several triangular faces. These faces represent different viewpoints relative to the object. Colours represent the completeness of the model from the according direction. White faces indicate a high probability to detect the object from this viewpoint and black faces indicate missing viewpoints. Grey-shaded faces represent partially observed viewpoints. There are several subproblems within this project, for example, the determination of the robot arm pose within the camera coordinates (camera calibration) or the topic of how to control the arm with an optimal trajectory. Also image processing is an important topic within this thesis. For example, the object must be segmented out of the 3-D data stream received from the Microsoft Kinect sensor. It is not allowed to learn parts of the arm or some background information together with the object. The implementation is in ROS (Robot Operating System). ROS guarantees a modular software and standardised interfaces. Therefore, the software is easy to adapt and to extend.