Winter Term 2023/24

Bachelor Project: Camera based gripper control for mobile robots

The goal of the bachelor project is to introduce students to mobile robotics and the challenges associated with it. In this project, a mobile robot serves as the base on which the implementations are tested. Depending on their interest, students can either use an existing small robotic arm or build a small arm/gripper themselves, learning the basics of CAD and/or PCB design. The logic of the robot is controlled using the OpenSource library OpenCV via a camera and, depending on interest, the use of neural networks can also be considered.

For the project we expect a high degree of motivation from the students to learn new skills and languages. Ideally, prior knowledge of the languages C++ or Python exists, but is not a requirement. The number of participants is limited and requires an advance registration with us.

Participants will be added by us to a Moodle course, where the procedures and the project material will be made available. The kick-off meeting will take place on 09.10.2023 at 10.00 am in room SA-126, further registration is not possible. Participation in the kickoff meeting is mandatory.

This course may be held in German and English depending on the participants. The project is suitable for students at the bachelor level.

 

Einführung in die Programmierung

In dieser Vorlesung werden grundlegende Programmiertechniken in einer objektorientierten, modernen Programmiersprache (Java) besprochen.
Inhalte im Einzelnen:

  • Einführung und grundlegende Struktur von Programmen
  • Lexikalische Elemente, Datentypen und Variablen, Ausdrücke und Anweisungen
  • Objektorientierte Programmierung: Klassen, Methoden, Vererbung, Interfaces, Abstrakte Klassen, Polymorphismus
  • Standard und Utilityklassen
  • Ein- und Ausgabe mittels Streams
  • Ausnahmebehandlung
  • Rekursion
  • Datenstrukturen: Zeichenketten, Listen und Stapel, Suchbäume, Assoziative Datenfelder
  • Generische Datentypen – Anwendung von Standardtypen
  • Graphische Oberflächen – Einführung und Ereignisbehandlung

Die Übungen sollen die Studierenden anregen die in der Vorlesung gelernten theoretischen Konzepte praktisch anzuwenden. Dabei werden grundlegende Programmierkenntnisse erworben und die Studierenden in die Lage versetzt einfache Programmieraufgaben selbstständig zu bearbeiten. Zusätzlich zu den Übungen werden Tutorien angeboten, welche Studierende mit besonderem Lernbedarf weiter unterstützen und die Inhalte der Vorlesung frühzeitig wiederholen.

Weitere Informationen zur Organisation sind auf der Moodleseite des Kurses zu finden. Den Einschreibeschlüssel erhalten Sie in der ersten Vorlesung am 13.10.2023.

Zeit und Ort:

Vorlesungen: Freitags 8 – 10 Uhr, Raum R14 R00 A04 (Start 13.10.2023)
Übungen: Freitags 10 – 12 Uhr, Raum R14 R00 A04 (Start 13.10.2023)
Testate: Detailierte Auflistung der Termin über Moodle

Eintrag in LSF: Vorlesung, Übungen, und Testate

Project Group: A Platform for Regional Mobility Analyses (ReMA)

Tutors: Dr. Marcus Handte, Alexander Golkowski

Personalized motorized transport is an important source of carbon dioxide emissions. With initiatives such as the 49€ ticket, the federal government is actively incentivizing citizens to switch to public transportation to reduce the carbon dioxide footprint of their everyday mobility. However, despite this cost reduction for public transportation realized by the 49€ ticket, many citizens are reluctant to change their habits. Besides from reduced convenience, many persons state that the mobility offers available in their region do not match their mobility needs or do not exhibit the necessary reliability as short delays encountered during a trip can stack up quickly, e.g., due to missed connections, etc.

The goal of this project group is to develop a prototype platform to analyze the structure of the public transportation offers available in a region to systematically identify gaps and potentials for improvement. For the project group, the focus of the analysis lies on the statistical characteristics of the mobility offers that are available in the Ruhr area during a certain time frame. Towards this end, the platform will collect real-time data for different mobility offers and derive statistical models for their availability. Using these models, the platform will compute a reachability matrix that reflects the expected trip durations during different time periods which can then be combined with other data to identify optimizations.

From a technical perspective, the project group will encompass the development of statistical models for the reliability and availability of mobility offers, the collection and processing of large volumes of data, the development and customization transit routing algorithms and the visualization of spatial data. As basis for the implementation, we are planning on reusing existing software libraries that are written in Java.

From a theoretical perspective, the project group will cover concepts related to the processing of spatial data, such as routing, visualization, etc. In addition, the participants will prepare individual seminar talks and papers on selected research topics related to mobility.

The kickoff meeting for this course will take place on Tuesday, October 10th, 2023 from 8.00h to 12.00h in SA-126.

The admission is managed centrally. If you have any questions, please contact marcus.handte@uni-due.de.

Rechnerstrukturen und Betriebssysteme

Die Vorlesung ist zweigeteilt. Die Vorlesungsinhalte mit dem Schwerpunkt Rechnerstrukturen werden vom Lehrstuhl HCI von Prof. Dr. Stefan Schneegaß vermittelt, die Inhalte mit dem Schwerpunkt Betriebssysteme vom Lehrstuhl NES von Prof. Dr. Pedro Marrón.

Folgende Qualifikationen werden in der Vorlesung vermittelt:

