eprints (HSR Hochschule für Technik Rapperswil)
Not a member yet
    1196 research outputs found

    Vehicle Platooning using Multi-Agent Reinforcement Learning: A Study on Autonomous Driving in the CARLA Simulator

    No full text
    We successfully trained a model using reinforcement learning that enables a car to identify and follow a leader vehicle, therefore creating a vehicle platoon in a simulation. For this thesis, we are using CARLA, an open-source 3D environment simulator for autonomous driving research based on the Unreal Engine. Specifically, we implemented the Double Deep Q-Network algorithm to train the policy. The state is solely represented as the sensor input taken from the follower car's front camera. From that, an Atari-style Convolutional Neural Network predicts the actions' Q-values . A custom reward function, that combines the relative longitudinal and lateral positions of the two vehicles in the platoon, provides the necessary feedback of each action's performance. Actions, discrete by definition of a DQN, comprise left and right steering, acceleration and slowing down, as well as braking. The resulting model is capable of forming and maintaining a platoon. While navigating in a multi-lane scenario, it even manages to cross intersections successfully. It enables the follower car to identify the leader vehicle and imitate its actions in a previously unseen environment

    SAMT: Compiler and Tools for an Extensible API Modeling Language

    No full text
    Zürcher Kantonalbank maintains various services built on diverse technologies, using proprietary domain-specific languages to model technology-agnostic data and service contracts. This proven approach is implemented using the Xtext framework, which provides the core infrastructure for parsing source code, validating the resulting model, and integrating with the Eclipse IDE. As the maintenance roadmap for Xtext is uncertain, Zürcher Kantonalbank faces a long-term operational risk and is looking for a sustainable solution. The goal of this project is to design and develop a new open-source domain-specific language called Simple API Modeling Toolkit, or SAMT for short. It retains the technology-agnostic modeling capabilities and employs custom generators that provide support for a specific target language and technology. A Visual Studio Code extension is developed to provide an easy-to-use and modern development experience. The development process includes an initial requirements engineering and language design phase, guided by developers familiar with the existing modeling language. All critical requirements were fully met, with substantial "should-have" and "could-have" requirements also realized. The project successfully developed the core systems of the new language, including a proof-of-concept code generator for the Kotlin-based Web framework Ktor and the SAMT Visual Studio Code Extension. Usability tests with employees of Zürcher Kantonalbank have yielded positive feedback. Future work includes improving the generator architecture and adding more functionality to the SAMT Visual Studio Code Extension

    Gamification in einer Buchungs-App

    No full text
    Die vorliegende Semesterarbeit konzentriert sich auf die Weiterentwicklung der Vanlife Travel Web-Applikation, die das Buchen von individuellen Campingreisen erleichtert. Das Ziel besteht darin, die bestehende Buchungssoftware durch die Integration von Gamification und Verbesserungen in der User Experience aufzuwerten, um die Nutzerbindung zu erhöhen und die Buchungszahlen zu steigern. Die Grundlage für diese Arbeit bildet eine Zielgruppenanalyse und Marktforschung. Die Ergebnisse der Recherche zeigen, dass spielerische Elemente klar einen positiven Einfluss auf die Nutzerbeteiligung und -bindung haben. Zudem werden soziale Aspekte sowie Belohnungen als besonders motivierend angesehen. Ebenfalls wird die aktuelle Software-Lösung von Vanlife Travel als nicht besonders benutzerfreundlich wahrgenommen. Anhand der gewonnenen Erkenntnisse wird ein Konzept entwickelt, inwiefern Gamification in der bestehenden Lösung am wirkungsgvollsten eingesetzt werden kann. Die Umsetzung erfolgt agil und iterativ, was eine flexible Anpassung an das Feedback der Auftraggeber ermöglicht. Die finale Lösung beinhaltet verschiedene Gamification-Elemente: Als Vanlifer hat man die Möglichkeit, für bestimmte Aktionen, wie z.B. das Buchen einer Tour oder das Schreiben einer Bewertung, Travel Points zu erhalten. Anhand der gesammelten Punkte wird ein Level bestimmt, das die Erfahrung des Nutzers widerspiegelt. Zusätzlich wird ein Rang ermittelt, der auf den in einem bestimmten Zeitraum gesammelten Travel Points basiert. Dieser dient dazu, besonders aktive Nutzer zu belohnen, indem z.B. Rabatte gewährt werden. Für spezielle Aktionen, wie die Buchung einer besonders langen Reise, werden Auszeichnungen vergeben. Der Nutzer wird über die erhaltenen Belohnungen benachrichtigt und hat die Möglichkeit, diese in seinem Profil einzusehen. Vergangene und zukünftige Reisen werden übersichtlich dargestellt. Um den sozialen Aspekt zu fördern, können gebuchte Touren mit Freunden geteilt werden. Campingplätze können bewertet und auf einer eigenen Detailseite eingesehen werden. Zudem ist die Anwendung für die Nutzung auf mobilen Geräten optimiert. Darüber hinaus wird der Reifegrad der Software durch die Analyse und Behebung von bestehenden Fehlern verbessert, so dass z.B. die gleichzeitige Buchung von Touren durch mehrere Nutzer möglich ist. Die Umsetzung der Lösung erfolgt in Form eines Prototyps, der die Funktionalität der Applikation demonstriert

    LLM Assisted Development

    No full text
    Aufgabenstellung Das Ziel dieser Arbeit bestand darin, ein Tool oder eine Methode zu entwickeln, die es ermöglicht, mittels spezialisierter Software zu erkennen, ob ein Prüfungsteilnehmer oder eine Prüfungsteilnehmerin während einer Online-Prüfung betrügerische Handlungen begeht. Der Einsatz einer solchen Soft- ware bietet den Vorteil, dass Online-Prüfungen effektiv durchgeführt werden können. Zudem ermöglicht es, dass Programmierprüfungen nicht mehr manuell, sondern in einem kontrollierten und überwachten Umfeld absolviert werden können. Der Fokus dieser Arbeit lag speziell auf der Überwachung der Offline-Aktivitäten der Prüfungsteilnehmenden. Dies umfasst die Beob- achtung von auffälligen Körperbewegungen und Sprachaktivitäten. Vorgehen / Technologien Unser Ansatz zielte darauf ab, die Benutzerfreundlichkeit unserer Software sowohl für Studie- rende als auch für Lehrende zu maximieren und einen strukturierten Prozess zu etablieren. Der Ablauf beginnt damit, dass der Studierende die Software aktiviert, die mittels einer Web- cam ein Video aufzeichnet und über ein ausgewähltes Mikrofon den Ton erfasst. Nachdem die Prüfungsaufgaben gelöst wurden, wird die Software beendet. Der Studierende erhält dadurch eine Video- und Audiodatei, die er eigenständig an einen schulischen Server übermitteln kann. Nachdem der Schulserver alle Audio und Videodateien erhalten hat. Kann der Professor mittels einer Webseite die Video und Audiodateien analysieren. Während der Analyse wird bei jedem Prüfungsteilnehmer die Video und Audiodatei analysiert. Dabei wurden bestimmte Kriterien von uns ausgewählt auf welche sich die Videoanalyse stützen soll. Gesichtserkennung: In jedem Frame des Videos soll überprüft werden, ob genau eine Person anwesend ist. Dies ist wichtig, da Pr ̈ufungen in der Regel Einzelarbeiten sind. Sollte keine oder mehr als eine Person erkannt werden, wird dies als Betrugsversuch gewertet. Munderkennung: Das System muss ständig den Mund erkennen können. Dies dient dazu, heimliche Gespräche aufzudecken, auch wenn das Mikrofon während der Prüfung absichtlich ausgeschaltet ist. Ein Betrugsversuch wird deklariert, sobald der Mund sich öffnet, um die Spracherkennung zu schützen. Kopfneigungserkennung: Die Kopfposition wird kontinuierlich überwacht, um auffällige Be- wegungen, die auf einen zweiten Bildschirm oder ein externes Gerät hinweisen könnten, als Betrugsversuche zu identifizieren. Iriserkennung: Diese Technik dient dazu, ungewöhnliches Augenschillen zu erkennen. Sie soll Prüflinge identifizieren, die zwar ihren Kopf nicht bewegen, aber dennoch nicht auf die Prüfungsaufgaben schauen. Resultat Derzeit ist eine vollständig automatisierte Proctoring-Lösung noch nicht realisierbar. Mensch- liches Eingreifen bleibt notwendig, um zu entscheiden, ob in bestimmten Situationen Betrug vorliegt. Unsere Software hat jedoch den Analyseprozess von Audio- und Videodateien erheblich effizienter gestaltet. Als nächsten Schritt zur Verbesserung der Software könnte die Erfassung von Online-Aktivitäten in Betracht gezogen werden

    Digitize historic architectural plans with OCR and NER transformer models

    No full text
    The Swiss Archive for Landscaping Architecture, located at OST in Rapperswil, administers more than 100’000 historic plans. These plans need to be digitzed to make them accessible. This paper proposes a three-model architecture consisting of a layout model to find text on the plans, an optical character recognition model to extract the found words, and finally, a named entity recognition model to label the relevant words like the client, location, or date. K-means clustering is used to group the text blocks from the layout model into related blocks for OCR. Different deep-learning models are compared and evaluated. The most suitable models are then retrained on the NVIDIA DGX-2 system in a custom-built apptainer image with different training strategies to improve their accuracy. Different pre- and post-processing techniques are employed to improve the accuracy of the pipeline. The final image pipeline achieves an F1 score of 48% with 35% precision and 77% recall. The chosen NER model ”German BERT” scored an F1-score of 86% after re-training and the OCR pipeline extracted 54% of words correctly and 18% close to correct. The insights from this SA can be applied to future projects to build an application usable by the archive, enabling it to catalog its documents and make them accessible to the world

    Knackpunkt BRK

    No full text
    The UN CRPD (United Nations Convention on the Rights for People with Disabilities) is a human rights instrument, aiming to change attitudes and approaches toward persons with disabilities. The ZEN (Center for Ethics and Sustainability) of the OST (Eastern Switzerland University of Applied Sciences) has created a printable survey form, that focuses on several aspects of the UN CRPD. This survey form allows institutions and homes for people with disabilities to evaluate themselves. The goal of this project is to digitize the survey form created by the ZEN to simplify the entire process of distributing survey forms and tallying scores. We ended up with a survey application that allows institutions to start surveys that are accessible via an online link. The survey can then be filled out by respondents who received that link. Once the survey is completed, institutions can view the results and receive recommendations on how to improve their implementation of the UN CRPD. During the creation of the application, we placed great emphasis on accessibility, to make sure it can be filled out by almost everyone. During the duration of the project we managed to implement a large part of the desired functionality, however, there are still some features missing. Despite this, we have managed to create a usable product that provides value for institutions wishing to evaluate themselves

    Type Systems for the OO Programmer

    No full text
    Many software developers learn imperative and/or objectoriented programming first in their career. Meanwhile, most of the research done on programming languages is based on the Lambda-Calculus and functional programming languages. These are often not intuitive to grasp for someone who has worked exclusively with object-oriented languages. Some might even be intimidated by the mathematical terminology. This paper aims to show that most of these methods are in common use in Java, but sometimes better known under different names

    Zero-Knowledge Inclusion Proofs

    No full text
    This work discusses a solution for implementing a zero-knowledge inclusion proof using existing software components, referred to as automation frameworks. In the beginning, the use case that necessitates such proofs is stated together with establishing the contextual backdrop. This includes elaborating essential prerequisites such as cryptographic hash functions, commitment schemes, and Merkle trees. Furthermore, it presents an overview of zero-knowledge proof systems, detailing their core characteristics, analogies, and real-world applications. The discussion delves into the two prominent implementation families, namely zkSNARK and zkSTARK, emphasizing their distinguishing features. To ensure resistance against potential threats originating from quantum computers, the proposed approach centers on utilizing non-interactively employed zkSTARK proofs enabled through the Fiat-Shamir transformation. Finally, this work formally states the objective of the zero-knowledge inclusion proof for the specific use case and proposes an algorithmic specification. A curated selection of promising automation frameworks with the potential to facilitate the objective’s implementation is presented, with in-depth scrutiny applied to two specific frameworks: RISC Zero and the Winterfell. The work concludes by discussing initial experiences with these frameworks and outlining future endeavors to chart the path towards implementing a minimal viable product. The appendix complements the discussion by providing an overview of current post-quantum cryptography developments

    Embedded Programming with Embedded Domain-Specific Languages (EDSLs) in Haskell

    No full text
    Embedded domain-specific languages (EDSLs) make it possible to program embedded systems with Haskell. Programming in Haskell has many advantages such as the reduction of runtime errors and writing code more elegantly. The Haskell library Haskino provides two EDSLbased variants for programming Arduinos. In the first variant, commands are sent interactively to an Arduino that is connected to the computer. The second variant turns the Haskell code into an abstract syntax tree (AST) representing actions and computations. This structure can be used to generate C code that can be executed directly on the Arduino. The advantage of Haskell becomes apparent when using paradigms such as functional reactive programming (FRP). In the first variant offered by Haskino, FRP can be used without any problems because it is executed in the Haskell environment. In the second, it would be necessary to integrate the FRP functionality into the AST and to define the translation into C. The ability to run FRP code directly on Arduino is demonstrated by the frp-arduino library. This paper introduces EDSLs in Haskell, their application in the Haskino library, and shows an Arduino programming example using Haskell and FRP

    Serious 3D-VR-Game mit realistischen Stadtwelten

    No full text
    Bisher vorhandene Projekte, welche OpenStreetMap (OSM) Daten als eine 3D-Welt darstellen, haben aus Sicht des Industriepartners zwei Probleme: Das erste Problem ist, dass nur ein vordefinierter Bereich visualisiert wird. Es soll aber eine weltweite Abdeckung möglich sein. Das zweite Problem ist, dass diese bestehenden Projekte nicht als Videospiel existieren, sondern eher als Karte, wie Google Maps. Das Ziel dieser Arbeit ist es, eine realistische 3D-Weltkarte zu erstellen, in der man sich als Spieler frei bewegen kann, ähnlich wie in einem Open-World-Spiel. Für die Geodaten werden Daten von OSM verwendet. Für die Visualisierung der Geodaten wird die freie Game-Engine Godot und die integrierte Programmiersprache GDScript verwendet. Die Geodaten werden in einem genormten, speichereffizienten Format geliefert, in sogenannten Mapbox-Vektorkacheln. Diese werden mithilfe einer externen Software namens Planetiler aus den OSM-Daten erstellt. Dabei handelt es sich um eine leicht abgeänderte Version des Planetilers. Godot liest die Daten aus diesen Vektorkacheln aus und decodiert die Geometrien zur Darstellung der Objekte. Für das Auslesen der Vektorkacheln wird eine Software des Industriepartners verwendet, welche im Godot Projekt als Erweiterung integriert werden kann. Folgende Objekte werden momentan dargestellt: Punktobjekte wie Bäume und Sitzbänke, Polygone wie Gebäude, Linienobjekte (Pfade) wie Strassen, Gehwege und Schienen sowie Flächenobjekte wie Bodenbedeckung, Flüsse und Seen, welche ebenfalls Polygone sind. Die Qualität der dargestellten Objekte hängt von der Datenqualität in OSM ab. Beispielsweise sieht man in grossen bekannten Städten wie New York, dass viele Gebäude verschiedene Höhen haben. In weniger bekannten Gegenden haben die meisten Gebäude keine Höhe in OSM. Die Qualität hängt ebenfalls von den Vektorkacheln ab, die vom Planetiler produziert werden. Zu beachten ist, dass die vom Planetiler generierten Vektorkacheln nicht immer alle OSM-Daten enthalten. In dieser Arbeit hat man sich nicht mit der implementation des Planetilers befasst. Als Spieler kann man die Software starten, und man landet an einem fix definierten Startpunkt. Der Spieler kann sich überall auf der Welt hinbewegen, oder den Startpunkt selbst anpassen. Dabei wird immer ein Bereich von 4x4 Vektorkacheln dargestellt. Bewegt sich der Spieler in eine bestimmte Richtung, werden automatisch die neuen Vektorkacheln heruntergeladen und visualisiert. Der alte Bereich, von dem sich der Spieler entfernt, wird gleichzeitig aus dem Speicher entfernt. Der Nutzen dieser Arbeit besteht darin, eine Grundlage für die Verbesserung von OSM zu schaffen. In weiterführenden Arbeiten kann dieses Projekt so erweitert werden, dass der Benutzer auf spielerische Weise Kartendaten aus der realen Welt - zum Beispiel von Mapillary oder Google Street View - mit der 3D-Welt in Godot vergleichen und fehlende Objekte oder Daten ergänzen kann, beispielsweise die Höhendaten für Gebäude. Dies hilft letztlich, OSM mit Daten anzureichern. Je mehr Daten in OSM vorhanden sind, desto realistischer kann die 3D-Welt dargestellt werden. Das Hauptziel dieser Studienarbeit bestand darin, eine Software zu entwickeln, welche die Geodaten aus OSM visualisieren kann. Dieses Ziel wurde erreicht. Die Vektorkacheln beinhalten weitere Daten, mit denen man die Visualisierung realistischer gestalten könnte. Eine weitere Möglichkeit für die detaillierte Visualisierung der OSM-Daten wäre, mithilfe von Terrain-Datasets die Höhen des Geländes darzustellen

    549

    full texts

    1,196

    metadata records
    Updated in last 30 days.
    eprints (HSR Hochschule für Technik Rapperswil)
    Access Repository Dashboard
    Do you manage Open Research Online? Become a CORE Member to access insider analytics, issue reports and manage access to outputs from your repository in the CORE Repository Dashboard! 👇