AI
Refine
Year of publication
Document Type
- Bachelor Thesis (33)
Has Fulltext
- yes (33)
Is part of the Bibliography
- no (33)
Keywords
- API (2)
- Architektur (2)
- Informatik (2)
- Microservice (2)
- Programmiersprache (2)
- Software (2)
- ASP.NET Core (1)
- Amazon Web Services (1)
- Angewandte Informatik (1)
- Angular (1)
Institute
Open Access
- Closed Access (15)
- Open Access (10)
- Closed (8)
Analyse domänenseitiger Optimierungen für Deep Reinforcement Learning in der RoboCup Umgebung
(2021)
Mit dem Team "magmaOffenburg" nimmt die Hochschule Offenburg seit 2009 am internationalen Wettbewerb "RoboCup" in der 3D-Simulationsliga für Fußball teil. Dabei kommt es vor allem auf den Einsatz guter Lauf- und Kickverhalten an. Seit 2019 ist es dem Team magmaOffenburg möglich auch Deep Reinforcement Learning für die Weiterentwicklung der Verhalten einzusetzen. Während auf diese Weise schon verwendbare Ergebnisse für das Kicken produziert wurden, so fehlt noch ein Fortschritt beim Laufen lernen. Diese Arbeit beschäftigt sich mit den nötigen Optimierungen auf der Domänenseite, um das gelernte Laufen zu verbessern. Das beinhaltet die Optimierung des Observation- und Actionspaces, sowie auch eine Optimierung der Rewardfunktion. Dabei wurde versucht, die einzelnen Einflüsse verschiedener Parameter und Techniken innerhalb dieser drei Bereiche zu evaluieren. So konnte zum Schluss eine Verbesserung in der Laufgeschwindigkeit von etwas unter einem Meter pro Sekunde auf bis zu 1,8 Metern pro Sekunde erreicht werden. Ausschlaggebend für dieses Ergebnis waren vor allem der Verbesserungen in der Rewardfunktion.
In Unternehmen entstehen beim Prozess der digitalen Transformation stetig neue Anwendungen und Auswertungen. Es wird viel Zeit und Geld in digitale Lösungen investiert, die das Arbeitsumfeld verbessern. Die Plattformen zur Verwaltung und Verteilung dieser werden dabei jedoch häufig vernachlässigt.
Ziel dieser Arbeit ist es eine solche Plattform in Form eines App-Stores für den Standort zu entwickeln. Dabei liegt der Fokus auf der Verbesserung der App-Nutzung, was durch eine nutzerfreundliche Oberfläche für Endanwender und Entwickler erreicht werden soll. Weiterhin ist eine hohe Wartbarkeit der Plattform notwendig, damit sie auch von einem kleinen Team betrieben werden kann.
Zunächst wurde analysiert, welche Architektur und Technologien für die Umsetzung gut geeignet und welche vom Unternehmen vorgegeben sind. Dabei stellte sich heraus, dass eine Microservice-Architektur am besten geeignet ist. Als Technologie stand lediglich das Framework zur Frontendimplementierung zur Wahl, hier war Angular am besten geeignet.
Durch die Verwendung eines iterativen Prozesses konnten bereits zu Beginn die späteren Nutzer in die Entwicklung eingebunden werden. Dies ermöglichte das Ermitteln aller Anforderungen und Entwerfen einer nutzerfreundlichen Oberfläche. Dieses iterative Vorgehen wurde auch während der Implementierung eingesetzt. Dazu wurden mit Testdaten befüllte Versionen bereitgestellt, damit Nutzer frühzeitig Rückmeldung geben konnten.
When a patient with hearing aids needs to partake in audiometry procedures they need to visit a specialist which costs both time and money. Ideally, the patient should be able to conduct these tests alone, during their own time, and without additional costs. With this idea comes the question of if whether this is possible or not, and, if it is, how.
This thesis explores the throughput of Bluetooth Low Energy and if it is configurable to have a high enough data rate to send high quality audio data with a lossless audio codec while communicating with a low end device. Additionally, this thesis will show that using Rust to develop embedded software is possible and how using it can make the process of doing so easier.
In der vorliegenden Bachelorarbeit wird die Verwendung von persistenten Datenstrukturen in Anwendungen untersucht. Dafür werden zunächst verschiedene Eigenschaften von bestehenden Implementierungen persistenter Datenstrukturen im Vergleich zu ephemeralen Implementierungen der Datenstrukturen untersucht. Hierbei werden Laufzeiten und Speicherverbrauch analysiert. Dabei wird gezeigt, in welchen Fällen die Verwendung von persistenten Datenstrukturen Vorteile gegenüber der Verwendung ephemeralen Datenstrukturen bringt.
Im zweiten Teil wird die Verwendung von persistenten Datenstrukturen in asynchronen Umgebungen untersucht. Hierfür werden die grundlegenden Probleme aufgezeigt, die bei der Erzeugung von Thread lokalen Versionen geteilter Zustände entstehen. Es wird aufgezeigt, wie die verschiedenen Versionen durch ein Zusammenführungsverfahren in einen gemeinsamen Zustand überführt werden können. Als konkrete Implementierung wurde eine Framework in Java entwickelt, welches versucht, dieses Problem wiederverwendbar zu lösen. Das entwickelte Framework wird anhand einer Beispielsdomäne evaluiert, indem die Performanz mit der Verwendung von expliziter Synchronisation verglichen wird. Hierbei wird gezeigt, dass in Situationen, in denen die Modifikationen viel Zeit benötigen, der Ansatz des Zusammenführen Vorteile gegenüber expliziter Synchronisation bietet. Im letzten Teil der Arbeit wird die Verwendung eines geteilten persistenten Zustandes im an der Hochschule Offenburg durchgeführtem A 2 O Projekt untersucht, bei dem Software für eine autonomes Modellauto entwickelt wurde. Es werden die Schwierigkeiten bei der Umsetzung der im Framework entwickelten Techniken in C++, sowie mögliche Lösungswege aufgezeigt.
Diese Bachelorarbeit untersucht die Möglichkeiten der Persistierung und anschließenden Analyse verschiedener Messwerte in einer geeigneten Software-Architektur. Zunächst wird dazu die genaue Aufgabenstellung betrachtet. Im Anschluss soll die geplante Software-Architektur und die vorgesehene Kommunikationsart erklärt werden. Um das entwickelte Produkt einfach zur Verfügung stellen zu können, sollen die Tools Vagrant, Puppet und Docker gemeinsam genutzt werden. Nachdem im Anschluss auf die eingesetzte Servertechnologie eingegangen wurde, beschäftigt sich die Arbeit mit der Persistierung der Messdaten. Hierzu werden die verschiedenen Arten verfügbarer Datenbanktechnologien erläutert und darauf aufbauend eine Auswahl getroffen. Als letzten Teil der Anwendung wird auf die Demonstrationsapplikation eingegangen. Hier werden wieder die nötigen Anforderungen erörtert und die Umsetzung beschrieben.
Anhand der gewonnenen Erkenntnisse wird abschließend ein Fazit der verwendeten Technologien und der Architektur verfasst. Hier soll die Eignung der verwendeten Technologien zur Lösung des Problems überprüft und bewertet werden.
Abschließend wird noch ein Ausblick auf die zukünftige Entwicklung in diesem Bereich gegeben.
Die freie Software OpenSSH erlaubt den sicheren Fernzugriff auf entfernte Rechner über das Netzwerk oder Internet und kommt auf vielen Linux-Rechnern zum Einsatz. OpenSSH ermöglicht verschiedene Wege der Authentifizierung, unter anderem mit Hilfe von asymmetrischen Schlüsseln. Im Standardfall existiert hierbei für jedes Nutzerkonto auf dem Zielrechner eine Datei mit den public-Keys der zugriffsberechtigten Nutzer, welche manuell gepflegt wird. Diese Art der Zugriffskontrolle wird jedoch schnell unübersichtlich, sobald viele Mitarbeiter auf viele Server zugreifen dürfen. Um den Überblick über zugriffsberechtigte Nutzer zu behalten, ist es deshalb notwendig, zur Verwaltung eine zusätzliche Software einzusetzen. Im Rahmen dieser Arbeit soll eine solche Verwaltungssoftware konzipiert werden. Nach einer Analyse bestehender Systeme werden die Gründe für die Wahl eines der Tools dargestellt sowie die anschließende Weiterentwicklung der gewählten Software dokumentiert.
Mit der vorliegenden Bachelorarbeit wird der Roboter mit dem Namen Pepper evaluiert und dokumentiert. Die Hochschule Offenburg besitzt einen dieser Roboter seit 2019 und will diesen in Forschungsprojekten und in Verbindung mit dem Labor Autonome Systeme einsetzen. Im Laufe dieser Arbeit werden die Sensoren und Aktuatoren auf ihre Genauigkeit, Beschaffenheit und Fehleranfälligkeit getestet. Neben dieser allgemeinen Evaluierung wird ermittelt, ob der Pepper mit Hilfe seiner Bewegungserfassung zur Aktivierung von Senioren geeignet ist. Im Weiteren wird eine Aufgabe für das Labor Autonome Systeme ausgearbeitet. Bei dieser Aufgabe sollen die Studenten der Hochschule, über die NAOqi API des Roboters, Anweisungen an den Pepper übermitteln, welche dieser anschließend selbstständig ausführt. Abschließend werden die gesammelten Evaluierungsergebnisse der Sensoren, Aktuatoren und Verwendungsmöglichkeiten innerhalb der Hochschule oder einem Pflegeheim veranschaulicht.
In dieser Thesis wird die Entwicklung einer Progressive Web App, die zur Auflistung von Stellenanzeigen der Valiton GmbH dienen soll, aufgezeigt. Dabei soll ermittelt werden, ob eine Progressive Web App einer Nativen App nahekommt und ob sich der damit verbundene Aufwand lohnt. Umgesetzt wurde die Anwendung mit Hilfe des JavaScript Frameworks Vue.js. Bei der Umsetzung lag der Fokus auf der Offlinefähigkeit, die Push- Benachrichtigungen und das Responsive Design. Diese konnten mit dem UI Framework Vuetify und dem Service Worker implementiert werden. Die Anwendung läuft in allen Browsern, doch sie kommt am besten durch die vollständige Unterstützung des Chrome Browser zur Geltung. Progressive Web Apps werden Nativen Apps immer ähnlicher, jedoch sind sie kein kompletter Ersatz. Ob sich die Umsetzung lohnt, kommt auf den Anwendungsfall an. Die Technologien und Unterstützung verschiedener Browser werden immer besser, womit gesagt werden kann, dass Progressive Web Apps gute Chancen in der Zukunft haben.
Diese Arbeit beschäftigt sich mit der Leistungsanalyse und Optimierung eines Flugdatenservers. Für die Durchführung dieser Leistungsanalyse wird eine eigene Anwendung entwickelt. Mit dieser eigens entwickelten Anwendung wird das Leistungsverhalten des Flugdatenservers genau analysiert. Mit den Erkenntnissen aus der Leistungsanalyse werden am Flugdatenserver Optimierungen durchgeführt und weitere Möglichkeiten zur Optimierung aufgezeigt. Bei diesem Flugdatenserver (Air Traffic Control Server) handelt es sich um eine Client/Server-Anwendung zur Visualisierung von Flugbewegungen im Lauftraum. Hierfür wird der Flugdatenserver mit Flugsicherungsdaten durch das Flugüberwachungssystem Automatic Dependent Surveillance (ADS) versorgt.
Das Ziel der vorliegenden Abschlussarbeit war es, ein automatisches Testsystem für die Entwicklung der Embedded-C++-Softwarebibliothek semf zu erstellen. Bei den Software-Modulen die dabei getestet werden, handelt es sich um sogenannte Hardware-Abstraktionen, die die Verwendung der von den Mikrocontroller Herstellern bereitgestellten Hal-Bibliotheken vereinfachen.
Die wohl größte Herausforderung dieser Abschlussarbeit bestand darin, die von dem zu testenden Gerät nach außen gesendeten Nachrichten zu validieren, so wie von außen kommende Nachrichten zu generieren, mit welchem die Leseoperationen des zu testenden Gerätes überprüft werden können. Mithilfe einer Helper-Gegenstelle konnte dies jedoch umgesetzt werden. Das Ergebnis ist ein System mit welchem bestehende und zu entwickelnde Hardware-Abstraktionen zuverlässig, automatisch und effizient validiert werden können.
Diese Abschlussarbeit ist sowohl für Nutzer von semf, als auch für diejenigen Softwareentwickler interessant, die sich für das Testen von eingebetteten Systemen interessieren.