36,99 €
Diplomarbeit aus dem Jahr 2001 im Fachbereich Informatik - Technische Informatik, Note: 1,0, Technische Universität Carolo-Wilhelmina zu Braunschweig (Institut für Robotik und Prozessinformatik), Sprache: Deutsch, Abstract: Gegenstand dieser Arbeit ist der Entwurf eines Kommunikationsmodells für eine PC-basierte Robotersteuerung und deren Implementierung. Ausgehend von den Grundlagen der Kommunikation werden verschiedene Entwurfsalternativen erläutert. Die gewählte Alternative besteht in der Implementierung eines Object-Servers, der das Management der gesamten Steuerungskommunikation übernimmt. Als Schnittstelle zum Benutzer wird ein TCP/IP-Interface zur Verfügung gestellt, so dass die Robotersteuerung von beliebigen Computern in einem angeschlossenen Netzwerk in Betrieb genommen werden kann. Die nähere Betrachtung der durch den Object-Server und das TCP/IP-Interface disponiblen Funktionen bildet einen wesentlichen Teil dieser Arbeit. Im letzten Teil der Arbeit werden dann die Modifikationen erläutert, die ausgehend von der vorhandenen Robotersteuerung vorgenommen werden mussten, um das gewählte Kommunikationskonzept zu realisieren. Die Beleuchtung einiger praktischer Aspekte der Benutzung des Roboters schließt die Arbeit ab. Abstract Objective of this thesis is a communication-model for a PC-based robot control system as well as its realisation. Based on available communication-alternatives different implementation possibilities will be explained. The resulting Object-Server, which controls and manages the complete communication will be explained in more detail afterwards. An available user-communication-interface uses the TCP/IP-protocols to support connections to the ,,world". Therefore the robot control system can be used by arbitrary computers in a common network. Finally some modifications of the previously existing robot control system will be explained and some technical aspects of using the robot will be stated. [...]
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Veröffentlichungsjahr: 2002
Page 1
Zusammenfassung
Gegenstand des Vortrags ist das Kommunikationsmodell für eine PC-basierte Robotersteuerung.
Ausgehend von Grundlagen der Kommunikation wird die Architektur der Robotersteuerung vorgestellt. Neben der Definition des verwendeten Übertragungsformates wird die Funktionsweise der Steuerung beispielhaft erläutert. Nach der Einführung in Steuerungsdetails soll eine kurze Demonstration den Vortrag abschließen.
Page 2
Page 3
Zusammenfassung
Gegenstand dieser Arbeit ist der Entwurf eines Kommunikationsmodells für eine PC-basierte Robotersteuerung und deren Implementierung. Ausgehend von den Grundlagen der Kommunikation werden verschiedene
Entwurfsalternativen erläutert. Die gewählte Alternative besteht in der Implementierung eines Object-Servers, der das Management der gesamten Steuerungskommunikation übernimmt. Als Schnittstelle zum Benutzer wird ein TCP/IP-Interface zur Verfügung gestellt, so dass die Robotersteuerung von beliebigen Computern in einem angeschlossenen Netzwerk in Betrieb genommen werden kann. Die nähere Betrachtung der durch den Object-Server und das TCP/IP-Interface disponiblen Funktionen bildet einen wesentlichen Teil dieser Arbeit. Im letzten Teil der Arbeit werden dann die Modifikationen erläutert, die ausgehend von der vorhandenen Robotersteuerung vorgenommen werden mussten, um das gewählte Kommunikationskonzept zu realisieren. Die Beleuchtung einiger praktischer Aspekte der Benutzung des Roboters schließt die Arbeit ab.
Page 4
Abstract
Objective of this thesis is a communication-model for a PC-based robot control system as well as its realisation.
Based on available communication-alternatives different implementation possibilities will be explained. The resulting Object-Server, which controls and manages the complete communication will be explained in more detail a fterwards. An available usercommunication-interface uses the TCP/IP-protocols to support connections to the „world“. Therefore the robot control system can be used by arbitrary computers in a common network. Finally some modifications of the previously e xisting robot control system will be explained and some technical aspects of using the robot will be stated.
Page 5
Erklärung
Hiermit erkläre ich, dass die vorliegende Arbeit selbständig, nur unter Verwendung der aufgeführten Hilfsmittel, von mir erstellt wurde.
Braunschweig, den 23.03.2001
Page 6
Danksagung
Auf diesem Wege möchte ich mich bei allen, die mir das Vollenden dieser Arbeit und damit auch den Abschluss meines intensiven Informatik-Studiums an der Technischen Universität Braunschweig ermöglicht haben, bedanken. Namentlich seien hier, stellvertretend für alle anderen, die besonders an der Schlussphase beteiligten Bernd Finkemeyer, Jörg Hanna und Prof. Dr. F. M. Wahl erwähnt. Neben den am fachlichen Gelingen Beteiligten gilt mein besonderer Dank meinen Eltern, d ie mich geduldig bis zur Beendigung dieser Arbeit mit allerlei Nahrungs- und Genussmitteln versorgt haben und meinen beiden Frauen für ihre finanzielle Unterstützung und dafür, dass ich doch nicht immer spielen musste.
Page 7
Abbildungsverzeichnis Abbildung 1.1 Roboter in Ausgangsstellung 2 Abbildung 1.2 Arbeitszelle 2 Abbildung 1.3 Steuerungsschrank von MAX 3 Abbildung 2.1 Zyklische Blockade 4 Abbildung 2.2 TCP/IP-Protokoll-Schichten 7 Abbildung 2.3 Drei-Wege-Handshaking- Verfahren 8 Abbildung 2.4 IPv4-Header-Aufbau 9 Abbildung 2.5 Prozess-Zustands-Übergänge unter QNX 10 Abbildung 2.6 Datendurchsatz in Abhängigkeit von der Nachrichtenlänge 11 Abbildung 3.1 Architektur der Robotersteuerung 13 Abbildung 3.2 Blockade von Regler und Object-Server 15 Abbildung 3.3 Nachrichten-Scheduling und Anfragenbearbeitung 20 Abbildung 3.4 Object-Server-Initialisierungsdatei 27 Abbildung 3.5 Header-Datei der Klasse Message 32 Abbildung 3.6 Reihenfolgeerhaltung beim Scheduling 40 Abbildung 3.7 Header-Datei der Klasse InitFileEntry 47 Abbildung 3.8 Beispiel einer Konfigurationsdatei 48 Abbildung 3.9 Datenstruktur der Nachrichtenliste 53 Abbildung 3.10 Schematischer Aufbau des TCP/IP-Interface 54 Abbildung 3.11 Klassenhierarchie des TCP/IP-Interface 55 Abbildung 4.1 Schematischer Aufbau des Treiber-Quell-Programms 61 Abbildung 4.2 Benutzeroberfläche nach Initialisierung 66 Abbildung 4.3 Benutzeroberfläche nach Empfang der Nachrichtenliste 67 Abbildung 4.4 Benutzeroberfläche des interaktiven Bewegungsdialogs 69 Abbildung 4.5 Benutzeroberfläche des Mühlespiels 70 Abbildung 4.6 Robotergrundposition für das Mühlespiel 71 Abbildung 4.7 Datendurchsatz in Abhängigkeit vom Regeltakt 72 Abbildung 4.8 Datendurchsatz auf unterschiedlichen Computer-Systemen 73 Abbildung 7.1 Vorreferenzierstellung des Basisge lenks (Detail) 78 Abbildung 7.2 Vorreferenzierstellung des Ellenbogengelenks (Detail) 78 Abbildung 7.3 Vorreferenzierstellung des Schulterge lenks (Detail) 79 Abbildung 7.4 Vorreferenzierstelung des Ellenbogen- und Schultergelenks 79 vPage 1
Die vorliegende Arbeit entstand im Rahmen meines Informatikstudiums an der Technischen Universität Braunschweig. Gegenstand dieser Arbeit ist eine Robotersteuerung für die am Institut für Robotik und Prozessinformatik (iRP) vorhandenen manutec r2 Roboter. Diese wurden zuvor mit einer im Laufe mehrerer wissenschaftlicher Arbeiten am Institut entwickelten, offenen transputerbasierten Robotersteuerung gesteuert. Das offene Konzept dieser Steuerung ermöglichte eine einfache Untersuchung neuer Regel- und Programmierkonzepte. Da, u.a. bedingt durch den hohen Preis von Transputern und die immer größer werdende Leistungsfähigkeit von Standard PCs, die Forschung auf dem Gebiet derTransputereingestellt wurde, hat man auch am iRP die Weiterentwicklung der tranputerbasierten Steuerung zugunsten der Neuentwicklung einer auf einem Standard PC basierenden, offenen Steuerung aufgegeben. Nachdem sich Windows NT als Betriebssystem für dieseharte Echtzeitaufgabeals ungeeignet erwiesen hat, wurde als Plattform für diese Aufgabe dasEchtzeitbetriebssystem(engl. Real Time Operating System RTOS) QNX gewählt.
Auch die neue Steuerung soll offen für Untersuchungen verschiedener Regel- und Programmierkonzepte sein und wurde konzeptionell besonders im Hinblick auf universelle Einsetzbarkeit, Skalierbarkeit und preiswerte Realisierung optimiert. Die Grundlagen für die Umsetzung dieses Konzeptes wurden mit den Arbeiten von André Schröder (Anpaßbaugruppe→[2]) und Jörg Hanna (Regler und Treiber→[3]) geschaffen. Mit dieser Arbeit und der Arbeit von Holger Ratke wurden diesen Grundlagen um ein allgemeines Kommunikationsmodell und eine Windows NT Benutzerschnittstelle erweitert. Bevor neben der zugrundeliegenden Steuerungsarchitektur die zentralen Komponenten in Kapitel 3 und 4 erläutert werden, möchte ich noch kurz die Hardware der implementierten Steuerung vorstellen und in Kapitel 2 näher auf einige der erforderlichen Grundlagen eingehen. Den Abschluß bilden die Kapitel 5, 6 und 7, die außer einem Ausblick auf weitere Arbeiten die Literaturliste und den Anhang umfassen.
Page 2
Der manutec r2 Roboter (MAX→Abbildung 1.1), Baujahr 1990, befindet sich mit zwei weiteren baugleichen Robotern auf der gleichen Arbeitsplattform ( Abbildung 1.2), ist jedoch zurzeit als einziger funktionsfähig. Der Roboter wird von einer analogen Leistungselektronik
einem LINUX und einem
SOLARIS-System kompiliert und gestartet. Dabei zeigte sich unter anderem der in Abbildung 4.8 dargestellte Unterschied im Leistungsvermögen der drei Test-Computer, aber auch einige Plattformunterschiede, darin resultierten, dass das endgültige verschiedene nicht POSIX-konforme Funktionen des
Betriebssystems QNX nutzt, die bei eventuellem späteren Wechsel des Betriebssystems
Page 3
angepasst werden müssen. Von den drei getesteten Betriebssystemkandidaten erwies sich QNX jedoch als das am besten geeignete System für die Regelungsaufgabe.
Page 4
Die Grundlagen für das Verständnis der mit der implementierten Robotersteuerung verbundenen Probleme sollen in diesem Kapitel beleuchtet werden. Nach der allgemeinen Erläuterung der Client-Server-Kommunikation wird die Internet-Protokollgruppe TCP/IP beschrieben. Den Abschluß des Kapitels bildet die Vorstellung der Inter-Prozess-Kommunikation unter QNX.
Zu den wichtigsten Vorgängen im Rahmen der Informationsverarbeitung zählt der Datenaustausch bzw. die Datenübermittlung zwischen verschiedenen
Kommunikationspartnern. Diese Datenübermittlung kann auf verschiedene Arten erfolgen; „bedrucktes Papier von A nach B transportieren“ und „Speicherbereiche kopieren“ seien hier als zwei Beispiele aufgeführt. Generalisierend kann man - bei der Kommunikation zwischen zwei Partnern - einem der Kommunikationspartner die Rolle des „Informationskonsumenten“ (Client) und dem anderen die Rolle des „Informationslieferanten“ (Server) zuordnen. Dieses Kommunikationsmodell wird auch als Client-Server-Modell bezeichnet. Auch in der vorliegenden Arbeit wurde zur Kommunikation das Client-Server-Modell (bis auf zwei Ausnahmen, die später noch erläutert werden) gewählt. Ein Teil der Kommunikationspartner