Software Entwicklung

Hier erfahren Sie mehr über mich und meine Reise in der Software Entwicklung.

Wie alles angefangen hat

Meine Reise in der Welt der Software Entwicklung hat mit der Absolvierung der Höheren Technischen Lehranstalt Rankweil für Elektronik und Technische Informatik begonnen von 2006 bis 2011. Dort wurden einem die Grundkenntnisse in der Programmierung beigebracht. Bedingt durch den Zivildienst war dann nach der HTL knapp ein Jahr pause mit programmieren.

Die erste Anstellung

Von 2012 bis 2015 war ich dann als Software Entwickler angestellt habe aber gemerkt das ich noch viel zu lernen habe um erfolgreich Software selbstständig zu entwickeln und so beschloss ich ein Studium zu absolvieren.

Angewendete Programmiersprachen:

  • C#

Das Studium

Nachfolgend werde ich mein werde gang im Studium erläutern. Vom Bachelorstudium und der Bachelorarbeit bis hin zum Masterstudium und der Masterarbeit.

Bachelorstudium

Im Herbst 2015 habe ich dann das Bachelorstudium Informatik an der Fachhochschule Vorarlberger begonnen. Ich merkte relativ schnell das ich noch einiges lernen kann. Dies wurde mir bewusst als mir gewisse Konzepte klar wurden welche ich bei der Arbeit angewendet habe aber eigentlich nicht verstanden habe warum man das so macht aber es einfach geheisen hat das macht man so. Im zuge der Vorlesung Software Architekturen im 5.Semester haben wir dann auch Software für Roboter entwickelt, wenn auch nur für simulierte Roboter zu diesem Zeitpunkt. Dies hat mir sehr gefallen da ich mich davor schon für die Robotik interesiert habe und somit stand relativ schnell fest das ich meine 2.Bachelorarbeit(an der FHV wird eine Bachelorarbeit im Rahmen eines Praktikums geschrieben zwischen dem 4.Semester und dem 5.Semester und dann eine weitere im 6.Semester) diesem Thema widemen möchte. In der Bachelorarbeit habe ich die Portierung eines Python Framework des Roboter ePuck für den Simulator VREP auf Java behandelt.

Angewendete Programmierstprachen:

  • C für den einstieg im 1.Semester
  • Java ab dem 2.Semester

Masterstudium

Mir war von beginn an des Studiums klar das ich nach dem Bachelorstudium noch ein Masterstudium machen wollte. Durch die Software Entwicklung für Roboter im 5.Semester war mir klar das ich mich in einem Masterstudium in diese Richtung vertiefen möchte. So absolvierte ich dann den Masterstudiengang Informatik an der FHV und belegte die Vertiefungen Autonome System so wie Modellierung, Simulation Optimierung da beide Themen sich mit meinen interessen decken.

Angewendete Programmiersprachen:

  • C++ für Konzepte Höherer Programmiersprachen

Autonome Systeme

Die Vertiefung beschäftigt sich mit der Mobilen Indoor Robotik und deren Herausforderungen. So wurde in dieser Vertifung Aufgabenstellungen für mobile, autonome, kooperiernde Roboter analysiert und Lösungsvorschläge entwickelt, implementiert, getestet und in Betrieb genommen. Anhand der Kinematik von typischen mobilen Robotern Bewegungen geplant, die Roboter bewegt und navigiert. Die Sensorik der mobilen Robotern entsprechent gewählt und dann für die Wahrnehmung der Umgebung und Interaktion eingesetzt. Des weiteren, wurden die zentralen Normen und Protokolle zur Interaktion und Kooperation zwischen autonomen Systemen angewendet. In einem Projekt welches sich über ein Semester erstreckte wurde das gelernte dann angewendet um eine Problemstellung zu lösen.

Angewendete Programmiersprachen:

  • Python

Robotik:

  • ROS
  • Gazebo
  • RViz

Bildverarbeitung: OpenCV

Modellierung, Simulation, Optimierung

In dieser Vertiefung wurden die Themen Künstliche Neuronale Netzwerke, Evolutionäre Algorithmen und Modellierungsparadigmen für Simulationen behandelt. Bei den Künstliche Neuronale Netzwerke wurden die Themen Aktivierungsfunktionen, Topologien, Fehlerberechnung, Backpropagation, Radial Basis Funktionen und mehr behandelt. Zu den Evolutionären Algorithmen wurde zuerst ein Grundlegende Einführung in die Evolutionären Strategien (ES) gegeben, gefolgt von der Theorie von EAs mit einfachen ES Beispielen, Simulated Annealing, Evaluierung von Black Box Optimierungs Algorithmen und vortgeschrittenen ES Techniken. Bei der Simulation wurden die Modellierungsparadigmen diskret prozessorientiert, kontinuierlich und agentenbasiert behandelt. In einem Projekt über ein Semester wurden dann die Modellierungsparadigmen angewendet so wie Evolutionäre Algrithmen um ein vorgegebenes Problem zu optimieren.

Angewendete Werkzeuge:

  • Matlab für Neuronale Netzwerke und Evolutionäre Algorithmen
  • Anylogic für Simulation und Modellierung
  • SUMO für das Projekt

Masterarbeit

In meiner Masterarbeit habe ich mich mit der Umsetzung eines Ansatzes beschäftigt welcher einem Roboter mit eingeschränkter Wahrnehmung das Orientieren in der Umgebung erlauben soll. Es wird dabei nur auf einen Light Detection and Ranging (LIDAR) Sensor zurück gegriffen und auf die Information in welche Richtung sich der Roboter dreht und ob er Forwärts oder Rückwärts fährt. Verwendet wurde ROS, Gazebo, RViz und die simulierte Version des TurtleBot 3 Burger.





Sonstige angewendete Werkzeuge:

  • Quellcode Verwaltung: git, gitlab, gogs
  • Datenbanken: MYSQL, MSSQL, PostgreSQL