Filtern
Dokumenttyp
- Bachelorarbeit (2)
- Diplomarbeit (2)
- Dissertation (2)
- Masterarbeit (1)
- Studienarbeit (1)
Schlagworte
- Echtzeitsystem (2)
- Fahrerassistenzsystem (2)
- Fahrzeug (2)
- AUTOSAR (1)
- Adaptation (1)
- Anhänger (1)
- Anpassung (1)
- Architektur <Informatik> (1)
- Automotive Systems (1)
- C-Programmierung (1)
Institut
Parallelmanipulatoren, welche den Stewartmechanismus nutzen, ermöglichen die präzise Ausführung von Aufgaben in einem begrenzten Arbeitsraum. Durch die Nutzung von sechs Freiheitsgraden wird eine hohe Flexibilität der Positionierung erreicht. Die robuste Konstruktion sorgt zudem für ein sehr gutes Verhältnis von Gewicht zu Nutzlast.
Diese Bachelorarbeit befasst sich mit der Entwicklung einer flexiblen Softwarelösung zur Ansteuerung einer Stewartplattform. Dies umfasst ein Modell der Plattform, welches zu Testzwecken dient. Es werden zunächst die mathematischen Grundlagen der Inversen Kinematik erarbeitet aufbauend auf einem zuvor definierten Bewegungsmodell. Es folgt die Entwicklung einer generischen Architektur zur Übermittlung und Auswertung von Steuerkommandos vom PC. Die Implementierung geschieht in C und wird in verschiedene Module aufgeteilt, welche jeweils einen Aufgabenbereich der Positionskontrolle oder der Hardwarekommunikation abdecken. Es wird zudem eine graphische Nutzeroberfläche vorgestellt, über die man die Position der Plattform manuell verändern kann. Eine automatische Ansteuerung wird im folgenden Anwendungsbeispiel beschrieben, wo die Plattform mit frequentiellen Beschleunigungswerten einer Achterbahnsimulation beliefert wird.
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.
Die Arbeitsgruppe Echtzeitsysteme an der Universität Koblenz beschäftigt sich seit mehreren Jahren mit der Thematik autonomes und assistiertes Fahren. Eine große Herausforderung stellen in diesem Zusammenhang mehrgliedrige Fahrzeuge dar, deren Steuerung für den Fahrer während der Rückwärtsfahrt sehr anspruchsvoll ist. Um präzise Manöver zu ermöglichen, können elektronische Fahrerassistenzsysteme zum Einsatz kommen. Im Rahmen vorhergehender Arbeiten sind bereits einige Prototypen entstanden, von denen jedoch keiner eine geeignete Lösung für moderne, zweiachsige Anhänger darstellt. Im Rahmen dieser Arbeit wurde ein prototypisches Fahrerassistenzsystem entwickelt, wobei es noch weiterer Forschungs- und Entwicklungsarbeit bedarf, um das System straßentauglich zu machen.
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.
Echzeitbetriebssysteme für Systeme mit gemischten Kritikalitäten müssen unterschiedliche Arten von Software, wie z.B. Echtzeitanwendungen und Allzweckanwendungen, gleichzeitig unterstützen. Dabei müssen sie eine solide räumliche und zeitliche Isolation zwischen unabhängigen Softwarekomponenten bieten. Daher fokussieren sich aktuelle Echtzeitbetriebssysteme hauptsächlich auf Vorhersagbarkeit und ein berechenbares Worst-Case-Verhalten.
Allerdings bieten Allzweck-Betriebssysteme wie Linux häufig effizientere, aber weniger deterministische Mechanismen, welche die durchschnittliche Ausführungszeit signifikant erhöhen. Diese Thesis befasst sich mit der Kombination der beiden gegensätzlichen Anforderungen und zeigt Mechanismen zur Thread-Synchronisation mit einem effizienten Durchschnittsverhalten, ohne jedoch die Vorhersagbarkeit und das Worst-Case-Verhalten zu beeinträchtigen. Diese Thesis untersucht und bewertet den Entwurfsraum von Abkürzungen (engl. fast paths) bei der Umsetzung von typischen blockierenden Synchronisationsmechanismen wie Mutexen, Bedingungsvariablen, Zähl-Semaphoren, Barrieren oder Nachrichtenwarteschlangen. Der Ansatz ist dabei, unnötige Systemaufrufe zu vermeiden. Systemaufrufe haben im Vergleich zu anderen Prozessoroperationen, die im Benutzermodus verfügbar sind, wie z.B. atomaren Operationen, höhere Kosten. Insbesondere erforscht die Thesis Futexe, ein aktuelles Design für blockierende Synchronisationsmechanismen in Linux, welches den konkurrenzfreien Fall der Synchronisierung mithilfe atomarer Operationen im Benutzermodus löst und den Kern nur aufruft, um Threads zu suspendieren und aufzuwecken. Die Thesis untersucht auch nicht-unterbrechbare Monitore mit aktivem Warten. Dort wird ein effizienter Mechanismus mit Prioritätsschranken verwendet, um das sogenannte Lock-Holder-Preemption-Problem ohne Systemaufrufe zu vermeiden. Ebenfalls werden passende niedere Kernprimitive beschrieben, die effiziente Warte- und Benachrichtigungsoperationen ermöglichen. Die Evaluation zeigt, dass die vorgestellten Ansätze die durchschnittliche Leistung vergleichbar zu aktuellen Ansätzen in Linux verbessern. Gleichzeitig zeigt eine Analyse des Worst-Case Zeitverhaltens, dass die Ansätze nur konstante oder begrenzte zeitliche Mehraufwände auf der Ebene des Betriebssystemkerns benötigen. Die Nutzung dieser Abkürzungen ist ein lohnender Ansatz für den Entwurf von Systemen, die nicht nur Echtzeitanforderungen erfüllen, sondern auch Allzweckanwendungen gut unterstützen sollen.
Computer unterstützen Menschen zunehmend in Alltagssituationen. Ihre fortwährend voranschreitende Miniaturisierung erlaubt die Erschließung weiterer Einsatzmöglichkeiten und trägt zu einer wachsenden Bedeutung und Verbreitung in der Gesellschaft bei. Längst sind solche Systeme in vielerlei Alltagsgegenständen Realität und ihre Mobilität spielt eine immer größer werdende Rolle: von Laptops über Smartphones und Tablets hin zu am oder im Körper tragbaren Systemen (engl. wearable computing) wie Hörgeräte und Pulsuhren, unterstützen sie den Menschen aktiv und kontextsensitiv in ihrem Alltag.
Als ein Teilgebiet des wearable computing gilt die Entwicklung von Head-mounted Displays (kurz HMD). Das sind Helme oder Brillen die dem Benutzer auf einer oder mehreren Darstellungsflächen computergenerierte Bilder (virtual reality) oder mit Zusatzinformationen versehene Aufnahmen der Umgebung (enhanced reality) präsentieren. Aktuell sind HMDs welche LC-Displays nutzen weit verbreitet, innovativer sind solche welche das Bild direkt auf die Netzhaut des Benutzers projizieren. Neuste Entwicklungen deuten auf weitere Miniaturisierung des Konzepts, hin zu Kontaktlinsen mit integriertem Bildschirm. Für die Sammlung dazustellender Daten werden eine Vielzahl Sensoren hinzugezogen, wie Head-Tracker oder GPS. Auch durch Erweiterungen im Bereich der Bedienbarkeit - zum Beispiel durch Spracheingabe über ein Mikrofon - und die Steigerung des Immersionsgefühls - zum Beispiel durch stereoskopische Bilder oder integrierte Kopfhörer - wandeln sich HMDs von einfachen Anzeigen hin zu stetig besser ausgerüsteten Geräten mit ständig wachsenden Einsatzgebieten. Längst werden HMDs in einer Vielzahl von Feldern benutzt. rnIm Vordergrund dieser Arbeit steht der Entwurf und die Erstellung einer Anwendung für das Betriebssystem Apple iOS 5, als softwaretechnischen Beitrag zur Entwicklung eines HMD auf Basis von Apple-Mobilgeräten mit hochauflösendem Retina Display. Das RollerCoaster2000-Projekt soll zur Darstellung des grafischen Inhalts genutzt werden, aus Gründen einer freien Lizenz, frei zugänglichen Quellcodes sowie einer effizienten OpenGL-ES-Portierung. Dabei soll ein leichter Austausch oder die Erweiterung dieses grafischen Grundgerüsts gegeben sein um die Einsatzmöglichkeiten des HMD zu erhöhen. Über die reine Nutzung als Darstellungsmedium soll die erstellte Anwendung die vielfältigen, sensorischen Fähigkeiten und Vernetzungsmöglichkeiten aktueller Apple-Endgeräte nutzen um mehrere Geräte zu einer Datenbrille zu verbinden und die Kopfbewegungen des Benutzers auszuwerten, in der virtuellen Szene abzubilden und zwischen den Geräten synchron zu halten. Zur leichten Orientierung des Benutzers während der Bedienung soll außerdem auf die integrierte Gerätekamera zugegriffen werden.
Um die Realisierung einer den Kriterien gerecht werdenden Anwendung zu ermöglichen wird in dieser Arbeit in den Bereich der iOS-Entwicklung eingeführt. Zuerst erfolgt eine Einleitung in die historischen Entwicklungen auf dem Gebiet der mobilen Entwicklung für Apple-Mobilgeräte, von der Entstehung des objektorientierten Paradigmas hin zur heutigen Ausprägung des iOS-SDK. Letzteres ergibt sich dabei aus der Summe einer Vielzahl, stark kohärenter Komponenten. Dazu gehören die Grundsteine einer jeden iOS-Applikation, die objektorientierte, dynamische und streng typisierte Sprache Objective-C sowie den durch Apple an die eigenen Bedürfnisse angepassten LLVM-Compiler und die von Apple angepasste LLVM-Laufzeitumgebung. Zudem sind das Cocoa Framework und die Entwicklungsumgebung Xcode, die zur Erstellung mobiler Anwendungen von Apple entwickelt wurden, Gegenstand dieser Arbeit. Anhand der gewonnenen Kenntnisse im Bereich der mobilen Anwendungsentwicklung werden Anforderungen an eine Anwendung für ein HMD erhoben und die Erstellung einer, diesen Kriterien genügenden, Software beschrieben.
Klassische Fahrerassistenzsysteme (FAS) wie beispielsweise der Spurassistent oder das weit verbreitete Elektronische Stabilitätsprogramm basieren auf statischen System- und Softwarearchitekturen. Dies bedeutet, dass weder die Anzahl oder Topologie der Steuergeräte noch das Vorhandensein oder die Funktionalität von Softwaremodulen Änderungen zur Laufzeit unterliegen. Es existieren allerdings zukünftige FAS, bei denen solche Veränderungen eintreten können. Hierzu gehören beispielsweise Assistenzsysteme für Fahrzeuge mit Anhänger, da deren Steuergeräte und Softwaremodule über beide Teile des Gespanns verteilt sind. Diese neue Herausforderung kann nicht durch Ansätze, die zum Stand der Technik gehören, bewältigt werden. Stattdessen muss ein neuartiges Verfahren für das Design von solch verteilten Fahrerassistenzsystemen entwickelt werden.
Der zentrale wissenschaftliche Beitrag dieser Arbeit liegt in der Entwicklung einer neuartigen Software- und Systemarchitektur für dynamisch veränderliche FAS am Beispiel der Assistenzsysteme für Fahrzeuge mit Anhänger. Diese Architektur muss in der Lage sein, Veränderungen in der Topologie eigenständig zu erkennen und darauf zu reagieren. Hierbei entscheidet das System, welcher Grad der Assistenz und welche Nutzerschnittstelle nach dem An- oder Abkoppeln eines Anhängers angeboten werden kann. Hierzu werden neben der verfügbaren Software und Hardware die ausführbaren Assistenzfunktionalitäten analysiert und eine entsprechende Re-Konfiguration durchgeführt. Eine solche Systemanpassung kann vorgenommen werden, indem man auf die Prinzipien der Service-orientierten Architektur zurückgreift. Hierbei wird alle vorhandene Funktionalität in abgeschlossene Einheiten, so genannte Services gegossen. Diese Services stellen ihre Funktionalität über klar definierte Schnittstellen zur Verfügung, deren Verhalten durch so genannte Contracts beschrieben wird. Größere Applikationen werden zur Laufzeit durch den Zusammenschluss von mehreren solcher Services gebildet und adaptiert.
Die Arbeit beschreibt die Forschung die geleistet wurde, um die oben genannten Ziele durch den Einsatz von Service-orientierten Architekturen im automotiven Umfeld zu erreichen. Hierbei wird dem hohen Grad an Verteilung, dem Wunsch nach Wiederverwendbarkeit sowie der Heterogenität der einzelnen Komponenten durch den Einsatz der Prinzipien einer SOA begegnet. Weiterhin führt das Service-orientierte System eine automatische Re-Konfiguration im Falle einer Systemänderung durch. Statt eines der vorhandenen SOA Frameworks an die Verhältnisse im automotiven Umfeld anzupassen werden die einzelnen in SOA enthaltenen Prinzipien auf die Problemstellung angepasst. Hierbei entsteht ein eigenständiges Framework namens "Service-oriented Driver Assistance" (SODA) welches die Vorteile einer SOA mit den Anforderungen, bewährten Methoden und Standards vereint. Im Rahmen dieser Arbeit werden verschiedene SOA Frameworks analysiert und miteinander vergleichen. Außerdem wird das SODA Framework sowie dessen Anpassungen bezüglich automotiver Systeme detailliert beschrieben. Hierzu zählt auch ein Referenzmodell, welches die Begrifflichkeiten und Konzepte einführt und zueinander in Beziehung setzt sowie eine Referenzarchitektur definiert. Einige der Module dieser Referenzarchitektur wie beispielsweise das Re-Konfigurations- und das Kommunikationsmodul werden sehr detailiert in eigenen Kapiteln beschrieben. Um die Kompatibilität des Frameworks sicherzustellen wird die Integration in einen bewährten Entwicklungsprozess sowie in den Architekturstandard AUTOSAR diskutiert. Abschließend wird der Aufbau eines Demonstrators und dessen Evaluation bezüglich der Leistungsfähigkeit und Effizienz des Frameworks beschrieben.