Die Studierenden

  • können den Aufbau und die Funktion von Rechen- und Betriebssystemen sowie die grundlegenden Konzepte erläutern
  • sind in der Lage, ein einfaches Hardwaresystem aus digitalen Basiskomponenten zu entwerfen und Grundfunktionen eines sehr einfachen Betriebssystems selbst zu entwickeln
  • können sich in vorgegebene Systeme einarbeiten, diese einordnen und ihre wesentlichen Eigenschaften erkennen
  • können die grundlegenden Aufgaben und Arbeitsweisen von Rechensystemen ebenso wie den prinzipiellen Aufbau aus digitalen Basiskomponenten erläutern
  • kennen kombinatorische Schaltungen, Bool’sche Funktionen, Schalter und einfache Gatter
  • sind vertraut mit der binären Arithmetik und Zahlendarstellung und können sie anwenden
  • verstehen, was Prozesse sind und können erläutern, wie sie verwaltet, ausgeführt und synchronisiert werden und wie eine Kommunikation zwischen Prozessen erfolgen kann
  • sind in der Lage zu erklären, wie Prozessor, Speicher und Ein-/Ausgabefunktionen verwaltet werden
  • sind befähigt, ein einfaches Hardwaresystem und Grundfunktionen eines sehr einfachen Betriebssystems selbst zu entwerfen
  • verfügen über die Fähigkeit, effizienzsteigernde Techniken in Hardware und Betriebssystem zu konzipieren
  • besitzen eine vertiefte Kenntnis von Rechnerstrukturen und sind in der Lage, diese praktisch anzuwenden
  • können maschinennahe Programme entwerfen, implementieren, diese auf geeignete Hardware portieren und ausführen, besitzen ein vertieftes Verständnis von Funktion und Aufbau von Hardware und zugehöriger Betriebssoftware, und können diese erläutern und zielgerichtet einsetzen

 

Ort und Zeit:

Die Vorlesungen finden statt:

Mittwochs von 18.00 – 20.00 Uhr im Raum SH 601

 

Die Übungen finden statt:

Freitags von 12.00 – 14.00 Uhr im Raum S05T Hörsaalzentrum – S05 T00 B08

 

Weitere Informationen zur Organisation sind auf der Moodleseite des Kurses zu finden. Der Einschreibeschlüssel wird in der Einführungsveranstaltung am 11.10.2023 bekanntgegeben.

 

Prüfung:

Zum Modul erfolgt eine modulbezogene Prüfung in der Gestalt einer Klausur über die gemeinsamen Ziele von Vorlesung und Übung (in der Regel: 90 bis 120 Minuten). Die erfolgreiche Teilnahme an der Übung ist als Prüfungsvorleistung Zulassungsvoraussetzung zur Modulprüfung.

Einträge im LSF: Vorlesung und Übung.

 

Seminar: Social Robotics

Have you ever watched a movie where robots and persons share the same environment, collaborating together in a natural and socially-acceptable manner? Have you asked yourself which technological background would be required for making such futuristic vision possible in reality?

In this seminar, we are going to investigate the technological bases necessary to make robots and humans share physical and social spaces. Due to the inherent diversity of social robotics, the seminar is going to touch a variety of topics, e.g., robotics, embedded systems, artificial intelligence, computer vision, machine learning, human-robot interaction, as well as cognitive and social sciences.

Depending on the number of participants, the seminar will be organized either as a set of written surveys on selected topics, followed by corresponding presentations, or as a full-fledged scientific event including a reviewing process.

This seminar is suitable for students at the bachelor and master level. However, it cannot be chosen by master AI-SE students. This seminar is given in English. Please also note that the maximum number of participants is limited to 12.

Seminar language: English

The kickoff meeting for this seminar will take place in SA 126 on October, 9th from 12h to 14h. Please check this information for updates. Participation in this meeting is mandatory.

 

Systemnahe Informatik (Systems Programming)

In contrast to application programming whose focus is to develop software providing services to the user, systems programming addresses software that interacts with computer systems on a low-level. In this sense, systems programming uncovers the dependency between software and the hardware executing it and forces the programmer to deal with low-level system knowledge. This knowledge is relevant not only to developing efficient software but also in systems with limited resources, e.g., embedded systems like robots, vehicles, and IoT devices. This lecture and the exercises provide the basis to understand and develop such system programs. In this course, the following topics will be discussed:

  • Basics of computer systems
  • Machine-level representation of programs
  • Optimizing program performance
  • Memory hierarchy
  • Linking
  • System-Level I/O
  • Network programming
  • Concurrent programming

The exercises will provide hands-on experience in systems programming to understand the interdependence between software and the computer system executing it. Basic knowledge of the C language is required.

Place and Time:

At the present time, we are planning on offering this course in presence for every student that can and wants to participate. In addition, we will provide access to video recordings prepared during the previous semesters via the Moodle page of this course.

The lecture will take place on Thursdays from 10:00 to 12:00 in Room S-A 215.
The first lecture takes place on October 12th, 2023.

The exercises will take place on Wednesdays from 12:00 to 14:00 in Room S-E 407 and on Thursdays from 16:00 to 18:00 in our Online Lecture Room.
The first exercise session takes place on October 18th, 2023.

Please make sure to register at the Moodle page of the course so that we can inform you about changes.

The password for the self-enrollment (valid until the end of October) is: SysProg-WiSe2324
Exam:

The module is accompanied by a corresponding examination in the form of a written exam on the common goals of lecture and exercises (usually 90 minutes). Successful participation in the exercises is a prerequisite for admission to the module examination. The students collecting 80-89% of the points in the exercises receive a grade bonus of 0.3/0.4, for 90% of the points or more a grade bonus of 0.6/0.7.

The lecture and exercises will be held in English.

Moodle page: Link.
Registration to the Moodle course will be possible near the start of the lecture period.

LSF entry: Lecture and Exercises