Hanic, A. (2016). Hardware/Software Partitionierung auf einer System-on-Chip Plattform : eine Untersuchung der Umsetzbarkeit von Echtzeit-Bildverarbeitung für ein Stereo-Kamera-System [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2016.33648
Das Verlangen nach individualisierten Produkten wächst ständig. Um dieses zu befriedigen, müssen die Produktionslinien deutlich flexibler aufgebaut werden. Ein vielversprechender Ansatz, um diese Flexibilität zu erreichen, könnte der "Wurftransport"-Ansatz sein, der dem menschlichen Werfen und Fangen nachempfunden ist. Dabei werden die zu transportierenden Güter zwischen den Maschinen hin und her geworfen. Damit ein sicherer und zuverlässiger Transport auf diesem Wege stattfinden kann, müssen die Maschinen das transportierte Gut selbständig erkennen und auffangen können. Diese Aufgabe kann grob in drei Teile aufgeteilt werden: Bilderfassung mittels zwei Kameras, Bildverarbeitung zur Objekterkennung und ein Prognosesystem um die Flugbahn des Objektes vorhersagen zu können. Da diese Aufgaben rechenintensiv sind und das System echtzeitfähig sein soll (eine langsame Verarbeitung der Daten führt zu einem nicht erfolgreichen Fangvorgang), wird für die Implementierung eine System-on-Chip (SoC) Plattform, bestehend aus CPUs und einem FPGA untersucht. Diese soll den hohen Rechenaufwand bewältigen können. In dieser Diplomarbeit wird gezeigt, welche der Aufgaben in Hardware (FPGA) und welche in Software (CPU) realisiert werden. Außerdem wird gezeigt, dass auf der verwendeten SoC Plattform alle entworfenen Verarbeitungsblöcke im FPGA schnell genug die Daten verarbeiten können und die geforderte Bildrate von 100 Bilder pro Sekunde erreichbar ist. Jedoch kann das Gesamtsystem, trotz der funktionierenden Verarbeitungsblöcke im FPGA, nicht die erwarteten Resultate erreichen, da die verwendeten Kameras mit dem Treiber die CPUs auslasten. Es wird eine sehr stark schwankende Bildrate zwischen 1 und 25 Bilder pro Sekunde erreicht, welche weit unter den erwarteten Resultaten liegt. Die Kameras benutzen eine USB 3.0 Schnittstelle, welche auf der SoC Plattform nur mittels einer USB 3.0 Erweiterungskarte für den PCI-Express Steckplatz zur Verfügung steht. In Verbindung mit den verbauten ARM CPUs, welche mit einer Frequenz von 800 MHz getaktet sind, wurde an die Grenzen der verwendeten Technologie gestoßen. Durch eine Reduktion der von den Kameras übermittelten Daten, indem nur der relevante Bereich vom Bild übertragen wird, könnte die verwendete SoC Plattform bessere Resultate zeigen. Diese Methode ist aber derzeit, mit dem aktuell verfügbaren Kameratreiber, nicht optimal nutzbar und führt zu Fehlern bei der Aufnahme. Eine etwaige weitere Möglichkeit der besseren Funktionalität kann sich durch die Portierung, der in dieser Diplomarbeit entworfenen Architektur, auf eine neue Generation der SoC Plattform ergeben, die leistungsstärkere ARM CPUs zur Verfügung stellt.
de
The demand for individualized products is constantly growing. To satisfy this, the production lines need to be built much more flexible. A promising approach to achieve this flexibility, could be a "transport-by-throwing" approach, which is based on the human throwing and catching. The goods, which need to be transported between machines, would be thrown back and forth by these. To ensure a safe and reliable transportation this way, the machine must be able to recognize and catch the transported objects by itself. This task can be roughly divided into three parts: image capturing using two cameras, image processing in order to identify the thrown object and a forecast system to predict the trajectory of the object. Because these tasks are associated with a high computational effort and they have to be calculated in real time (a slow calculation leads to an unsuccessful catching of the object), their implementation on a system-on-chip (SoC) platform, which consists of CPUs and a FPGA, is tested for feasibility. This platform should be able to handle the needed computational effort. In this diploma thesis it is shown, which of the tasks are implemented in Hardware (FPGA) and which in Software (CPU). The results show, that on the used SoC platform, all designed FPGA-parts are able to process the data fast enough, in order to achieve the needed frame rate of 100 frames per second. However the whole system, despite the fact that the FPGA-parts by itself are fast enough, is not able to reach the expected results, because the cameras and the related driver load the two CPUs fully. The achieved frame rate is highly variable between 1 and 25 frames per second, which is far from the expected results. The cameras use a USB 3.0 interface, which is made available through a USB 3.0 expansion card in a PCI-Express slot. Combined with the built-in ARM CPUs, which are clocked at a frequency of 800 MHz, the limits of the used technology has been reached. Implementing a reduction of the data, which is transmitted by the cameras, so that only the relevant part of the picture is sent, the used SoC platform should show better results. However, this approach is, with the currently available camera driver, not optimally usable and leads to errors during the capture. Another possible approach to reach better functionality, would be to port the designed architecture of this diploma thesis to the next generation of the SoC platform, which offers more powerful ARM CPUs.
en
Additional information:
Zusammenfassung in englischer Sprache Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers