Kommunikationsmodell einer PC-basierten Robotersteuerung - Michael Borchard - E-Book

Kommunikationsmodell einer PC-basierten Robotersteuerung E-Book

Michael Borchard

0,0
36,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

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:

EPUB

Veröffentlichungsjahr: 2002

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsverzeichnis
1 Einleitung
1.1 Hardware / Betriebssystem
2 Grundlagen
2.1 Client-Server Kommunikation
2.1.1 Blockade/Verklemmung
2.2 TCP/IP
2.3 QNX-Inter-Prozess-Kommunikation
3 Architektur der Robotersteuerung
3.1 Object-Server
3.1.1 Nachrichten-Scheduling
3.1.1.1 Motivation
3.1.2 Anfragenbearbeitung
3.1.2.1 Motivation
3.1.3 Limitierung der Nachrichtenbenutzung
3.1.3.1 Motivation
3.1.4 Nachrichtenformat
3.1.5 Konfigurationsdatei
3.1.6 Object-Server Nachrichten
3.1.7 Klassenhierarchie
3.1.7.1 Die Klasse Message
3.1.7.2 Die Klasse connection
3.1.7.3 Die Klasse Scheduler
3.1.7.4 Die Klasse Requests
3.1.7.5 Die Klasse Table
3.1.7.6 Die Klasse ActionPool
3.1.7.7 Die Klasse InitFileEntry
3.2 Datenstrukturen
3.3 TCP/IP Interface
4 Anwendungen
4.1 Modifikation der vorhandenen Steuerung
4.1.1 Treiberanpassung
4.1.2 Regleranpassung
4.2 Eine Benutzeroberfläche
4.3 Leistung des Object-Server
5 Ausblick
6 Literatur
7 Anhang
7.1 Technische Daten Roboter
7.1.1 Referenzierung
7.1.2 Kalibrierung
7.2 Probleme
7.4 Nachrichtenliste
7.4.1 Object-Server
7.4.2 Regler
7.4.3 Treiber
7.5 Programmerzeugung

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 v

Page 1

1 Einleitung

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

1.1 Hardware / Betriebssystem

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

2 Grundlagen

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.

2.1 Client-Server Kommunikation

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