Refine
Document Type
- Diploma Thesis (1)
- Doctoral Thesis (1)
- Master's Thesis (1)
- Study Thesis (1)
Keywords
- Fahrerassistenzsystem (2)
- Anhänger (1)
- Echtzeitsystem (1)
- Fahrsimulator (1)
- Fahrzeug (1)
- Modellfahrzeug (1)
- Regler (1)
- Rückfahrkamera (1)
- Trajektorien (1)
- WCET (1)
Institute
- Institut für Softwaretechnik (4) (remove)
Im Rahmen dieser Arbeit wird untersucht, wie sich Modellfehler auf die Positionsgenauigkeit und Handhabbarkeit beim Rangieren mit einem Fahrerassistenzsystem auswirken. Besonderer Wert wird dabei auf die Bestimmung von Fehlergrenzen gelegt. Es wird der Frage nachgegangen, wie groß der Eingangsfehler sein darf, damit die Assistenz noch hinreichende Qualitätseigenschaften hinsichtlich ihrer Präzision und Robustheit aufweist. Dazu erfolgt zunächst eine quantitative Betrachtung der Fehler anhand des kinematischen Modells. Danach wird eine qualitative Betrachtung anhand von systematischen Experimenten durchgeführt. Es wird zunächst ein Controller entwickelt, mit dem sich ein Manöver mithilfe der visuellen Informationen der Assistenz simulieren lässt.
Dann wird eine Methode vorgestellt, mit deren Hilfe man das Manöver anhand definierter Fehlergrenzen bewerten kann. Um einen großen Raum möglicher Fehlerkombinationen effizient zu durchsuchen, wird das probabilistische Verfahren des Annealed Particle Filters benutzt. Mithilfe einer Testumgebung werden schließlich systematische Experimente durchgeführt. Zur weiteren Evaluation des Assistenzsystems in einer kontrollierten Umgebung erfolgte in Zusammenarbeit mit dem Fraunhofer ITWM in Kaiserslautern die Portierung des Assistenzsystems auf die dortige Simulationsumgebung RODOS.
In dieser Arbeit wird ein zweigeteilter Regler für die Pfadverfolgung eines Modellfahrzeugs mit einachsigem Anhänger entwickelt. Darüber hinaus wird ein Beweis für die Stabilität und die Konvergenzeigenschaft der gefundenen Regelungsgesetze geliefert. Das Verfahren wird anschließend in die bestehende Steuersoftware des Versuchsfahrzeuges integriert und eine Testumgebung erstellt, um das Regelungsverfahren damit abschließend zu evaluieren.
Die Vorwärtsfahrt mit einem einachsigen Anhänger stellt für die meisten Fahrer keine große Schwierigkeit dar. Das Zugfahrzeug gibt die Richtung vor und der Anhänger wird mitgezogen. Jedoch ist das Rückwärtsfahren mit Anhänger für den ungeübten Fahrer oft sehr kompliziert, da die Lenkmanöver für eine bestimmte Richtungsänderung nicht intuitiv sind und ein "Umdenken" erfordern. Will man beispielsweise den Anhänger um eine Linkskurve fahren, so muss das Zugfahrzeug zunächst nach rechts gelenkt werden, damit der Anhänger linksherum geschoben wird. Schnell passieren Fehler und ein Unfall mit Sachschaden kann eine mögliche Folge sein. Besonders Fahrer, die nur gelegentlich mit einem Anhänger unterwegs sind, haben bei der Rückwärtsfahrt mit Anhänger Probleme.
Real-time operating systems for mixed-criticality systems
must support different types of software, such as
real-time applications and general purpose applications,
and, at the same time, must provide strong spatial and
temporal isolation between independent software components.
Therefore, state-of-the-art real-time operating systems
focus mainly on predictability and bounded worst-case behavior.
However, general purpose operating systems such as Linux
often feature more efficient---but less deterministic---mechanisms
that significantly improve the average execution time.
This thesis addresses the combination of the two contradicting
requirements and shows thread synchronization mechanisms
with efficient average-case behavior, but without sacrificing
predictability and worst-case behavior.
This thesis explores and evaluates the design space of fast paths
in the implementation of typical blocking synchronization
mechanisms, such as mutexes, condition variables, counting
semaphores, barriers, or message queues. The key technique here
is to avoid unnecessary system calls, as system calls have high
costs compared to other processor operations available in user
space, such as low-level atomic synchronization primitives.
In particular, the thesis explores futexes, the state-of-the-art
design for blocking synchronization mechanisms in Linux
that handles the uncontended case of thread synchronization
by using atomic operations in user space and calls into the
kernel only to suspend and wake up threads. The thesis also
proposes non-preemptive busy-waiting monitors that use an
efficient priority ceiling mechanism to prevent the lock holder
preemption problem without using system calls, and according
low-level kernel primitives to construct efficient wait and
notify operations.
The evaluation shows that the presented approaches
improve the average performance comparable
to state-of-the-art approaches in Linux.
At the same time, a worst-case timing analysis shows
that the approaches only need constant or bounded temporal
overheads at the operating system kernel level.
Exploiting these fast paths is a worthwhile approach
when designing systems that not only have to fulfill
real-time requirements, but also best-effort workloads.