Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Diplomarbeit</strong>: Modulares System Programmierung der Knotenpunkte<br />
6. Programmierung der Knotenpunkte<br />
Herkömmliche Robotersysteme besitzen im Allgemeinen einen leistungsfähigen Prozessor als<br />
zentrale Einheit, an den die Sensoren <strong>und</strong> Aktoren direkt angeschlossen werden. Der Vorteil dieses<br />
Aufbaus liegt darin, dass nur eine einzige rechenstarke Einheit programmiert werden muss. Der<br />
Nachteil ist, dass solche Systeme in der Anzahl der anschließbaren Sensoren <strong>und</strong> Aktoren meist stark<br />
begrenzt sind. Oft sind nicht mehr als zehn Anschlüsse vorhanden. Für größere Roboter müssen dann<br />
mehrere dieser Prozessoren vernetzt oder ein Bussystem integriert werden. Zusätzlich ist der<br />
Wechsel auf einen anderen leistungsfähigeren Prozessor zum Teil sehr aufwendig, da viele Teile der<br />
Programme neu entwickelt werden müssen. Des Weiteren ist eine Erweiterung des bestehenden<br />
Roboters meist nur durch Abschalten <strong>und</strong> Neuprogrammierung möglich. Eingriffe in ein laufendes<br />
System sind normalerweise nicht vorgesehen.<br />
Mit einem Netzwerk von einzeln agierenden Sensoren <strong>und</strong> Aktoren ist es möglich, genau diese<br />
Nachteile zu umgehen. Jeder Knotenpunkt läuft weitestgehend autark <strong>und</strong> kann zu jeder Zeit aus dem<br />
Netzwerk entfernt werden. Sollten andere Teilnehmer auf Informationen von ihm angewiesen sein,<br />
bekommen sie zwar eine Fehlermeldung <strong>und</strong> können unter Umständen ihre Aufgabe nicht mehr<br />
vollständig wahrnehmen, aber dies beeinflusst in vielen Fällen nicht das Gesamtsystem. Es kann<br />
weiter laufen <strong>und</strong> sobald der entfernte Knotenpunkt wieder aktiv wird, ist der alte Zustand ohne<br />
Unterbrechung wiederhergestellt. Dadurch können (nahezu) beliebig viele Sensoren <strong>und</strong> Aktoren<br />
miteinander kombiniert werden. Damit sich die Kosten <strong>für</strong> so ein Netzwerk nicht überschlagen,<br />
müssen die Steuereinheiten <strong>für</strong> jeden Sensor <strong>und</strong> Aktor entsprechend günstig sein. Statt einem<br />
leistungsfähigen Zentralrechner wird eine Vielzahl kleinerer Controller verwendet.<br />
Der Nachteil bei dieser Herangehensweise ist, dass jeder dieser Controller separat programmiert<br />
werden muss. Solange alle vom gleichen Typ sind, ist der Aufwand noch überschaubar, aber sobald<br />
später einmal das Netzwerk erweitert werden soll <strong>und</strong> die verwendeten Controller nicht mehr<br />
verfügbar sind oder leistungsfähigere Controller verwendet werden sollen, würde der Aufwand wieder<br />
stark ansteigen. Sinn macht es daher, von Anfang an auf den Controllern eine Virtuelle Maschine zu<br />
installieren. Werden die Controller ausgetauscht, muss nur die Virtuelle Maschine <strong>für</strong> den neuen<br />
Controllertyp angepasst werden <strong>und</strong> alle Steuerungsprogramme funktionieren ohne Änderung weiter.<br />
Am einfachsten wäre es <strong>für</strong> den Entwickler, wenn er <strong>für</strong> die Programmierung des Netzwerkes eine der<br />
momentan verbreiteten Sprachen (wie C++, Pascal oder JAVA) verwenden könnte. Leider sind diese<br />
Sprachen mittlerweile so komplex <strong>und</strong> umfangreich, dass eine dazugehörige virtuelle Maschine die<br />
Leistungsfähigkeit eines einfachen Controllers mit wenig Speicher schnell übersteigen würde. Nach<br />
Rücksprache mit Prof. Dr.-Ing. Beck (Professor <strong>für</strong> Compiler/Interpreter-Bau an der HTW-<strong>Dresden</strong>) fiel<br />
die Wahl auf einen von ihm verwendeten Compiler, der auf der Sprache PL0 basiert. Die zugehörige<br />
Virtuelle Maschine ist so klein gehalten, dass sie auch auf Controllern mit wenigen h<strong>und</strong>ert Byte<br />
Speicher zumindest einfache kleine Programme noch ausführen kann, die zu Steuerzwecken in der<br />
Regel ausreichen.<br />
26.07.2004 Seite 39 von 85