53
Bachelorthesis Chris Adolf Integration und Test einer Koordinatensystemregistrierung am Beispiel eines optischen Lokalisierungssystems Fakultät Technik und Informatik Department Informations- und Elektrotechnik Faculty of Engineering and Computer Science Department of Information and Electrical Engineering

Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Embed Size (px)

Citation preview

Page 1: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

BachelorthesisChris Adolf

Integration und Test einerKoordinatensystemregistrierung am Beispiel

eines optischen Lokalisierungssystems

Fakultaumlt Technik und InformatikDepartment Informations- undElektrotechnik

Faculty of Engineering and Computer ScienceDepartment of Information and

Electrical Engineering

Chris Adolf

Integration und Test einerKoordinatensystemregistrierung am Beispiel eines

optischen Lokalisierungssystems

Bachelorthesis eingereicht im Rahmen der Bachelorpruumlfungim Studiengang Informations- und Elektrotechnikam Department Informations- und Elektrotechnikder Fakultaumlt Technik und Informatikder Hochschule fuumlr Angewandte Wissenschaften Hamburg

Betreuender Pruumlfer Prof Dr Annabella Rauscher-ScheibeZweitgutachter Dr Ing Holger Kunze

Abgegeben am 20012015

Chris Adolf

Thema der BachelorthesisIntegration und Test einer Koordinatensystemregistrierung am Beispiel eines opti-schen Lokalisierungssystems

StichworteHand-Auge-Kalibrierung Lokalisierungssystem Koordinatensystem Artis zeego Op-totrak Certus

KurzzusammenfassungDie vorliegende Arbeit beinhaltet neben aufgabenstellung-bezogenen Erklaumlrungenvon technischem Equipment eine detaillierte und schrittweise Erlaumluterung der Ar-beitsschritte zur Herbeifuumlhrung einer automatisierten Loumlsung einer Koordinatensys-temregistrierung

Chris Adolf

Title of the paperIntegration and test of a coordinate system registry using the example of an opticallocalization system

Keywordshand-eye calibration localization system coordinate system Artis zeego OptotrakCertus

AbstractIn addition to task-related explanations of technical equipment the present thesis in-cludes a detailed and step by step explanation of the work stages required to achievean automated solution to a coordinate system registry

Inhaltsverzeichnis

Kurzzusammenfassung II

Inhaltsverzeichnis III

Tabellenverzeichnis V

Abbildungsverzeichnis VI

Abkuumlrzungsverzeichnis VII

1 Einleitung 111 Einfuumlhrung 112 Motivation 313 Aufgabenstellung 3

2 Stand der Technik 521 Hand-Auge-Kalibrierung 522 Lokalisierungssysteme 7

221 Lokalisierung uumlber Elektromagnetische Felder 7222 Markerbasierte Lokalisierung 9223 Lokalisierung durch Tiefeninformationskameras 10

23 Zusammenfassung 12

3 Material und Methoden 1331 Artis zeego 1332 NDI Optotrak Certus 1633 Software 20

331 Microsoft Visual Studio 2008 20332 IAE 20

4 Konzept und Umsetzung 2141 Konzept 2142 Umsetzung 24

421 Aufbau des Lokalisierungssystems 24

Inhaltsverzeichnis IV

422 Initialisieren 25423 Markerkoordinaten auslesen 26424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung 28425 Kommunikation beenden 30

5 Messaufbau und Testablauf 31

6 Auswertung 35

7 Diskussion und Ausblick 39

8 Zusammenfassung 40

Literaturverzeichnis 41

Versicherung uumlber die Selbststaumlndigkeit 43

Tabellenverzeichnis

41 Datentypen eines Paketes 27

61 Ergebnisse der Koordinatensystemregistrierungen 3562 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen 37

Abbildungsverzeichnis

11 Auswirkungen von Kontrastmittel bei gleichzeitiger Durchleuchtung 112 Aktiver und passiver Marker 2

21 Veranschaulichung des Konzeptes einer Hand-Auge-Kalibrierung 622 Bestandteile eines RFID-Lokalisierungssystems 823 Funktionsweise Backscatter 924 Aktiver und passiver Marker 1025 Aufnahme einer Kinect ohne Plastikabdeckung 1126 IR-Gitter einer Kinect 11

31 Rotatorische und translatorische Achsen am Artis zeego 1432 Basis-Koordinatensystem des Artis zeego 1433 Optotrak Certus auf Stativ 1634 Basis-Koordinatensystem Optotrak Certus 1735 Grundsaumltzlicher System-Aufbau fuumlr Messung mit Optotrak Certus 18

41 Innerer Aufbau der IAE 2242 Konzept fuumlr Programmstruktur 2243 Uumlberblick uumlber die verwendeten Methoden 2344 Aufbau der Ethernet-Setup-Software von NDI 2545 Client-Server-Model 2646 Aufbau eines Allzweck-Datenpaketes 2747 Struktur zum Speichern von dreidimensionalen Koordinaten 2848 Sichtbarkeitskonstante 2849 Programmcode-Struktur 29410 Berechnung der Abstandsaumlnderung 30411 Umwandlung der Markerkoordinatenstruktur in Vector3 30

51 Positionierung der Geraumlte beim Messaufbau 3152 Position des Lokalisierungssystem-Koordinatensystem zum Weltkoordinaten-

system 3253 Anfrage der Markerkoordinaten uumlber den MessageBus-Monitor 3354 Beispiel einer Trajektorie beim Artis zeego 34

Abkuumlrzungsverzeichnis

AX Angiography and Interventional X-Ray

AXCS Angiography and Interventional X-Ray Communication System

BU Business Unit

CAD computer-aided design (rechnerunterstuumltztes Konstruieren)

CT Computertomographie

ETW Eye-to-World Methode (Art der Hand-Auge-Kalibrierung)

HEC Hand-Auge-Kalibrierung (hand-eye-calibration)

IAE Interventional Application Engine

ILED infrared light emitting diode

IR- infrarot-

LKS Lokalisierungssystem-Koordinatensystem

NDI Northern Digital Inc

RFID Radio-Frequency-Identification

SCU System Control Unit

TCP Tool Center Point

WKS Welt-Koordinatensystem

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 2: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Chris Adolf

Integration und Test einerKoordinatensystemregistrierung am Beispiel eines

optischen Lokalisierungssystems

Bachelorthesis eingereicht im Rahmen der Bachelorpruumlfungim Studiengang Informations- und Elektrotechnikam Department Informations- und Elektrotechnikder Fakultaumlt Technik und Informatikder Hochschule fuumlr Angewandte Wissenschaften Hamburg

Betreuender Pruumlfer Prof Dr Annabella Rauscher-ScheibeZweitgutachter Dr Ing Holger Kunze

Abgegeben am 20012015

Chris Adolf

Thema der BachelorthesisIntegration und Test einer Koordinatensystemregistrierung am Beispiel eines opti-schen Lokalisierungssystems

StichworteHand-Auge-Kalibrierung Lokalisierungssystem Koordinatensystem Artis zeego Op-totrak Certus

KurzzusammenfassungDie vorliegende Arbeit beinhaltet neben aufgabenstellung-bezogenen Erklaumlrungenvon technischem Equipment eine detaillierte und schrittweise Erlaumluterung der Ar-beitsschritte zur Herbeifuumlhrung einer automatisierten Loumlsung einer Koordinatensys-temregistrierung

Chris Adolf

Title of the paperIntegration and test of a coordinate system registry using the example of an opticallocalization system

Keywordshand-eye calibration localization system coordinate system Artis zeego OptotrakCertus

AbstractIn addition to task-related explanations of technical equipment the present thesis in-cludes a detailed and step by step explanation of the work stages required to achievean automated solution to a coordinate system registry

Inhaltsverzeichnis

Kurzzusammenfassung II

Inhaltsverzeichnis III

Tabellenverzeichnis V

Abbildungsverzeichnis VI

Abkuumlrzungsverzeichnis VII

1 Einleitung 111 Einfuumlhrung 112 Motivation 313 Aufgabenstellung 3

2 Stand der Technik 521 Hand-Auge-Kalibrierung 522 Lokalisierungssysteme 7

221 Lokalisierung uumlber Elektromagnetische Felder 7222 Markerbasierte Lokalisierung 9223 Lokalisierung durch Tiefeninformationskameras 10

23 Zusammenfassung 12

3 Material und Methoden 1331 Artis zeego 1332 NDI Optotrak Certus 1633 Software 20

331 Microsoft Visual Studio 2008 20332 IAE 20

4 Konzept und Umsetzung 2141 Konzept 2142 Umsetzung 24

421 Aufbau des Lokalisierungssystems 24

Inhaltsverzeichnis IV

422 Initialisieren 25423 Markerkoordinaten auslesen 26424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung 28425 Kommunikation beenden 30

5 Messaufbau und Testablauf 31

6 Auswertung 35

7 Diskussion und Ausblick 39

8 Zusammenfassung 40

Literaturverzeichnis 41

Versicherung uumlber die Selbststaumlndigkeit 43

Tabellenverzeichnis

41 Datentypen eines Paketes 27

61 Ergebnisse der Koordinatensystemregistrierungen 3562 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen 37

Abbildungsverzeichnis

11 Auswirkungen von Kontrastmittel bei gleichzeitiger Durchleuchtung 112 Aktiver und passiver Marker 2

21 Veranschaulichung des Konzeptes einer Hand-Auge-Kalibrierung 622 Bestandteile eines RFID-Lokalisierungssystems 823 Funktionsweise Backscatter 924 Aktiver und passiver Marker 1025 Aufnahme einer Kinect ohne Plastikabdeckung 1126 IR-Gitter einer Kinect 11

31 Rotatorische und translatorische Achsen am Artis zeego 1432 Basis-Koordinatensystem des Artis zeego 1433 Optotrak Certus auf Stativ 1634 Basis-Koordinatensystem Optotrak Certus 1735 Grundsaumltzlicher System-Aufbau fuumlr Messung mit Optotrak Certus 18

41 Innerer Aufbau der IAE 2242 Konzept fuumlr Programmstruktur 2243 Uumlberblick uumlber die verwendeten Methoden 2344 Aufbau der Ethernet-Setup-Software von NDI 2545 Client-Server-Model 2646 Aufbau eines Allzweck-Datenpaketes 2747 Struktur zum Speichern von dreidimensionalen Koordinaten 2848 Sichtbarkeitskonstante 2849 Programmcode-Struktur 29410 Berechnung der Abstandsaumlnderung 30411 Umwandlung der Markerkoordinatenstruktur in Vector3 30

51 Positionierung der Geraumlte beim Messaufbau 3152 Position des Lokalisierungssystem-Koordinatensystem zum Weltkoordinaten-

system 3253 Anfrage der Markerkoordinaten uumlber den MessageBus-Monitor 3354 Beispiel einer Trajektorie beim Artis zeego 34

Abkuumlrzungsverzeichnis

AX Angiography and Interventional X-Ray

AXCS Angiography and Interventional X-Ray Communication System

BU Business Unit

CAD computer-aided design (rechnerunterstuumltztes Konstruieren)

CT Computertomographie

ETW Eye-to-World Methode (Art der Hand-Auge-Kalibrierung)

HEC Hand-Auge-Kalibrierung (hand-eye-calibration)

IAE Interventional Application Engine

ILED infrared light emitting diode

IR- infrarot-

LKS Lokalisierungssystem-Koordinatensystem

NDI Northern Digital Inc

RFID Radio-Frequency-Identification

SCU System Control Unit

TCP Tool Center Point

WKS Welt-Koordinatensystem

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 3: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Chris Adolf

Thema der BachelorthesisIntegration und Test einer Koordinatensystemregistrierung am Beispiel eines opti-schen Lokalisierungssystems

StichworteHand-Auge-Kalibrierung Lokalisierungssystem Koordinatensystem Artis zeego Op-totrak Certus

KurzzusammenfassungDie vorliegende Arbeit beinhaltet neben aufgabenstellung-bezogenen Erklaumlrungenvon technischem Equipment eine detaillierte und schrittweise Erlaumluterung der Ar-beitsschritte zur Herbeifuumlhrung einer automatisierten Loumlsung einer Koordinatensys-temregistrierung

Chris Adolf

Title of the paperIntegration and test of a coordinate system registry using the example of an opticallocalization system

Keywordshand-eye calibration localization system coordinate system Artis zeego OptotrakCertus

AbstractIn addition to task-related explanations of technical equipment the present thesis in-cludes a detailed and step by step explanation of the work stages required to achievean automated solution to a coordinate system registry

Inhaltsverzeichnis

Kurzzusammenfassung II

Inhaltsverzeichnis III

Tabellenverzeichnis V

Abbildungsverzeichnis VI

Abkuumlrzungsverzeichnis VII

1 Einleitung 111 Einfuumlhrung 112 Motivation 313 Aufgabenstellung 3

2 Stand der Technik 521 Hand-Auge-Kalibrierung 522 Lokalisierungssysteme 7

221 Lokalisierung uumlber Elektromagnetische Felder 7222 Markerbasierte Lokalisierung 9223 Lokalisierung durch Tiefeninformationskameras 10

23 Zusammenfassung 12

3 Material und Methoden 1331 Artis zeego 1332 NDI Optotrak Certus 1633 Software 20

331 Microsoft Visual Studio 2008 20332 IAE 20

4 Konzept und Umsetzung 2141 Konzept 2142 Umsetzung 24

421 Aufbau des Lokalisierungssystems 24

Inhaltsverzeichnis IV

422 Initialisieren 25423 Markerkoordinaten auslesen 26424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung 28425 Kommunikation beenden 30

5 Messaufbau und Testablauf 31

6 Auswertung 35

7 Diskussion und Ausblick 39

8 Zusammenfassung 40

Literaturverzeichnis 41

Versicherung uumlber die Selbststaumlndigkeit 43

Tabellenverzeichnis

41 Datentypen eines Paketes 27

61 Ergebnisse der Koordinatensystemregistrierungen 3562 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen 37

Abbildungsverzeichnis

11 Auswirkungen von Kontrastmittel bei gleichzeitiger Durchleuchtung 112 Aktiver und passiver Marker 2

21 Veranschaulichung des Konzeptes einer Hand-Auge-Kalibrierung 622 Bestandteile eines RFID-Lokalisierungssystems 823 Funktionsweise Backscatter 924 Aktiver und passiver Marker 1025 Aufnahme einer Kinect ohne Plastikabdeckung 1126 IR-Gitter einer Kinect 11

31 Rotatorische und translatorische Achsen am Artis zeego 1432 Basis-Koordinatensystem des Artis zeego 1433 Optotrak Certus auf Stativ 1634 Basis-Koordinatensystem Optotrak Certus 1735 Grundsaumltzlicher System-Aufbau fuumlr Messung mit Optotrak Certus 18

41 Innerer Aufbau der IAE 2242 Konzept fuumlr Programmstruktur 2243 Uumlberblick uumlber die verwendeten Methoden 2344 Aufbau der Ethernet-Setup-Software von NDI 2545 Client-Server-Model 2646 Aufbau eines Allzweck-Datenpaketes 2747 Struktur zum Speichern von dreidimensionalen Koordinaten 2848 Sichtbarkeitskonstante 2849 Programmcode-Struktur 29410 Berechnung der Abstandsaumlnderung 30411 Umwandlung der Markerkoordinatenstruktur in Vector3 30

51 Positionierung der Geraumlte beim Messaufbau 3152 Position des Lokalisierungssystem-Koordinatensystem zum Weltkoordinaten-

system 3253 Anfrage der Markerkoordinaten uumlber den MessageBus-Monitor 3354 Beispiel einer Trajektorie beim Artis zeego 34

Abkuumlrzungsverzeichnis

AX Angiography and Interventional X-Ray

AXCS Angiography and Interventional X-Ray Communication System

BU Business Unit

CAD computer-aided design (rechnerunterstuumltztes Konstruieren)

CT Computertomographie

ETW Eye-to-World Methode (Art der Hand-Auge-Kalibrierung)

HEC Hand-Auge-Kalibrierung (hand-eye-calibration)

IAE Interventional Application Engine

ILED infrared light emitting diode

IR- infrarot-

LKS Lokalisierungssystem-Koordinatensystem

NDI Northern Digital Inc

RFID Radio-Frequency-Identification

SCU System Control Unit

TCP Tool Center Point

WKS Welt-Koordinatensystem

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 4: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Inhaltsverzeichnis

Kurzzusammenfassung II

Inhaltsverzeichnis III

Tabellenverzeichnis V

Abbildungsverzeichnis VI

Abkuumlrzungsverzeichnis VII

1 Einleitung 111 Einfuumlhrung 112 Motivation 313 Aufgabenstellung 3

2 Stand der Technik 521 Hand-Auge-Kalibrierung 522 Lokalisierungssysteme 7

221 Lokalisierung uumlber Elektromagnetische Felder 7222 Markerbasierte Lokalisierung 9223 Lokalisierung durch Tiefeninformationskameras 10

23 Zusammenfassung 12

3 Material und Methoden 1331 Artis zeego 1332 NDI Optotrak Certus 1633 Software 20

331 Microsoft Visual Studio 2008 20332 IAE 20

4 Konzept und Umsetzung 2141 Konzept 2142 Umsetzung 24

421 Aufbau des Lokalisierungssystems 24

Inhaltsverzeichnis IV

422 Initialisieren 25423 Markerkoordinaten auslesen 26424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung 28425 Kommunikation beenden 30

5 Messaufbau und Testablauf 31

6 Auswertung 35

7 Diskussion und Ausblick 39

8 Zusammenfassung 40

Literaturverzeichnis 41

Versicherung uumlber die Selbststaumlndigkeit 43

Tabellenverzeichnis

41 Datentypen eines Paketes 27

61 Ergebnisse der Koordinatensystemregistrierungen 3562 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen 37

Abbildungsverzeichnis

11 Auswirkungen von Kontrastmittel bei gleichzeitiger Durchleuchtung 112 Aktiver und passiver Marker 2

21 Veranschaulichung des Konzeptes einer Hand-Auge-Kalibrierung 622 Bestandteile eines RFID-Lokalisierungssystems 823 Funktionsweise Backscatter 924 Aktiver und passiver Marker 1025 Aufnahme einer Kinect ohne Plastikabdeckung 1126 IR-Gitter einer Kinect 11

31 Rotatorische und translatorische Achsen am Artis zeego 1432 Basis-Koordinatensystem des Artis zeego 1433 Optotrak Certus auf Stativ 1634 Basis-Koordinatensystem Optotrak Certus 1735 Grundsaumltzlicher System-Aufbau fuumlr Messung mit Optotrak Certus 18

41 Innerer Aufbau der IAE 2242 Konzept fuumlr Programmstruktur 2243 Uumlberblick uumlber die verwendeten Methoden 2344 Aufbau der Ethernet-Setup-Software von NDI 2545 Client-Server-Model 2646 Aufbau eines Allzweck-Datenpaketes 2747 Struktur zum Speichern von dreidimensionalen Koordinaten 2848 Sichtbarkeitskonstante 2849 Programmcode-Struktur 29410 Berechnung der Abstandsaumlnderung 30411 Umwandlung der Markerkoordinatenstruktur in Vector3 30

51 Positionierung der Geraumlte beim Messaufbau 3152 Position des Lokalisierungssystem-Koordinatensystem zum Weltkoordinaten-

system 3253 Anfrage der Markerkoordinaten uumlber den MessageBus-Monitor 3354 Beispiel einer Trajektorie beim Artis zeego 34

Abkuumlrzungsverzeichnis

AX Angiography and Interventional X-Ray

AXCS Angiography and Interventional X-Ray Communication System

BU Business Unit

CAD computer-aided design (rechnerunterstuumltztes Konstruieren)

CT Computertomographie

ETW Eye-to-World Methode (Art der Hand-Auge-Kalibrierung)

HEC Hand-Auge-Kalibrierung (hand-eye-calibration)

IAE Interventional Application Engine

ILED infrared light emitting diode

IR- infrarot-

LKS Lokalisierungssystem-Koordinatensystem

NDI Northern Digital Inc

RFID Radio-Frequency-Identification

SCU System Control Unit

TCP Tool Center Point

WKS Welt-Koordinatensystem

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 5: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Inhaltsverzeichnis IV

422 Initialisieren 25423 Markerkoordinaten auslesen 26424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung 28425 Kommunikation beenden 30

5 Messaufbau und Testablauf 31

6 Auswertung 35

7 Diskussion und Ausblick 39

8 Zusammenfassung 40

Literaturverzeichnis 41

Versicherung uumlber die Selbststaumlndigkeit 43

Tabellenverzeichnis

41 Datentypen eines Paketes 27

61 Ergebnisse der Koordinatensystemregistrierungen 3562 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen 37

Abbildungsverzeichnis

11 Auswirkungen von Kontrastmittel bei gleichzeitiger Durchleuchtung 112 Aktiver und passiver Marker 2

21 Veranschaulichung des Konzeptes einer Hand-Auge-Kalibrierung 622 Bestandteile eines RFID-Lokalisierungssystems 823 Funktionsweise Backscatter 924 Aktiver und passiver Marker 1025 Aufnahme einer Kinect ohne Plastikabdeckung 1126 IR-Gitter einer Kinect 11

31 Rotatorische und translatorische Achsen am Artis zeego 1432 Basis-Koordinatensystem des Artis zeego 1433 Optotrak Certus auf Stativ 1634 Basis-Koordinatensystem Optotrak Certus 1735 Grundsaumltzlicher System-Aufbau fuumlr Messung mit Optotrak Certus 18

41 Innerer Aufbau der IAE 2242 Konzept fuumlr Programmstruktur 2243 Uumlberblick uumlber die verwendeten Methoden 2344 Aufbau der Ethernet-Setup-Software von NDI 2545 Client-Server-Model 2646 Aufbau eines Allzweck-Datenpaketes 2747 Struktur zum Speichern von dreidimensionalen Koordinaten 2848 Sichtbarkeitskonstante 2849 Programmcode-Struktur 29410 Berechnung der Abstandsaumlnderung 30411 Umwandlung der Markerkoordinatenstruktur in Vector3 30

51 Positionierung der Geraumlte beim Messaufbau 3152 Position des Lokalisierungssystem-Koordinatensystem zum Weltkoordinaten-

system 3253 Anfrage der Markerkoordinaten uumlber den MessageBus-Monitor 3354 Beispiel einer Trajektorie beim Artis zeego 34

Abkuumlrzungsverzeichnis

AX Angiography and Interventional X-Ray

AXCS Angiography and Interventional X-Ray Communication System

BU Business Unit

CAD computer-aided design (rechnerunterstuumltztes Konstruieren)

CT Computertomographie

ETW Eye-to-World Methode (Art der Hand-Auge-Kalibrierung)

HEC Hand-Auge-Kalibrierung (hand-eye-calibration)

IAE Interventional Application Engine

ILED infrared light emitting diode

IR- infrarot-

LKS Lokalisierungssystem-Koordinatensystem

NDI Northern Digital Inc

RFID Radio-Frequency-Identification

SCU System Control Unit

TCP Tool Center Point

WKS Welt-Koordinatensystem

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 6: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Tabellenverzeichnis

41 Datentypen eines Paketes 27

61 Ergebnisse der Koordinatensystemregistrierungen 3562 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen 37

Abbildungsverzeichnis

11 Auswirkungen von Kontrastmittel bei gleichzeitiger Durchleuchtung 112 Aktiver und passiver Marker 2

21 Veranschaulichung des Konzeptes einer Hand-Auge-Kalibrierung 622 Bestandteile eines RFID-Lokalisierungssystems 823 Funktionsweise Backscatter 924 Aktiver und passiver Marker 1025 Aufnahme einer Kinect ohne Plastikabdeckung 1126 IR-Gitter einer Kinect 11

31 Rotatorische und translatorische Achsen am Artis zeego 1432 Basis-Koordinatensystem des Artis zeego 1433 Optotrak Certus auf Stativ 1634 Basis-Koordinatensystem Optotrak Certus 1735 Grundsaumltzlicher System-Aufbau fuumlr Messung mit Optotrak Certus 18

41 Innerer Aufbau der IAE 2242 Konzept fuumlr Programmstruktur 2243 Uumlberblick uumlber die verwendeten Methoden 2344 Aufbau der Ethernet-Setup-Software von NDI 2545 Client-Server-Model 2646 Aufbau eines Allzweck-Datenpaketes 2747 Struktur zum Speichern von dreidimensionalen Koordinaten 2848 Sichtbarkeitskonstante 2849 Programmcode-Struktur 29410 Berechnung der Abstandsaumlnderung 30411 Umwandlung der Markerkoordinatenstruktur in Vector3 30

51 Positionierung der Geraumlte beim Messaufbau 3152 Position des Lokalisierungssystem-Koordinatensystem zum Weltkoordinaten-

system 3253 Anfrage der Markerkoordinaten uumlber den MessageBus-Monitor 3354 Beispiel einer Trajektorie beim Artis zeego 34

Abkuumlrzungsverzeichnis

AX Angiography and Interventional X-Ray

AXCS Angiography and Interventional X-Ray Communication System

BU Business Unit

CAD computer-aided design (rechnerunterstuumltztes Konstruieren)

CT Computertomographie

ETW Eye-to-World Methode (Art der Hand-Auge-Kalibrierung)

HEC Hand-Auge-Kalibrierung (hand-eye-calibration)

IAE Interventional Application Engine

ILED infrared light emitting diode

IR- infrarot-

LKS Lokalisierungssystem-Koordinatensystem

NDI Northern Digital Inc

RFID Radio-Frequency-Identification

SCU System Control Unit

TCP Tool Center Point

WKS Welt-Koordinatensystem

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 7: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Abbildungsverzeichnis

11 Auswirkungen von Kontrastmittel bei gleichzeitiger Durchleuchtung 112 Aktiver und passiver Marker 2

21 Veranschaulichung des Konzeptes einer Hand-Auge-Kalibrierung 622 Bestandteile eines RFID-Lokalisierungssystems 823 Funktionsweise Backscatter 924 Aktiver und passiver Marker 1025 Aufnahme einer Kinect ohne Plastikabdeckung 1126 IR-Gitter einer Kinect 11

31 Rotatorische und translatorische Achsen am Artis zeego 1432 Basis-Koordinatensystem des Artis zeego 1433 Optotrak Certus auf Stativ 1634 Basis-Koordinatensystem Optotrak Certus 1735 Grundsaumltzlicher System-Aufbau fuumlr Messung mit Optotrak Certus 18

41 Innerer Aufbau der IAE 2242 Konzept fuumlr Programmstruktur 2243 Uumlberblick uumlber die verwendeten Methoden 2344 Aufbau der Ethernet-Setup-Software von NDI 2545 Client-Server-Model 2646 Aufbau eines Allzweck-Datenpaketes 2747 Struktur zum Speichern von dreidimensionalen Koordinaten 2848 Sichtbarkeitskonstante 2849 Programmcode-Struktur 29410 Berechnung der Abstandsaumlnderung 30411 Umwandlung der Markerkoordinatenstruktur in Vector3 30

51 Positionierung der Geraumlte beim Messaufbau 3152 Position des Lokalisierungssystem-Koordinatensystem zum Weltkoordinaten-

system 3253 Anfrage der Markerkoordinaten uumlber den MessageBus-Monitor 3354 Beispiel einer Trajektorie beim Artis zeego 34

Abkuumlrzungsverzeichnis

AX Angiography and Interventional X-Ray

AXCS Angiography and Interventional X-Ray Communication System

BU Business Unit

CAD computer-aided design (rechnerunterstuumltztes Konstruieren)

CT Computertomographie

ETW Eye-to-World Methode (Art der Hand-Auge-Kalibrierung)

HEC Hand-Auge-Kalibrierung (hand-eye-calibration)

IAE Interventional Application Engine

ILED infrared light emitting diode

IR- infrarot-

LKS Lokalisierungssystem-Koordinatensystem

NDI Northern Digital Inc

RFID Radio-Frequency-Identification

SCU System Control Unit

TCP Tool Center Point

WKS Welt-Koordinatensystem

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 8: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Abkuumlrzungsverzeichnis

AX Angiography and Interventional X-Ray

AXCS Angiography and Interventional X-Ray Communication System

BU Business Unit

CAD computer-aided design (rechnerunterstuumltztes Konstruieren)

CT Computertomographie

ETW Eye-to-World Methode (Art der Hand-Auge-Kalibrierung)

HEC Hand-Auge-Kalibrierung (hand-eye-calibration)

IAE Interventional Application Engine

ILED infrared light emitting diode

IR- infrarot-

LKS Lokalisierungssystem-Koordinatensystem

NDI Northern Digital Inc

RFID Radio-Frequency-Identification

SCU System Control Unit

TCP Tool Center Point

WKS Welt-Koordinatensystem

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 9: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

1 Einleitung

Die Einleitung soll dem Leser einen Uumlberblick uumlber die Aufgabenstellung und den Aufbau dervorliegenden Arbeit verschaffen (siehe Kapitel 13) Zunaumlchst wird in Kapitel 11 darauf ein-gegangen in welches Themengebiet die vorliegende Arbeit einzuordnen ist Anschlieszligend(vgl Kapitel 12) wird erlaumlutert aus welchem Problem die Aufgabenstellung entstand

11 Einfuumlhrung

Angiographie ist die roumlntgenographische Darstellung von Blut- oder Lymphgefaumlszligen nachInjektion eines Kontrastmittels [1 S1]Mittels intraarterieller oder intravenoumlser Zufuumlhrung des Kontrastmittels werden die Gefaumlszligefuumlr das Angiographie-System sichtbar gemacht und koumlnnen anschlieszligend aufgenommenwerden

Abbildung 11 Die Abbildung verdeutlicht die Auswirkungen von Kontrastmittel im Koumlrperdes Menschen bei gleichzeitiger Durchleuchtung mit einem RoumlntgengeraumltDargestellt sind die rechte mittlere Hirnarterie und Teile des Gehirns [2]

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 10: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

1 Einleitung 2

Um hochaufloumlsende klare und aussagekraumlftige Bilder aufnehmen zu koumlnnen wird die For-schung und Entwicklung der Roumlntgengeraumlte immer weiter intensiviert Stand der Techniksind bereits dreidimensionale Aufnahmen von Weichteilgewebe mit Hilfe eines C-Bogen-Roumlntgengeraumltes Dabei rotiert das System um den Patienten und nimmt mehrere hundertBilder auf Im Anschluss werden die Aufnahmen zu einem hochaufloumlsenden 3D-Bild zusam-mengerechnet

(a) Artis zeego (b) 3D Rekonstruktion

Abbildung 12 (a) Zeigt das Artis zeego exemplarisch fuumlr ein Angiographie-System Zu er-kennen ist der C-Bogen welcher um den Patienten herum rotieren kann Ausden aufgenommenen Bildern ist eine 3D-Rekonstruktion moumlglich [3] (b) Dar-gestellt ist die 3D-Rekonstruktion einer linken Lungenarterie aus mehrerenhundert 2D-Bildern [4]

Die Business Unit (BU) Angiography and Interventional X-Ray (AX) der Siemens AG forschtua auf dem Gebiet der medizinischen Bildgebung Mit Hilfe moderner Robotertechnik undneuen Bildverarbeitungsverfahren soll dabei die Zahl der minimal-invasiven Behandlungenerhoumlht und die Kosten und Folgen von chirurgischen Eingriffen vermindert werden DieseZiele werden neben der Zeit- und Dosiseinsparung auch mit der Ermoumlglichung von Bildernaus verschiedenen Winkeln und der multimodalitaumlren Fusion erreichtDie Anforderungen an das kontinuierlich zu modernisierende technische Equipment sindbesonders hoch Hier wird das groumlszligte Potential fuumlr Innovation und Prozessoptimierung ge-sehen

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 11: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

1 Einleitung 3

12 Motivation

In der modernen Medizintechnik steigt das Gesuch nach schnelleren und praumlziseren Eingrif-fen Immer haumlufiger wird sich deshalb der Assistenz von technischem Equipment bedientDieses bietet neue Applikationen und ermoumlglicht damit effizientere Untersuchungen DieFlexibilitaumlt der technischen Geraumlte und die Moumlglichkeit der freien Beweglichkeit im Raumbirgt jedoch auch Gefahren fuumlr die anwesenden Personen und Objekte Neben koumlrperlichenVerletzungen koumlnnen auch kostenintensive Beschaumldigungen an den Geraumlten entstehen Ausdiesen Gruumlnden ist es notwendig die Geraumlte zueinander bekannt zu machen um damit eineKollisionsvermeidung zu unterstuumltzenFuumlr eine erfolgreiche Bestimmung der Position der eingesetzten Geraumlte muumlssen diese zuein-ander registriert werden Mit Hilfe der Registrierung werden die durch ein Lokalisierungssys-tem bestimmten Geraumlte in ein gemeinsames Koordinatensystem abgebildet Dadurch kanndie Lage der Geraumlte zueinander eindeutig bestimmt werdenAus [5] ist eine Art der Hand-Auge-Kalibrierung (hand-eye-calibration HEC) bekannt die mit-tels aktiver optischer Marker eine Registrierung des Lokalisierungssystems zu einem medizi-nischen System ermoumlglicht Die Registriermethode erfordert eine manuelle Vorgehensweisemit mehreren Einzelschritten und setzt eine gute Kenntnis der mathematischen Grundlagenund des Ablaufs des Algorithmus voraus

13 Aufgabenstellung

In der vorliegenden Arbeit wird eine HEC exemplarisch fuumlr ein optisches Lokalisierungs-system automatisiert und in ein medizinisches Geraumlt integriert Hierfuumlr wird ein Programmzur kontinuierlichen Datenaufnahme Verarbeitung und Modulierung der von einem Loka-lisierungssystem gesendeten Datenpakete erarbeitet und programmiert Weiterhin wird ei-ne Kommunikation uumlber ein Message-System realisiert um den kontinuierlichen Datenaus-tausch zwischen dem Lokalisierungssystem und dem medizinischen System zu gewaumlhrleis-tenAnhand eines prototypischen Systemaufbaus wird die Funktionalitaumlt der Arbeitsergebnisseuntersucht und ausgewertet

Die vorliegende Arbeit gliedert sich in acht Kapitel In Kapitel 2 werden neben der verwen-deten Hand-Auge-Kalibriermethode verschiedene mit der Aufgabenstellung kompatible Lo-kalisierungssysteme und deren Funktionsweisen erlaumlutert In Kapitel 3 werden die Geraumltebeschrieben die zur Loumlsung der Aufgabenstellung und fuumlr den prototypischen Systemauf-bau ihre Anwendung finden Kapitel 4 dient der Erlaumluterung der Erstellung eines Konzeptesund dessen Umsetzung Bestandteil vom 5 Kapitel ist die Veranschaulichung eines proto-typischen Systemaufbaus und die Erlaumluterung der Arbeitsschritte Anschlieszligend werden in

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 12: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

1 Einleitung 4

Kapitel 6 die Messergebnisse analysiert und ausgewertet Kapitel 7 diskutiert die Messer-gebnisse und gibt einen kritischen Ausblick auf die Verbesserungsmoumlglichkeiten Abschlie-szligend werden in Kapitel 8 die Ergebnisse der vorliegenden Arbeit zusammengefasst

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 13: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

2 Stand der Technik

Im folgenden Kapitel wird der Stand der Technik fuumlr die zugrunde liegende Aufgabenstel-lung erlaumlutert Abschnitt 21 veranschaulicht die Registriermethode nach dem Hand-AugePrinzip Dabei wird auf die Funktionsweise und die Bedeutung fuumlr die Durchfuumlhrung einerRegistrierung eingegangen Anschlieszligend werden in Abschnitt 22 die verschiedenen Lo-kalisierungssysteme vorgestellt welche aufgrund des generischen Aufbaus der Loumlsung derAufgabenstellung ihren Einsatz bei einer automatischen Registrierung finden koumlnnen

21 Hand-Auge-Kalibrierung

In der Robotik stellt die Hand-Auge Kalibrierung eine verbreitete Vorgehensweise dar umein auf einem Roboter montiertes Lokalisierungssystem (zB eine Kamera) zu dem Roboter(zB Greifer) zu kalibrieren Dabei wird das Lokalisierungssystem durch das Auge darge-stellt und der Greifer repraumlsentiert die Hand Soll die Hand nun ein vom Auge gesehenesObjekt greifen muss die relative Lage zwischen Kamera und Greifer durch die Hand-Auge-Kalibrierung errechnet werdenUm die Hand-Auge Transformation zu erhalten muumlssen mindestens zwei bekannte relati-ve Bewegungen des Roboters mit nicht parallelen Drehachsen ausgefuumlhrt werden [5 S1]Dadurch werden drei Posen mit verschiedenen Drehachsen angefahren Durch diese Posenkoumlnnen die Transformations-Matrizen anschlieszligend eindeutig bestimmt werden [6] Je mehrBewegungen fuumlr die Errechnung der Transformation ausgefuumlhrt werden desto praumlziser wirddie Abschaumltzung

Dieser Sachverhalt ist auf die Kollisionsvermeidung zwischen technischen Einrichtun-gen uumlbertragbar Mit Hilfe der HEC wird das Koordinatensystem des Messinstrumentes(Lokalisierungssystem-Koordinatensystem LKS) in das vom medizinischen Geraumlt genutzteWelt-Koordinatensystem (WKS) transformiert Wird eine HEC erfolgreich durchgefuumlhrt kannanschlieszligend die Position der Marker des Lokalisierungssystems in das WKS uumlbertragenund somit vom medizinischen Geraumlt genutzt werden Ist die Position der Marker im Vorfeldnicht bekannt muumlssen diese waumlhrend der Bewegungen die zur Errechnung der Transforma-tionsmatrix noumltig sind starr am Objekt befestigt sein Weiterhin sind mindestens drei Markernotwendig um die Relativbewegungen des Roboters abbilden zu koumlnnen Die drei Marker

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 14: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

2 Stand der Technik 6

erlauben ein eindeutiges Erfassen der sechs Freiheitsgrade (Translationen x y und z sowieRotationen roll pitch und yaw [7]) bei jeder Bewegung des Roboters im Raum

Es gibt zwei verschiedene Arten der Hand-Auge-Registrierung Zum einen die Hand-Auge-Kalibrierung bei der eine Kamera fest auf einen Roboter montiert wird und zum Anderendie Eye-to-World-Methode (ETW) bei der das LKS zum WKS bekannt gemacht werden sollLetztere Methode findet Anwendung bei der Loumlsung der Aufgabenstellung Abbildung 21veranschaulicht das Konzept der ETW

Abbildung 21 Veranschaulichung der HEC mit Hilfe eines optischen Lokalisierungssystemsund einem Roboter welcher zwei verschiedene Positionen anfaumlhrt Die Ori-entierung und die Positionen des Tool Center Point (TCP) sind bezuumlglich desWKS bekannt (A1 und A2) Weiterhin repraumlsentieren B1 und B2 die Koor-dinaten der optischen Marker gemessen durch die Kamera A steht fuumlr dierelative Bewegung des TCP im WKS und B fuumlr die relative Bewegung derMarker im LKS Neben der unbekannten Transformation zwischen WKS undLKS (Z) gibt es eine weitere unbekannte Transformation zwischen dem TCPund den Markern des optischen Lokalisierungssystems (X) [5]

Die ETW kann uumlber die folgende homogene 4x4 Matrizen-Gleichung ausgedruumlckt werden

AX = ZB (21)

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 15: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

2 Stand der Technik 7

Jede Matrix aus der Gleichung 21 besteht aus einer 3x3 Rotations-Matrix und einem 3x1Translations-Vektor [7 S15] Exemplarisch ist dies in Gleichung 22 fuumlr die Matrix A darge-stellt

A =

[RA ~tA

0 1

](22)

Z ist die unbekannte Transformationsmatrix zwischen dem LKS und dem WKS Die Matrix Awird mit Hilfe der kinematischen Kette1 des Roboters errechnet und Transformation B wirddurch das Lokalisierungssystem erfasstIn der vorliegenden Gleichung 21 sind A und B bekannt und X sowie Z unbekannt Die Be-rechnung der unbekannten Transformationsmatrix Z wird mit Hilfe eines bereits vorhandenenProgrammcodes realisiert Inhalt der vorliegenden Arbeit ist es die kontinuierliche Uumlbermitt-lung der Markerkoordinaten (siehe Abbildung 21 Positionen B1 und B2) an das Programmzu realisieren und den Registriervorgang teil zu automatisieren

22 Lokalisierungssysteme

Ein Lokalisierungssystem ist die Gesamtheit von Elementen die zur Lokalisierung einesGegenstandes im Raum kooperieren [9] In der Regel erfolgen die Angaben zur Positiondes Objektes in drei Dimensionen (3D) mit Bezug auf ein kartesisches KoordinatensystemDurch Methoden wie zB Ortung uumlber elektromagnetische Felder oder einer optischen Lo-kalisierung kann die Position eines sich um Raum befindlichen Objektes bezogen auf dasLokalisierungssystem bestimmt werden Wird das Lokalisieren automatisiert ist es moumlglichLokalisierungssysteme auch zum sogenannten Tracking2 zu nutzenIm Folgenden werden ausgewaumlhlte Lokalisierungstechnologien zur Raumuumlberwachung vor-gestellt die im Rahmen der HEC verwendet werden koumlnnten

221 Lokalisierung uumlber Elektromagnetische Felder

Zur Identifikation und zum Auslesen von elektronischen Datentraumlgern ohne diese direkt zukontaktieren kommen technische Verfahren zum Einsatz die aus der Funk- und Radar-technik bekannt sind [10 S6] Radio-Frequency-Identification (RFID) ist eine Technologiedie Daten mit Hilfe von elektromagnetischen Feldern austauscht Neben zahlreichen Vortei-len wie zB Kopiersicherheit von Daten oder Unempfindlichkeit gegen Verschmutzung oder

1ist die Beschreibung der Translationen und Rotationen jedes Gelenkes eines fest mit der Umgebung verbun-den Roboters vom Basis-Koordinatensystem bis zum Endeffektor [8 S18]

2ist das kontinuierliche Uumlbermitteln und Verarbeiten der Position eines Objektes

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 16: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

2 Stand der Technik 8

Naumlsse bietet das RFID-Verfahren auch die Moumlglichkeit der kontakt- und kabellosen Lokali-sierung von ObjektenDie Reichweite des Systems resultiert dabei aus der Betriebsfrequenz auf der das Erfas-sungsgeraumlt3 sendet Ein weiteres Unterscheidungskriterium zwischen RFID-Systemen ist dieDatenmenge die ein RFID-Transponder speichern kann Diese reicht von einem Bit bis zumehreren kBytesEin schematischer Aufbau einer RFID-Einrichtung ist in Abbildung 22 dargestellt

Abbildung 22 Ein Transponder und ein Erfassungsgeraumlt sind die zwei Grundbestandteile ei-nes RFID-Systems Auf dem Transponder sind die objekt-spezifischen Datengespeichert Das Erfassungsgeraumlt liefert die Energie und den Takt an denTransponder Befindet sich der Transponder innerhalb des Sendebereichsdes Erfassungsgeraumltes wird dieser aktiviert und kann Informationen uumlber-tragen [10 S8]

RFID-Transponder bestehen meist aus einem Mikrochip und einem Koppelelement4 Handeltes sich um einen passiven Transponder kommt dieser ohne Batterie aus Die noumltige Energiefuumlr seine Versorgung entnimmt der passive Transponder dem elektromagnetischen Feld desErfassungsgeraumltesFuumlr eine kontaktlose Lokalisierung wird zum groumlszligten Teil nach dem Prinzip der Backscatter-Kopplung gearbeitet Es handelt sich um ein Ultra-Hoch-Frequenz (Ultra-High-FrequencyUHF) Verfahren das angewendet wird wenn das Erfassungsgeraumlt und der Transponder mehrals einen Meter voneinander entfernt sind Durch die kurzen Wellenlaumlngen sind die Abmes-sungen der Antennen kleiner und der Wirkungsgrad ist houmlher [10 S56]Der Transponder wird bei diesem Verfahren von der abgestrahlten Leistung des Erfas-sungsgeraumltes gespeist Um die Reichweite des Systems zu erweitern verfuumlgen Backscatter-Transponder haumlufig uumlber eine Stuumltzbatterie zur Energieversorgung des Chips [10 S57] DerVorgang des Backscatterns wird in Abbildung 23 erlaumlutert

3oft zum besseren Verstaumlndnis auch als Lesegeraumlt bezeichnet (vgl [10])4Antenne Spule Leiterschleife

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 17: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

2 Stand der Technik 9

Abbildung 23 Die gesendete Leistung des Erfassungsgeraumltes wird nach Erreichen desTransponders durch Dioden gleichgerichtet und zur Aktivierung des Mikro-chips verwendet Je nach Betrag der empfangenen Leistung kann diese auchzur Energieversorgung fuumlr den Chip ausreichen Ein Teil der empfangenenLeistung wird an der Antenne des Transponders reflektiert und zum Erfas-sungsgeraumlt zuruumlckgesendet Die Eigenschaften der Antenne des Transpon-ders koumlnnen durch den Lastwiderstand beeinflusst werden Dabei wird derLastwiderstand im Takt des zu uumlbertragenden Datenstroms ein- und ausge-schaltet wodurch sich die Amplitude des zuruumlckgesendeten Signals modu-lieren laumlsst Das reflektierte Signal laumluft in bdquoRuumlckwaumlrtsrichtungldquo beim Erfas-sungsgeraumlt ein und kann durch den Richtkoppler separiert und verarbeitetwerden (vgl [10 S58])

RFID-Transponder koumlnnen sehr klein und schmal gebaut werden und finden somit auf zBEtiketten wie auch in Chipkarten Platz

222 Markerbasierte Lokalisierung

Die markerbasierte Lokalisierung zaumlhlt zu den optischen Lokalisierungsmethoden Bei die-ser Art der Lokalisierung werden Kameras zur Erfassung der Marker verwendet Um eineLokalisierung durchfuumlhren zu koumlnnen muss immer bdquoSichtkontaktldquo zwischen dem zu orten-den Objekt und der Kamera bestehenEs gibt zwei Arten von Markern aktiv oder passiv Aktive Marker senden nach ihrer Ansteue-rung ein Signal aus auf das die Kamera getriggert ist So finden zB Infrarot-LED-Markerihre Anwendung Passive Marker werden nicht extra angesteuert Sie koumlnnen zB mit einerfluoreszierenden Schicht uumlberzogen sein und somit von einer Infrarot-Kamera gut erkanntwerdenDie messenden Kameras werden auf diese Art der Erfassung ausgerichtet Somit kann derRechenaufwand zur Lokalisierung des Objektes erheblich vermindert werden Ein weitererVorteil ist dass dadurch die Positionsbestimmung zusaumltzlich unempfindlich gegen irrelevanteFremdbeeinflussung wird

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 18: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

2 Stand der Technik 10

(a) Aktiver Marker (b) Passiver Marker

Abbildung 24 (a) Aktiver Marker der Firma Northern Digital Inc Der Marker besteht auseiner Infrarot-LED die auf einer Polymerbasis (Durchmesser 11mm) ange-bracht ist Die Leitung (grau) ist zur Ansteuerung und Spannungsversorgung(b) Passiver Marker der Firma Brainlab Die Marker sind mit einer fluoreszie-renden Schicht uumlberzogen und nahezu kugelfoumlrmig [11]

223 Lokalisierung durch Tiefeninformationskameras

Mit einer einfachen Farbkamera koumlnnen statische Bilder die aus Pixeln mit Rot- Gruumln- undBlauanteilen bestehen aufgenommen werden Es entsteht ein 2D-Farbbild bei dem es nurbegrenzt moumlglich ist Tiefeninformationen des aufgenommenen Motivs zu erhalten Aus Sichtder Lokalisierung hat das 2D-Bild somit kaum einen NutzenFuumlr eine dreidimensionale Lokalisierung werden zusaumltzliche Informationen benoumltigt Die-se Informationen koumlnnen Tiefeninformationskameras liefern Im Gegensatz zu 2D-Kameraskoumlnnen diese speziellen Kameras Entfernungsinformationen liefern Um die Funktionsweiseund den Nutzen einer Tiefeninformationskamera zu veranschaulichen wird im Folgendendie bdquoKinectldquo von Microsoftcopy als Beispiel vorgestellt

Die Kinect ist eine Kamera die neben der X- und Y-Koordinaten auch Informationen uumlberdie Entfernung der aufgenommenen Objekte zur Kamera gibt [12] In Abbildung 25 ist derinnere Aufbau der Kinect zu sehen

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 19: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

2 Stand der Technik 11

Abbildung 25 Die Kinect hat neben mehreren Mikrofonen und einem Motor zur Houmlhenver-stellung einen Infrarot(IR)-Projektor (a) und zwei Kameras Die eine Kameraist eine Farbkamera (b) die farbige 2D-Bilder aufnimmt Die andere Kameraist eine IR-Kamera (c) die die vom IR-Projektor ausgesendeten Punkte auf-zeichnet Die messbaren Entfernungen gehen dabei von 508 cm (20 inches)bis zu 762 cm (25 feet) [12 S3]

IR-Licht hat eine houmlhere Wellenlaumlnge als sichtbares Licht und ist vom menschlichen Augenicht wahrnehmbar Diese Eigenschaft und die Tatsache dass es ungefaumlhrlich fuumlr Menschenist erklaumlrt die Anwendung bei TiefeninformationskamerasDie Kinect arbeitet mit dem Entsenden eines Gitters aus IR-Licht-Punkten (ausgestrahltdurch den IR-Projektor) das von der IR-Kamera aufgenommen wird In Abbildung 26 istdas IR-Gitter zu erkennen

Abbildung 26 Wird ein Objekt in das projizierte IR-Gitter gehalten veraumlndert sich die Gitter-struktur je nach Entfernung des Objektes zur Kinect Die IR-Kamera nimmtdie veraumlnderte Gitterstruktur auf und kann somit die Tiefeninformation ermit-teln und in eine Distanz der Objekte zur Kamera umwandeln [12 S4]

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 20: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

2 Stand der Technik 12

Bei einer werksseitigen Kalibrierung der Kinect werden die IR-Punkte gegen eine flacheWand in einer bekannten Entfernung projiziert Dadurch ist die Anordnung der Punkte inner-halb der IR-Gitterstruktur fuumlr eine bestimmte Entfernung bekannt und kalibriertDie entstehenden Bilder unterscheiden sich grundlegend von denen einer Farbkamera Beiden Tiefeninformationsbildern handelt es sich um schwarz-weiszlige Bilder bei denen die Hel-ligkeit des Pixels fuumlr die Entfernung des Objektes zur Kamera steht Dabei geht die Skalaeines jeden Bildpixels von Null (schwarz weit weg) bis zu 255 (weiszlig dicht an der Kamera)Diese Information ermoumlglicht es bdquo[] zweidimensionale Graustufenpixel in dreidimensionalePunkte im Raum [] [12 S xii] ldquo umzurechnen Dadurch wird eine Lokalisierung von Objek-ten mit Hilfe von Tiefeninformationskameras moumlglich

23 Zusammenfassung

Fuumlr die Demonstration der Automatisierung und Integration einer Systemkoordinatenregis-trierung wurde die verfuumlgbare NDI Optotrak Certus als Lokalisierungssystem verwendet Diedabei zur Anwendung gebrachte Technologie der Lokalisierung ist jedoch fuumlr die Realisie-rung der Integration nicht relevant da grundsaumltzlich nur Koordinatendaten weiterverarbeitetwerden Da der Loumlsungsansatz generisch ausgerichtet ist koumlnnen somit alle Lokalisierungs-systeme integriert werden deren Daten Koordinatensystempunkte beinhalten

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 21: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

3 Material und Methoden

Im Folgenden werden die verwendeten Geraumlte und die Software vorgestellt Es wird derenFunktionsweise und Bedeutung fuumlr die Loumlsung der Aufgabenstellung herausgestellt Nebendem Artis zeego (siehe Kapitel 31) wird die Optotrak Certus als Beispiel eines optischenLokalisierungssystem vorgestellt (siehe Kapitel 32) Anschlieszligend wird in Kapitel 33 dieeinbezogene Software erlaumlutert

31 Artis zeego

Das Artis zeego ist ein Angiographie-System Es entstand unter dem Aspekt der Optimie-rung von Zeit Kosten Bildqualitaumlt und Flexibilitaumlt Das Besondere an dem Artis-System istdie integrierte Industrierobotertechnik Dabei besteht der Roboterarm aus sechs rotatori-schen Gelenken Ergaumlnzt wird dies durch die Anbindung der Roumlhre und des Flachdetektorsan den C-Bogen uumlber jeweilige rotatorische Achsen sowie einer translatorischen Achse zwi-schen diesen beiden bildgebenden Komponenten Damit kann die Entfernung zum Patientenoptimal eingestellt werden (siehe Abbildung 31)

Das Artis-System kann durch die sechs Achsen sehr flexibel um den Patienten herum po-sitioniert werden Dies bietet dem Arzt bei einer Durchleuchtung waumlhrend einer Interventionmit dem Artis zeego einen besseren Zugang zum Patienten Zusaumltzlich kann durch das Ver-fahren des Artis zeego in eine Ruheposition ein groumlszligerer Freiraum fuumlr das behandelndePersonal geschaffen werdenDurch die fortschrittliche Technik kann der Flachdetektor schnell und praumlzise um den Patien-ten rotieren Das akkurate Abfahren der Trajektorien1 ermoumlglicht dem Anwender die Anferti-gung von CT-aumlhnlichen Bildern [13]

Die Kommunikation zwischen den Komponenten des Artis zeego findet uumlber das sogenann-te AXCS (Angiography and Interventional X-Ray Communication System) statt Dieses te-legrammbasierte System sorgt ua fuumlr den Austausch von Datenpaketen entsprechenderKomponenten

1ist die Kurve im n-dimensionalen Raum eines dynamischen (Roboter-)Systems in einem n-dimensionalenKoordinatensystem [8 S106]

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 22: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

3 Material und Methoden 14

Abbildung 31 Zu sehen sind die verschiedenen Achsen des Artis zeego die ein hohes Maszligan Flexibilitaumlt ermoumlglichen [3]

Uumlber das AXCS werden auch die Daten des Koordinatensystems des Roboters (CarmCS)geschickt Dieses CarmCS ist zum Basis-Koordinatensystem (siehe Abbildung 32) regis-triert

Abbildung 32 Das Basis-Koordinatensystem des Artis zeego liegt im Mittelpunkt derGrundplatte des Patiententisches Das Koordinatensystem des Roboterswelches meist dem TCP (Tool Center Point) entspricht ist zum Basis-Koordinatensystem registriert

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 23: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

3 Material und Methoden 15

Somit sind die abgefahrenen Trajektorien bekannt und koumlnnen in die fuumlr eine Registrie-rung wichtigen Transformationen umgerechnet werden (siehe Abbildung 21 auf Seite 6 dieTransformationen A) Damit ist das Artis zeego ein wichtiger Bestandteil der HEC

Eine Kollisionsvermeidung ist beim Artis zeego ausschlieszliglich fuumlr den Roboter mit sichselbst fuumlr den Roboter mit dem Tisch und fuumlr den Roboter mit den Raumgrenzen verfuumlg-bar Um Geraumlte von Drittanbietern in die Kollisionsberechnung mit einbeziehen zu koumlnnenmuss ein CAD-Model des Geraumltes vorhanden sein Weiterhin muumlssen die Achsendaten desGeraumltes kontinuierlich ausgelesen werden um die kinematische Kette und damit seine Ori-entierung im Raum (ausgehend vom geraumltespezifischen Basis-Koordinatensystem) berech-nen zu koumlnnenAufgrund der fehlenden Kollisionsberechnung fuumlr Geraumlte von Drittanbietern und aufgrund dervorliegenden Kenntnisse findet das Artis zeego in der vorliegenden Arbeit Anwendung

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 24: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

3 Material und Methoden 16

32 NDI Optotrak Certus

Mit Bezug auf das Kapitel 8 wird im Folgenden die Optotrak Certus und deren Anwendungals optisches Lokalisierungsystem vorgestelltDie Optotrak Certus von Northern Digital Inc (NDI) ist ein hoch-praumlzises optisches Messgeraumltzur Lokalisierung von Gegenstaumlnden innerhalb ihres Messvolumens Durch das kontinuierli-che Erfassen der Positionen koumlnnen auch Bewegungen gemessen werden Dies ermoumlglichtdem Anwender zusaumltzlich das bdquoTrackenldquo von Objekten Dabei hat die Optotrak Certus eineGenauigkeit von bis zu 01 mm bei einer maximalen Marker-Frequenz von 4600 HzDas System arbeitet mit der Erfassung von emittiertem infrarotem Licht Das IR-Licht wirdvon Infrarot-LEDacutes abgestrahlt Damit liefert die Optotrak Certus dauerhafte und echtzeitna-he Daten uumlber die Positionen der Infrarot-LEDacutes

Abbildung 33 In der Abbildung ist der Positionssensor die Optotrak Certus als ein Teil desGesamtmesssystems auf einem Stativ zu sehen Der Positionssensor be-steht aus drei einzelnen Kameras Die aumluszligeren beiden Kameras sind leichtangewinkelt Dadurch kann die Optotrak Certus einen groumlszligeren aber gleich-zeitig auch luumlckenlosen Messbereich erfassen

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 25: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

3 Material und Methoden 17

Das Lokalisierungssystem besteht aus den folgenden Komponenten

1 Position Sensor2 System Control Unit (SCU)3 ILED (infrared light emitting diodes)4 Marker strober5 Cables (host cable link cables power cables strober extension cables)6 Data collection software7 Host computer

Jede Kamera im Positionssensor steht fuumlr eine der drei Ebenen X Y und Z Die jeweiligeMarkerposition wird dann uumlber den Schnittpunkt der Ebenen ermittelt Dazu hat die OptotrakCertus ein werkseitig eingestelltes dreidimensionales Koordinatensystem (mit dem UrsprungKamera) dass dem Bestimmen der Position der Marker dient (siehe Abbildung 34)

Abbildung 34 In der Abbildung ist die Lage des Koordinatensystems relativ zum Messvo-lumen zu erkennen Der Ursprung der Ebenen befindet sich in der mittlerenKamera der Optotrak Certus Weiterhin ist zu erkennen dass Marker die zudicht an der Kamera liegen oder solche die zu weit entfernt sind nicht er-kannt werden koumlnnen [14]

Um eine Messung mit der Optotrak Certus durchzufuumlhren muss vorerst einen Systemauf-bau vorgenommen werden Das Wichtigste dabei ist die Optotrak Certus so aufzustellendass sich die Marker waumlhrend des gesamten Nutzungszeitraumes im Messvolumen des Po-sitionssensors befinden dh das die Marker sichtbar sind Ein schematischer Systemaufbauist in der folgenden Abbildung 35 dargestellt

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 26: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

3 Material und Methoden 18

Abbildung 35 Zu sehen ist ein Messsystemaufbau zur Durchfuumlhrung von Positionsbestim-mungen mit der NDI Optotrak Certus Das bdquoAugeldquo des Lokalisierungssystemsist der Positionssensor(a) Dieser detektiert das infrarote Licht der Markerinnerhalb seines Messvolumens Dabei ist es auch moumlglich mehrere Posi-tionssensoren miteinander zu verbinden um einen groumlszligeren Messebereichzu erhalten Die Marker(f) sind aktiv ausgelegt dh das sie erst nach An-steuerung infrarotes Licht emittieren Die zentrale Steuereinheit des Lokali-sierungssystems stellt die SCU(h) dar Sie bereitet die Messdaten auf undsendet sie an den Host-Computer Weiterhin koordiniert die SCU den Einsatzund die Ansteuerung der Marker Strober und der Positionssensoren Die Mar-ker Strober(d) sind fuumlr das Aktivieren oder Deaktivieren der Marker zustaumln-dig Ergaumlnzend sind in der Abbildung verschiedene Kabel dargestellt Diesedienen entweder der Verlaumlngerung der Reichweite(g) der Spannungsversor-gung der angeschlossenen Komponenten(b e g) oder der Kommunikation(ci) (nach [14 S1])

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 27: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

3 Material und Methoden 19

Beim Systemaufbau kann die Verbindung zum Host-Computer uumlber USB RS 232 oderEthernet erfolgen Zum Erstellen der vorliegenden Arbeit wird aus Geschwindigkeitsgruumlndendie Verbindung zur SCU uumlber Ethernet aufgebaut Am Host-Computer koumlnnen die von derSCU empfangenen Markerpositionen angezeigt oder zur weiteren Verarbeitung verwendetwerdenUm nun eine Messung durchzufuumlhren und sich die Daten auf dem Host-Computer anzeigenzu lassen bietet NDI eine Anwender-Software namens bdquoFirst Principlesldquo an Diese eroumlffnetdem Benutzer die Moumlglichkeit auf das System zuzugreifen verschiedene Parameter einzu-stellen und das System zu initialisierenEin Teil der Aufgabenstellung der vorliegenden Arbeit ist das Umgehen der Installation dervon NDI bereitgestellten Software bdquoFirst Principlesldquo Damit wird die Loumlsung generischergestaltet und der Vorbereitungsaufwand zum Durchfuumlhren einer Systemkoordinatenregis-trierung minimiert sichBehilflich beim Erstellen eines Programmes zur direkten Kommunikation mit der SCU ist einvon NDI geschriebenes application programming interface (kurz API) Es stellt Methodenzur Kommunikation mit dem Lokalisierungssystem bereit

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 28: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

3 Material und Methoden 20

33 Software

Im Folgenden wird auf die verwendete Software eingegangen Es wird dargelegt warum sieAnwendung findet und was ihre Funktion beim Loumlsen der vorliegenden Aufgabenstellungdarstellt

331 Microsoft Visual Studio 2008

Visual Studio ist eine von dem Unternehmen Microsoftcopy angebotene integrierte Entwick-lungsumgebung fuumlr verschiedene Hochsprachen[15] Dieses Programm findet zum Erstellender vorliegenden Arbeit Verwendung da die von NDI erworbene ProgrammierschnittstelleOAPI (Optotrak Application Programmeracutes Interface) mit der auf die Optotrak Certus zu-gegriffen werden kann mit der Programmiersprache C++ geschrieben ist Auf die Anwen-dungsprogrammierschnittstelle wird im folgenden Kapitel 4 genauer eingegangen

332 IAE

Die Interventional Application Engine (IAE) ist ein Teil des in Kapitel 31 beschriebenen AX-CS Sie ist eine Sammlung von Prozessen die uumlber den Nachrichten-Bus (MessageBus)kommunizieren Dazu gehoumlren ua saumlmtliche Befehle zur Steuerung des Artis zeego sowieder Datenaustausch zwischen einzelnen Plug-inacutes (zB 3D Reconstruction 3D Visualisie-rung) Um dem Anwender das Anzeigen der Kommunikation zu ermoumlglichen hat die IAEeinen integrierten MessageBusClientDie IAE ist generisch aufgebaut und damit sehr gut zum Einbinden neuer Softwareloumlsungengeeignet Unter Beachtung der vorherrschenden Software Engineering Regeln wie einer ge-wissen Struktur des Plug-inacutes wird das Anbinden an den MessageBus damit schablonisiertAuch das Plug-in der Hand-Auge-Kalibrierung sowie das Optotrak Plug-in kommunizierenuumlber den MessageBus und sind somit ein Teil der IAEDie Anforderung eines kontinuierlichen Datenaustausches der CarmCS-Daten und der Mar-kerdaten der Optotrak Certus fuumlr die HEC befuumlrworteten damit die Einbindung in die IAE

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 29: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung

Kapitel 4 befasst sich mit der Beschreibung der Vorgehensweise zur Loumlsungsfindung be-zuumlglich der vorliegenden Aufgabenstellung Dabei wird auf die Konzeptfindung und iterativauch auf die Umsetzung der Entwuumlrfe eingegangen Weiterhin wird die Fusion der einzelnenArbeitsergebnisse dargelegt

41 Konzept

Innerhalb der IAE befinden sich die Programme bdquoAppEngineldquo und bdquoLabDaemonldquo bdquoLabDae-monldquo hat einen integrierten MessageBus-Client und unterstuumltzt Plugins (Dynamic Link Li-brary (DLL)-Dateien) Dadurch kann es fuumlr die Komponentenkommunikation verwendet wer-den Bei der bdquoAppEngineldquo handelt es sich um ein Programm dass uumlber einen integriertenMessageBus-Client mit bdquoLabDaemonldquo kommunizieren kann Das Programm bdquoAppEngineldquouumlbernimmt den auswertenden Teil der Registrierung Um mit Programmen aus der IAE kom-munizieren zu koumlnnen gibt es das Programm bdquoMessageBusMonitorexeldquo Mit dieser Anwen-dung koumlnnen Befehle auf den MessageBus innerhalb der IAE gesendet aber auch gelesenwerden Fuumlr das Starten der automatischen Registrierung wird ein Befehl uumlber den bdquoMessa-geBusMonitorldquo an die bdquoAppEngineldquo gesendet In Abbildung 41 ist der Aufbau schematischdargestellt

Zum Loumlsen der vorliegenden Aufgabenstellung ist das Ansprechen der Optotrak Certus unddas anschlieszligende Auslesen der Markerkoordinaten von Bedeutung Dabei soll wie amSchluss des Kapitels 32 bereits erlaumlutert mit dem Positionssensor ohne Installation zu-saumltzlicher Software kommuniziert werden Aufgrund der Integration der Markerkoordinatenin eine HEC ist zusaumltzlich ein Uumlberpruumlfen der Markerkoordinaten auf ihre Nutzbarkeit vonRelevanzAbbildung 42 zeigt das aus den Anforderungen entstandene Konzept des zu entwickelndenProgramms

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 30: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 22

Abbildung 41 Um eine Registrierung zu starten wird eine Nachricht an die bdquoAppEngineldquogeschickt Diese sendet eine Anfrage an das Programm bdquoLabDaemonldquo An-schlieszligend wird von bdquoLabDaemonldquo das Senden der Koordinaten vom Carm-CS und der Marker an die bdquoAppEngineldquo veranlasst Waumlhrend der gesamtenRegistrierung ist es moumlglich uumlber den MessageBus die gesendeten Nach-richten zu lesen die Registrierung abzubrechen oder regulaumlr zu beenden

Abbildung 42 Das Konzept des erstellten Programmes verdeutlicht den gedachten Ablaufder Kommunikation Dabei ist das Programm nach dem Initialisieren in ei-ner while-Schleife die eine kontinuierliche Markerkoordinaten-Abfrage durch-fuumlhrt

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 31: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 23

Abbildung 43 Die Abbildung gibt einen Uumlberblick uumlber die Methoden die bei den einzelnenSchritten des Konzeptes ihre Anwendung finden

Schritt eins zur Kommunikation mit dem Lokalisierungssystem ist das Initialisieren Ohne ei-ne erfolgreiche Initialisierung findet kein Datenaustausch zwischen dem Host-Computer undder SCU der Optotrak Certus stattNach dem erfolgreichen Aufbau einer Kommunikation mit der SCU wartet das Programmauf eine Eingabe Diese wird uumlber den MessageBus an die bdquoAppEngineldquo geschickt Ist eineRegistrierung gestartet werden die Markerkoordinaten aller an den Marker Strober ange-schlossenen Marker an die bdquoAppEngineldquo gesendet Da auch die Daten nicht-sichtbarer Mar-ker gesendet werden muss im naumlchsten Schritt die Sichtbarkeit der Marker gepruumlft werdenWie im Kapitel 21 bereits erlaumlutert muumlssen mindestens drei Marker fuumlr eine HEC sichtbarsein Ist das bei einer Messung nicht der Fall werden erneut Markerkoordinaten angefordertIst die Sichtbarkeit von mindestens drei Markern gewaumlhrleistet werden die Daten auf die Ver-aumlnderung der Position der Marker untersucht Haben sich die Koordinaten vom CarmCS und

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 32: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 24

der Marker zur vorherigen Messung veraumlndert werden nach einer Sekunde alle Koordinatenan die bdquoAppEngineldquo gesendetDie Schleife vom Messen bis hin zum Weiterleiten der Markerdaten wird solange ausgefuumlhrtbis ein bdquoFinishldquo-Befehl an die bdquoAppEngineldquo gesendet wird

42 Umsetzung

In diesem Abschnitt wird die Struktur des entwickelten Programmcodes erklaumlrt Dabei wer-den aufeinander folgend die Schritte aus der Abbildung 42 erlaumlutert

421 Aufbau des Lokalisierungssystems

Der erste Schritt nach Erstellung eines Konzeptes ist der Aufbau des LokalisierungssystemsUm erfolgreich mit der Optotrak Certus arbeiten zu koumlnnen muss ein Systemaufbau nachAbbildung 35 vorgenommen werdenNeben dem Aufbau der Hardware ist es wichtig dass die Komponenten miteinander kom-munizieren koumlnnen Wie im vorherigen Kapitel beschrieben gibt es nur eine Moumlglichkeit sichdie Markerdaten der Optotrak Certus auf dem Host-Computer anzeigen zu lassen uumlber einekabelgebundene Verbindung zur SCU Da diese Verbindung uumlber Ethernet aufgebaut wirdmuss ein Ethernet-Netzwerk auf dem Host-Computer eingerichtet werdenUumlblicherweise muss fuumlr die Verbindung zwischen der SCU und dem Host-Computer einCrossover-Kabel1 verwendet werden Da die SCU jedoch mit einem Computer verbundenist der Windows 7 installiert hat und dieser automatisch die Art des angeschlossenen Ka-bels erkennt ist hier ein Patch-Kabel ausreichendNach dem Verbinden der Netzwerk-Teilnehmer uumlber die Hardware muss nun die Softwareso konfiguriert werden dass eine Kommunikation ermoumlglicht wird Dazu muumlssen vorausge-hend alle von NDI zur Verfuumlgung gestellten Treiber bzw Updates installiert werden Dies istnotwendig da die verschiedenen Komponenten des Lokalisierungssystems nur bei gleichenVersionsnummern miteinander interagieren koumlnnenUm den Ethernet-Anschluss der SCU nutzen zu koumlnnen wird diese entweder uumlber eine IP-Adresse oder einen Host-Namen angesprochen [14 S49] Da es jedoch nicht moumlglich istdie SCU ohne die richtige IP-Adresse anzusprechen muss diese erst in Erfahrung gebrachtwerden NDI bietet hier die Moumlglichkeit uumlber ein von der NDI Support-Seite herunterladbaresProgramm (Abbildung 44) die SCU uumlber eine serielle Schnittstelle anzusprechen und zukonfigurieren Dadurch kann zB die IP-Adresse wunschgemaumlszlig parametriert werden

1wird benoumltigt um zwei gleiche Arten von netzwerkfaumlhigen Geraumlten miteinander zu verbinden

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 33: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 25

Abbildung 44 Das Programm bdquoethernetSetupldquo ermoumlglicht dem Anwender uumlber eine seriel-le Verbindung auf die SCU zuzugreifen und die gewuumlnschten Parameter zukonfigurieren In der Abbildung sind unter Punkt 2) die Ethernet Parameterjustierbar

Nachdem die IP-Adresse der SCU festgelegt und abgespeichert ist kann eine Uumlberpruumlfungder Verbindung zur SCU uumlber das cmd-Window vom Host-Computer mit dem Befehl bdquoping1921681012ldquo vorgenommen werden Damit wird die erfolgreiche Einrichtung eines Netz-werkes zwischen dem Host-Computer und der SCU uumlberpruumlft

422 Initialisieren

Das Initialisieren muss nach jeder Veraumlnderung der Hardware oder Software vorgenommenwerden um mit dem Lokalisierungssystem kommunizieren zu koumlnnen Dafuumlr ist es noumltig alsersten Schritt die Methode bdquoTransputerDetermineSystemCfg()ldquo aufzurufen Dadurch werdenzwei Dateien generiert in denen die aktuelle Systemkonfiguration gespeichert ist DieseDateien tragen die Namen bdquostandardcamldquo und bdquosystemnifldquo Wird das System anschlieszligendnicht mehr veraumlndert ist es nicht notwendig die Methode bdquoTransputerDetermineSystemCfgldquoerneut aufzurufenIm entwickelten Programmcode steht zum Initialisieren die Funktion bdquoOptoTrakLinkinit()ldquozur Verfuumlgung Innerhalb dieser Funktion wird zu Beginn einmalig bdquoTransputerLoadSystem()ldquoausgefuumlhrt Diese Methode liest aus der Datei bdquosystemnifldquo (network information file) undlaumldt entsprechend der Konfiguration in dieser Datei die noumltige Software zum Kommunizie-ren mit der SCU Dies muss nur einmalig nach dem Anschalten der Hardware geschehenDas tatsaumlchliche Aufbauen und Trennen der kommunikationsfaumlhigen Verbindung zur SCUfindet auschlieszliglich uumlber die Funktionen bdquoTransputerInitializeSystem()ldquo und bdquoTransputerShut-downSystem()ldquo statt [16 S24 101 ff]

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 34: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 26

Ein weiterer Bestandteil dieses Programmabschnittes ist die Methode bdquoOptotrakLoadCa-meraParametersldquo bei deren Aufruf die standardisierten Kameraparameter aus der Dateibdquostandardcamldquo geladen und an das Optotrak System gesendet werden

423 Markerkoordinaten auslesen

Die vom Positionssensor erfassten Markerdaten sind nahezu in Echtzeit auslesbar DieKommunikation zwischen dem Lokalisierungssystem und dem Host-Computer wird uumlber einClient-Server-Model beschrieben Dabei fungiert das Optotrak-System als Server und dasvom Anwender geschriebene Programm als Client [16 S14] Die Abbildung 45 verdeutlichtdiesen Sachverhalt

Das Lokalisierungssystem arbeitet ausschlieszliglich mit dem Versenden von Nachrichten inForm von Paketen Dabei ist jedem Paket eine Kennung angehaumlngt uumlber die sich der Typdes Paketes bestimmen laumlsst [16 S15]Um mit jedem Host-Computer Nachrichten austauschen zu koumlnnen muumlssen der Server undder Client sich auf die gleiche Art des Packens und Entpackens der Pakete einstellen Infol-gedessen ist der richtige innere Aufbau jedes Paketes von Bedeutung [17 S3]

Um die Kommunikation so flexibel wie moumlglich zu halten und auch bei fehlerhaften oder lee-ren Nachrichten reagieren zu koumlnnen werden Allzweck-Datenpakete als Nachrichten ver-sendet [17 S4] Im Header jedes Paketes befindet sich neben dem vier Byte groszligen Typen-Feld auch ein vier Byte groszliges Groumlszligen-Feld welches die Groumlszlige des Paketes inklusive sichselbst angibt

Abbildung 45 Einen Uumlberblick uumlber den Ablauf der Verstaumlndigung zwischen Server und Cli-ent gibt diese Abbildung Die Verstaumlndigung wird mit dem Versenden undEmpfangen von Paketen realisiert Jedes Paket ist von einem bestimmten(Daten-)Typ der je nach Inhalt des Paketes variiert

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 35: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 27

Der innere Aufbau eines Datenpaketes ist in der folgenden Abbildung 46 dargestellt

Abbildung 46 Aufbau eines Allzweck-Datenpaketes

Im Typen-Feld wird das Paket genauer klassifiziert Das hat den Vorteil dass der Empfaumln-ger weiszlig wie er mit dem Paket weiter zu verfahren hat Tritt zB ein Fehler auf kann ei-ne Ruumlckmeldung an den Sender gegeben werden Aber auch fuumlr den Anwender ist eineRuumlckmeldung gerade beim Verifizieren des eigenen Programmes von Bedeutung Fuumlr dieKommunikation werden fuumlnf verschiedene Paket-Typen verwendet Diese sind in Tabelle 41aufgeschluumlsselt

Typ Name Beschreibung

0 Fehler Ein Fehler wurde durch den letzten Befehl hervorgerufen1 Befehl Eine Ruumlckmeldung ob der Befehl fuumlr oder vom Server erfolgreich war2 XML XML Daten wurden vom oder zum Server geschickt3 Daten Ein Paket Echtzeit-Daten wurde vom Server geschickt4 keine Daten Dieses Paket besteht nur aus dem Header Es laumlsst darauf schlieszligen

dass eine Messung fertig ist oder noch nicht begonnen hat5 C3D Datei Eine komplette C3D Datei wurde vom Server verschickt

Tabelle 41 Hier sind die moumlglichen Datentypen eines Paketes aufgezeigt [17 S5]

Nach der Einfuumlhrung in den Aufbau der Datenpakete wird im Folgenden dargelegt wie dieMarkerkoordinaten vom Optotrak-System angefordert werden koumlnnenIm entwickelten Programmcode ist die Funktion bdquoOptoTrakLinkthreadFunc(void data_in)ldquofuumlr das Abrufen der Markerkoordinaten zustaumlndig Aus dem Namen ist abzulesen dasses ein extra Thread ist der gestartet wird Es gibt einen Thread zur Aufrechterhaltung derKommunikation und einen zum Senden und Empfangen der DatenpaketeDie Vorbereitung zum Empfangen der neuesten Markerkoordinaten beginnt mit dem Ak-tivieren der Marker uumlber die Funktion bdquoOptotrakActivateMarkers()ldquo Nachfolgend wird dieAnzahl der zu messenden Marker festgelegt und zwei Strukturen vom Typ bdquoPosition3dldquo mitder Groumlszlige der Markeranzahl angelegt Die eine Struktur dient der Speicherung der aktuellenKoordinaten und die andere ist fuumlr das Speichern der Koordinaten fuumlr den nachfolgendenMessdurchlauf zustaumlndig Die entsprechenden Code-Zeilen sind in Abbildung 47 zu finden

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 36: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 28

(a) Struktur definieren (b) Strukturen initialisieren

Abbildung 47 (a) In der Datei bdquondtypeshldquo wird eine Struktur erstellt in der es moumlglich istalle drei Dimensionen pro Marker zu hinterlegen (b) Im Programmcode wer-den die zwei Strukturen vom Typ bdquoPosition3dldquo mit der Groumlszlige der erwuumlnschtenMarkeranzahl (bdquomarkerMaxldquo) initialisiert

Im weiteren Verlauf des Programmcodes werden alle x-Koordinaten der Marker auf bdquonichtsichtbarldquo initialisiert Das sorgt dafuumlr dass nach jedem ersten Anfordern von Markerdatenimmer eine Nachricht mit den aktuellen Markerkoordinaten gesendet wird Nachfolgendstartet eine while-Schleife die solange laumluft bis ein Stop-Befehl gesendet wird Im weite-ren Verlauf des Programmes wird uumlber die Funktion bdquoDataGetLatest3D( ampuFrameNumberampuElements ampuFlags p3dData )ldquo ein Datenpaket mit allen dreidimensionalen Markerkoor-dinaten abgefragt

424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung

Bei optischen Lokalisierungssystemen ist eine Sichtverbindung zwischen dem Erfassungs-geraumlt und den Markern die Grundvoraussetzung fuumlr das Lokalisieren Aus diesem Grundwird im vorliegenden Abschnitt auf die Uumlberpruumlfung der empfangenen MarkerkoordinateneingegangenWenn ein Marker nicht vom Positionssensor erfasst werden kann muss dieser Umstand klardefiniert sein Zur Kontrolle der Sichtbarkeit ist es ausreichend nur eine Koordinate (zB x-Koordinate) des Markers zu pruumlfen Denn ist eine der drei Koordinaten nicht sichtbar ist derganze Marker nicht lokalisierbar Die Sichtbarkeit der Marker aumluszligert sich in der Belegung dereinzelnen Koordinaten mit einer durch einen Makro definierten Konstanten (vgl Abbildung48)

Abbildung 48 Abgebildet ist ein Ausschnitt aus dem Quellcode Jedes weitere Vorkom-men von bdquoBAD_FLOATldquo im Quelltext wird automatisch durch die float-Zahl3 697314 1028 ersetzt Diese Konstante wurde gewaumlhlt da sie nicht alsKoordinate eines Markers gemessen werden kann

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 37: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 29

Kann ein Marker nicht von der Optotrak erfasst werden wird all seinen Koordinaten diefloat-Zahl 3 697314 1028 zugeordnetIn Abbildung 49 wird das Prinzip zur Uumlberpruumlfung der von der SCU empfangenen dreidi-mensionalen Markerkoordinaten schematisch dargestellt

Abbildung 49 Dargestellt ist die Programmstruktur zur Pruumlfung der abgefragten Marker-koordinaten Die Dreiecke entsprechen den Schleifenbedingungen im Pro-grammcode Darunterliegend sind die moumlglichen Antworten zu finden ImProgramm wird neben der Kontrolle der Koordinaten auch die Notwendigkeitdes Uumlbersendens eines neuen Datenpaketes an die IAE gepruumlft Die Aumlnde-rung die vorhanden sein muss bevor die Koordinaten fuumlr die HEC verwendetwerden ist entweder eine Abstandsaumlnderung groumlszliger oder ein Wechsel derSichtbarkeit des Markers Mit Hilfe der booleschen Variablen bdquochangedItemldquowird im weiteren Verlauf des Programms entschieden ob die Markerkoordi-naten in ein anderes Format fuumlr die HEC umgewandelt werden sollen

Die Sichtbarkeits- und Positionsveraumlnderungspruumlfung grenzt an die Funktion bdquoDataGetLa-test3D()ldquo an Die Uumlberpruumlfung der Koordinaten beginnt mit einer for-Schleife die solangedurchlaufen wird wie es zu aktivierende Marker gibt Die Marker werden demzufolge nach-einander uumlberpruumlftIst der Marker nicht sichtbar wird dies fuumlr die naumlchste Abfrage abgespeichert und der nach-folgende Marker wird untersucht

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 38: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

4 Konzept und Umsetzung 30

Entsprechen die x- y- und z-Koordinaten nicht 3 697314 1028 ist der Marker sichtbarAnschlieszligend wird die Variable bdquochangedItemldquo angelegt und bdquofalseldquo gesetzt Mit Hilfe dieserVariablen wird im weiteren Verlauf des Programmes uumlber das Senden entschieden Auf dasAnlegen der Variablen folgt eine weitere if-Schleife bei der die vorangegangenen Marker-koordinaten auf Sichtbarkeit uumlberpruumlft werden War der Marker in der letzten Messung nichtsichtbar haben sich seine Koordinaten geaumlndert und es muss auf jeden Fall eine Nachrichtmit den neuen Koordinaten gesendet werden Ist der Marker in der vorherigen Messung je-doch sichtbar gewesen muss vor dem Senden gepruumlft werden ob sich seine Koordinatenausreichend geaumlndert haben Das geschieht uumlber die Formel aus Abbildung 410

Abbildung 410 Nach Berechnung der Aumlnderung pro Koordinate wird der Abstand des Punk-tes vom vorherigen bestimmt Das Ergebnis muss zur Verwendung fuumlr dieHEC groumlszliger als sein

Ist der berechnete Abstand groszlig genug wird bdquochangedItemldquo auf bdquotrueldquo gesetztIm Anschluss an das Uumlberpruumlfen des Abstandes folgt die Abfrage des Status der Varia-blen bdquochangedItemldquo Damit entscheidet sich ob die aktuellen Markerkoordinaten gesendetwerden oder nicht Zum Senden muumlssen die Koordinaten in einen bdquoVector3ldquo umgewandeltwerden (siehe Abbildung 411) Denn in diesem Format erwartet das Programm fuumlr die HECdie Daten

Abbildung 411 Vector3 ist eine Klasse die der Beschreibung eines dreidimensionalenPunktes dient Bei der Konstruierung wird der Vector3 mit (0 0 0) vorbe-legt Im Fall des vorliegenden Programmcodes wird der Vector3 bei seinemKonstruieren mit den jeweiligen Koordinaten initialisiert

425 Kommunikation beenden

Um die Verbindung zum Lokalisierungssystem zu trennen wird im Programmcode die Funk-tion bdquoOptoTrakLinkonShutdown()ldquo aufgerufen Dabei werden die aktiven Marker uumlber dasAusfuumlhren von bdquoOptotrakDeActivateMarkers()ldquo deaktiviert Nachfolgend wird die MethodebdquoTransputerShutdownSystem()ldquo bearbeitet Dadurch wird das Optotrak System informiertdass die API keine Kommunikation mehr benoumltigt

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 39: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

5 Messaufbau und Testablauf

Um eine Koordinatensystemregistrierung durchfuumlhren zu koumlnnen muss vorerst die Hardwa-re installiert und aufeinander abgestimmt werden Dafuumlr wird das optische Lokalisierungs-system nach Abbildung 35 aufgebaut Im Falle der vorliegenden Arbeit wird nur ein Positi-onssensor verwendet Dieser wird moumlglichst so positioniert dass die Marker waumlhrend desAbfahrens der Trajektorien kontinuierlich sichtbar sindDas Netzwerkkabel der SCU wird genauso wie das Netzwerkkabel vom AXCS in den sel-ben Laptop gesteckt Dies ist wichtig da die Koordinatensystemregistrierung die Koordinatenbeider Systeme fuumlr eine erfolgreiche HEC benoumltigt Abbildung 51 zeigt die Positionierung derGeraumlte zueinander

Abbildung 51 Im Vordergrund ist der C-Bogen des Artis zeego zu erkennen Auf die-sem sind drei Marker des Optotrak-Systems befestigt Um eine kontinuier-liche Sichtbarkeit der Marker bei gleichzeitigem groszligvolumigen Abfahren derTrajektorien zu gewaumlhrleisten wird der Positionssensor (Hintergrund Mitte)moumlglichst weit vom C-Bogen positioniert

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 40: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

5 Messaufbau und Testablauf 32

Mit der HEC wird das LKS zum WKS registriert Das heiszligt im Falle der vorliegenden Arbeitist ein Ziel die X- Y- und Z-Koordinaten auszugeben die die Entfernung des LKS vom WKSaufzeigen Abbildung 52 verdeutlicht diesen Aspekt

Abbildung 52 Im Mittelpunkt der Grundplatte des Tisches des Artis zeego befindet sich dasWKS (eingezeichnet) Das LKS befindet sich in der Mitte des Positionssen-sors Ziel des Messaufbaus ist die Berechnung der dreidimensionalen Ko-ordinaten die aufzeigen wie weit das LKS vom WKS entfernt ist Durch denErhalt der Entfernungsdaten kann anschlieszligend eine Transformation des LKSin das WKS erfolgen

Aufgrund des Messaufbaus (vgl Abbildung 52) werden ausschlieszliglich positive Entfernungenerwartet Um die Richtigkeit der X- Y- und Z-Entfernungen abschaumltzen zu koumlnnen werdendiese zuvor mit einem Maszligband gemessen

Ist die Hardware aufgebaut und mit dem PC verbunden muumlssen die Netzwerke zumLokalisierungssystem und zum AXCS konfiguriert werden Anschlieszligend kann die bat-Datei bdquoStart_Registrationbatldquo ausgefuumlhrt werden Diese Datei startet die bat-Dateien bdquoru-nIAE_LabDaemonldquo bdquorunIAE_AppEngineldquo und die Datei bdquorunIAE_Optotrak_Adapterldquo Letzte-re ist fuumlr die Initialisierung der Kommunikation mit der SCU und dem anschlieszligenden konti-nuierlichen Auslesen der Markerkoordinaten zustaumlndig Mit dem Ausfuumlhren dieser Datei wirddas Konzept aus Kapitel 4 realisiertAuf das Ausfuumlhren der verschieden bat-Dateien folgt das Starten der Datei bdquoMessage-BusMonitorexeldquo Der MessageBus-Monitor zeigt zum Einen die Nachrichten die zwischenden einzelnen Programmen geschickt werden (vgl Abbildung 41) und zum Anderen koumln-nen uumlber ihn Befehle bezuumlglich der Registrierung gegeben werdenDie Befehle sind in txt-Dateien gespeichert welche durch Auswahl uumlber den MessageBus-Monitor gesendet werden koumlnnen Mithilfe dieser Befehle werden verschiedene Programm-

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 41: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

5 Messaufbau und Testablauf 33

Modi aktiviert bzw deaktiviert So kann zB mit dem Ausfuumlhren von bdquoStartOptoTrakSen-dingtxtldquo das kontinuierliche Auslesen der Markerkoordinaten auf aktiv gesetzt werden Ab-bildung 53 veranschaulicht diesen Vorgang

Abbildung 53 Dargestellt ist ein Ausschnitt des MessageBus-Monitors Durch einenRechtsklick in den linken Teil ist es moumlglich Nachrichten auszuwaumlhlen Erstdurch einen anschlieszligenden Doppelklick werden diese gesendet Im vorlie-genden Fall werden dauerhaft Markerkoordinaten von der SCU abgefragt unduumlber den MessageBus gesendet Dazu wurde der Befehl bdquoStartOptoTrakSen-dingtxtldquo ausgewaumlhlt Im rechten Teil werden die Inhalte der Nachrichten an-gezeigt Zu erkennen ist dass nur die Marker(-Ids) 0 5 und 7 fuumlr den Positi-onssensor sichtbar sind

Dieselben Befehle sind fuumlr das kontinuierliche Auslesen der AXCS-Daten vorhandenMit dem Befehl bdquoStartRegistrationtxtldquo wird das kontinuierliche Auslesen der Markerkoordi-naten (mindestens einmal pro Sekunde oder bei Veraumlnderung der Koordinaten) und dasparallele kontinuierliche Auslesen der AXCS-Koordinaten veranlasst Das Speichern der Ko-ordinaten im HEC-Plugin und der damit verbundenen Verwendung der Daten zur Berech-nung erfolgt ausschlieszliglich nach einer Bewegung des C-Bogens und dem anschlieszligendenStillstand von einer Sekunde Das Abfahren einer Trajektorie wird durch Abbildung 54 ver-deutlicht

Nach dem Abfahren der Trajektorie mit dem C-Bogen kann die Messdatenaufnahme been-det und die HEC gestartet werden Dies geschieht uumlber den Befehl bdquoFinishRegistrationtxtldquowelcher an die bdquoAppEngineldquo gesendet wird Anschlieszligend kann das Ergebnis der HEC ineinem Textdokument welches als LOG-Datei gehandhabt wird eingesehen werden Nebenden zur Berechnung herangezogenen Koordinaten der Marker und des AXCS wird in derLOG-Datei eine 4x4 Matrix gespeichert die ua einen translatorischen Anteil in X- Y- undZ-Richtung aufzeigt Dieser Anteil entspricht der Entfernung des LKS zum WKS

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 42: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

5 Messaufbau und Testablauf 34

Abbildung 54 Die sechs Grafiken verdeutlichen exemplarisch das Abfahren einer Trajek-torie im Rahmen einer Koordinatensystemregistrierung Aufgenommen sinddie Motive aus Sicht des optischen Lokalisierungssystems Beim Anfahrender verschiedenen Positionen ist darauf zu achten dass ausreichend vie-le Translationen und Rotationen vorgenommen werden Das beinhaltet auchdas Ausschoumlpfen des Bewegungsvolumens vom Artis zeego Nach dem Still-stand des C-Bogens muss eine Sekunde gewartet werden um die aktuellePosition fuumlr die HEC uumlbernehmen zu koumlnnen Mit der Anzahl der angefahre-nen und gespeicherten Positionen erhoumlht sich die Genauigkeit der Koordina-tensystemregistrierung

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 43: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

6 Auswertung

Nach dem Messaufbau werden mehrere Testdurchlaumlufe absolviert Damit wird die Genau-igkeit und Fehleranfaumllligkeit der Koordinatensystemregistrierung uumlberpruumlft Die Genauigkeitliegt theoretisch bei 0 1 mmDie mit dem Maszligband gemessen X- Y- und Z-Entfernungen lauten wie folgt

x [mm] 1610 y [mm] 1290 z [mm] 1735

Um ein aussagekraumlftiges Ergebnis zu erhalten sind im Anschluss an die Maszligband-Messung15 Koordinatensystemregistrierungen durchgefuumlhrt worden Die folgende Tabelle 61 zeigtdie translatorischen X- Y- und Z-Werte als Ergebnis der HEC

Messung x [mm] y [mm] z [mm]

1 1560 3 1230 3 1755 2

2 1557 6 1264 6 1749 0

3 1559 3 1268 4 1746 1

4 1481 6 1211 3 1697 3

5 1452 3 1179 9 1675 2

6 1559 4 1273 8 1735 5

7 1461 2 1260 5 1739 7

8 1559 4 1266 9 1740 6

9 1557 9 1262 9 1744 5

10 1558 9 1271 7 1740 5

11 1596 4 1271 6 1703 2

12 1391 5 1154 8 1603 5

13 1557 7 1270 7 1742 1

14 1558 6 1265 7 1740 9

15 1554 7 1266 5 1735 6

Tabelle 61 Ergebnisse der Koordinatensystemregistrierungen

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 44: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

6 Auswertung 36

Aus den Messungen aus Tabelle 61 folgen die Mittelwerte mit

x [mm] 1531 1 y [mm] 1247 9 z [mm] 1723 3

Verglichen mit den ausgemessenen Werten ist eine Abweichung von maximal 78 9 mm (beix-Translation) zu erkennen Die Abweichungen liegen darin begruumlndet dass einerseits dasAusmessen per Hand sehr ungenau ist und somit die Werte keine praumlzise Angabe liefernsondern lediglich eine grobe Orientierung darstellen Andererseits werden Messungen in dieMittelwert-Berechnung mit einbezogen die weit vom Mittelwert abweichen Also Messungenbei denen offensichtlich keine ausreichend geeigneten Positionen mit dem C-Bogen ange-fahren wurden (vlg Tabelle 61 die Messungen 4 5 und 12)Geeignete Positionen sind erkennbar an den nicht parallelen Drehachsen beim Anfahren derPositionen mit dem C-Bogen Wie im Abschnitt 21 erlaumlutert sind mindestens zwei verschie-dene Stellungen des Artis zeego fuumlr eine HEC-Berechnung notwendig Je mehr Positionenangefahren werden und je weiter diese raumlumlich voneinander entfernt sind desto praumlziserwird das ErgebnisIm Falle der vorliegenden Arbeit wurden mindestens 10 Positionen fuumlr jede Koordinatensys-temregistrierung angefahren Diese sind anschlieszligend in einer LOG-Datei einsehbar Dort istdie Kontrolle der zur Berechnung verwendeten Koordinaten von Bedeutung um abschaumltzenzu koumlnnen ob geeignete Positionen angesteuert wurdenDie Kontrolle der LOG-Datei ergab dass bei den Messungen 4 5 und 12 mehrere Positio-nen fuumlr die HEC verwendet wurden die die gleichen Koordinaten aufwiesen Aus diesemGrund werden diese verfaumllschten Messungen aus der Mittelwertberechnung ausgegliedertEs ergeben sich folgende neue Werte

x [mm] 1553 5 y [mm] 1264 5 z [mm] 1739 4

Die Ergebnisse weisen eine deutlich kleinere Abweichung zu den Maszligband-Werten aufda die Koordinatensystemregistrierungen mit ungeeigneten Trajektorien die vorherige Mit-telwertberechnung verfaumllscht haben Durch die aktuellen Mittelwerte laumlsst sich in Verbin-dung mit den Maszligband-Werten ein praumlzisere Aussage uumlber die tatsaumlchlichen Translationentreffen

Die Uumlberlegungen bezuumlglich der Fehlerquellen und die Anwenderfreundlichkeit der Koordi-natensystemregistrierung werden mit Hilfe von vier Testpersonen uumlberpruumlft Jeder dieserTestpersonen hat maximal zwei Versuche um eine Koordinatensystemregistrierung mit denerwarteten Ergebnissen zu erreichenVorerst bekommen die Testpersonen eine kurze Einweisung in den Sachverhalt und werdenangeleitet welche Bewegungen sie mindestens in die selbst gewaumlhlte Trajektorie integrierensollten

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 45: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

6 Auswertung 37

Nach dem Abfahren der Trajektorie wird das Ergebnis der Koordinatensystemregistrierungbegutachtet und auf eventuelle Fehler bei der Durchfuumlhrung untersucht Tabelle 62 zeigt dieErgebnisse der Testdurchlaumlufe

Testperson Versuch Erfahrung Ergebnis [mm]

1 1 sehr gut x 15576 y 12646 z 17490

2 1 unerfahren x 13196 y 12219 z 169942 2 unerfahren x 15654 y 12636 z 17419

3 1 kaum erfahren x 15646 y 12666 z 17447

4 1 unerfahren x 15215 y 7009 z 179594 2 unerfahren x -494102 y -560845 z -209917

Tabelle 62 Ergebnisse der Koordinatensystemregistrierungen - mit Hilfe von Testpersonen

Bei Testperson 1 ist die gute Erfahrung im Umgang mit der HEC von Vorteil Diese Personweiszlig auf welche Bewegungen sie bei der Trajektorie achten muss Dadurch ergibt sich einErgebnis dass den erwarteten Werten entsprichtTestperson 2 wiederum ist unerfahren hinsichtlich einer Koordinatensystemregistrierung DieSichtkontrolle beim Abfahren der Trajektorie ergab zu wenige Translationen und Houmlhenver-aumlnderungen Weiterhin wirkten sich zu kleine Positionsveraumlnderungen negativ auf die Ge-nauigkeit der HEC aus Nach einer weiteren technischen Einweisung und Erklaumlrung desSachverhaltes sind deutliche Verbesserungen eingetretenDurch gutes Verstaumlndnis fuumlr den Sachverhalt und aufgrund des Wissens uumlber verwandteThemen konnte Testperson 3 eine gut geeignete Trajektorie abfahren Eine Kontrolle derLOG-Datei ergab ausreichend viele und unterschiedliche Translationen und Rotationen So-mit wurden bereits beim ersten Versuch Werte erreicht die den Erwarteten entsprachenBei Testperson 4 sind anfangs nur Translatorische Bewegungen mit dem Artis zeego vollzo-gen worden Rotationen kamen erst spaumlter hinzu und wurden nicht mehr in die HEC mit ein-bezogen Ein weiterer Fehler war das zu kurze Warten nach dem Stoppen des Artis zeegoDadurch wurden viele Koordinaten nicht fuumlr die Koordinatensystemregistrierung verwendetDieser Fehler setzte sich auch im zweiten Versuch fort wodurch weniger Werte gespeichertwurden als erwartet Die Kontrolle der LOG-Datei ergab fuumlr den zweiten Versuch nur 6 an-gefahrene Positionen wovon 5 Positionen ausschlieszliglich Translationen beinhalteten und nureine Rotation beim Anfahren der letzten Position ausgefuumlhrt wurde Damit ist eine Koordi-natensystemregistrierung nicht moumlglich Das erklaumlrt auch die relativ groszligen und negativenWerte als Ergebnis der HEC

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 46: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

6 Auswertung 38

Zusammenfassend ist zu sagen dass nach einer Einweisung auch unerfahrene Anwenderin der Lage sind eine Koordinatensystemregistrierung erfolgreich durchzufuumlhren Bei derBedienfreundlichkeit und Intuivitaumlt der automatisierten HEC besteht VerbesserungsbedarfDie Funktionsfaumlhigkeit wurde jedoch unter Testbedingungen belegt

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 47: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

7 Diskussion und Ausblick

Trotz der erwiesenen Funktionsfaumlhigkeit besteht Verbesserungsbedarf fuumlr das Automatisie-ren der Koordinatensystemregistrierung So sind zB die unintuitiven HEC-Positionen desArtis zeego ein Hindernis fuumlr eine erfolgreiche HEC Denn die Nutzer des Artis zeego fahrenim Alltag nur selten Positionen an die fuumlr eine HEC gut geeignet sind Ergaumlnzt wird dieserUmstand dadurch dass die Anwender nicht immer die optimale Trajektorie fuumlr eine HECfinden Selbst wenn sie bereits Erfahrung mit einer Koordinatensystemregistrierung habenwerden sie wiederholt eine andere Trajektorie als zuvor abfahren und damit eventuell nichtimmer das optimale Verhaumlltnis aus Translation und Rotation erreichenDiese Umstaumlnde empfehlen die Einfuumlhrung einer automatischen Trajektorie Das erhoumlht dieVergleichbarkeit der Messungen und der Ergebnisse Denn bei unveraumlnderter Hardware soll-te auch nahezu dasselbe Ergebnis bei der Koordinatensystemregistrierung herauskommenDes Weiteren wird durch die Einfuumlhrung einer automatischen Trajektorie kontinuierlich einesehr gute Trajektorie zum Registrieren gewaumlhrleistet

Weiterer Verbesserungsbedarf beim Registrieren ist bei der Unwissenheit uumlber die Anzahlund der Sachdienlichkeit der angefahrenen Positionen fuumlr eine erfolgreiche HEC zu findenDa der Anwender nicht wissend uumlber die Anzahl der bereits gespeicherten Koordinatendatenist besteht die Moumlglichkeit dass zu wenig oder zu viele Stellungen mit dem Artis zeegoangesteuert werden Die Verbesserung dieses Umstandes ergibt eine ZeitoptimierungZusaumltzlich ermoumlglicht eine Ausgabe der zur Berechnung verwendeten Koordinatendaten einfruumlhzeitiges Abschaumltzen uumlber den Erfolg der aktuellen Koordinatensystemregistrierung undermoumlglicht eine weitere Zeitoptimierung

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 48: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

8 Zusammenfassung

Das Thema und Ziel der vorliegenden Arbeit ist das Teil-Automatisieren einer Koordinaten-systemregistrierung mit Hilfe eines optischen Lokalisierungssystems Durch eine Koordina-tensystemregistrierung koumlnnen Basis-Koordinatensysteme von einzelnen Objekten in ein ge-meinsames WKS transformiert werden Das hat den Vorteil dass die Bewegungen der Ob-jekte in Relation zueinander gesetzt werden und somit in eine globale Kollisionsvermeidungintegriert werden koumlnnenDie Medizintechnik ist durch den steigenden Einsatz modernster Robotertechnik ein gutesBeispiel fuumlr das Anwenden einer Koordinatensystemregistrierung Als Exempel fuumlr die Ver-wendung von modernen Geraumlten in der Medizintechnik dient das in der vorliegenden Arbeitvorgestellte Artis zeego Aufgrund der wachsenden Gefahr fuumlr anwesende Personen undGeraumlte durch moumlgliche Zusammenstoumlszlige mit technischem Equipment gewinnt der Aspektder Kollisionsvermeidung immer mehr an BedeutungZum Loumlsen der vorliegenden Aufgabenstellung wurde die Optotrak Certus exemplarisch zumEinsatz gebracht Neben diesem optischen Lokalisierungssystem sind aufgrund des gene-rischen Aufbaus der Loumlsung weitere (vgl Kapitel 2) Lokalisierungssysteme mit der Aufga-benstellung vereinbarIm Anschluss an die Darlegung des Konzeptes und der Beschreibung der Vorgehensweise(vgl Kapitel 4) zum Loumlsen der vorliegenden Problemstellung wurde die Funktionalitaumlt derArbeitsergebnisse anhand eines Messaufbaus und Tests uumlberpruumlft Durch die Auswertungder Messdaten wurde die Funktionalitaumlt und Genauigkeit der Koordinatensystemregistrie-rung bestaumltigt Das Testen der Automatisierung der Koordinatensystemregistrierung durchDritte gibt jedoch Raum fuumlr Verbesserungen der Benutzerfreundlichkeit

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 49: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Literaturverzeichnis

[1] Goldyn Praxishandbuch Angiographie Spektrum der Diagnostik und InterventionenSpringer Verlag 2014

[2] Siemens AG figure 1 httpwwwhealthcaresiemensdeangioclinical-resultsacute-stroke-recanalization Zugriff15012014

[3] Siemens AG Healthcare sector Introducing Artis zee for cardiac procedures

[4] Siemens AG figure 2b httpwwwhealthcaresiemensdeangioclinical-resultstetralogy-of-fallot-supported-by-artis-zeegoZugriff 15012014

[5] Danilo Briese Christine Niebler and Georg Rose Hand-Eye Calibration using DualQuaternions in Medical Environment Technical report Siemens Healthcare GermanyOtto-von-Guericke-Universitaumlt Magdeburg Germany

[6] Klaus H Strobl and Gerd Hirzinger Optimal Hand-Eye Calibration Technical reportInstitute of Robotics and Mechatronics German Aerospace Center DLR

[7] REIMAR K LENZ and ROGER Y TSAI Calibrating a Cartesian Robot with Eye-on-Hand Configuration Independent of Eye-to-Hand Relationship Technical report Tech-nische Universitaumlt Muumlnchen Watson Research Center

[8] Matthias Haun Handbuch Robotik - Programmieren und Einsatz intelligenter RoboterSpringer Verlag 2013

[9] Lehrstuhl fml an der TUM Lokalisierungssystem httpwwwfmlmwtumdefmlindexphpSet_ID=945ampletter=Lamptitle=Lokalisierungssystem Zugriff 01122014

[10] Klaus Finkenzeller RFID HANDBUCH - GRUNDLAGEN UND PRAKTISCHE ANWEN-DUNGEN VON TRANSPONDERN KONTAKTLOSEN CHIPKARTEN UND NFC Han-ser Verlag 2012

[11] Brainlab Spinal Navigation Application httpwwwbrainlabcom Zugriff17122014

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 50: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Literaturverzeichnis 42

[12] Greg Borenstein Making ThingsSee - 3D VISION WITH KINECT PROCESSINGADRUINO AND MAKERBOT OrsquoReilly Verlag 2012

[13] Siemens AG Pressereferat Healthcare Artis zeego von Siemens bringt Fle-xibilitaumlt in die Angiographie httpwwwsiemenscompressdepressemitteilungenpress=depressemitteilungen2008imaging_itmedax200801025htmampcontent[]=HIMampcontent[]=HCIM Zugriff 141114

[14] Northern Digital Inc Optotrak Certus User Guide (e-Type)

[15] Wikipedia Microsoft Visual Studio httpdewikipediaorgwikiMicrosoft_Visual_Studio Zugriff 10122014

[16] Northern Digital Inc Optotrak Application Programmerrsquos Interface Guide

[17] Northern Digital Inc RTC3D Protocol

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 51: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Versicherung uumlber die Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect16(5) APSO-TI-BM ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfs-mittel benutzt habe Woumlrtlich oder dem Sinn nach aus anderen Werken entnommene Stellenhabe ich unter Angabe der Quellen kenntlich gemacht

Hamburg 20012015Ort Datum Unterschrift Chris Adolf

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 52: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Danksagung

Alle praktischen Arbeiten die der Loumlsung der vorliegenden Aufgabenstellung dienen wur-den am Siemens AG Forschungs- und Entwicklungsstandort Forchheim durchgefuumlhrt StefanSchuster Holger Kunze und Danilo Briese haben mit Ihrer Unterstuumltzung vor Ort einen maszlig-geblichen Teil zum positiven Ergebnis der vorliegenden Arbeit beigetragen Diesen Personengilt dafuumlr besonderer DankOhne die Erlaubnis und die finanzielle Unterstuumltzung waumlren die praktischen Arbeiten und diedamit verbundenen laumlngeren Aufenthalte in Forchheim nicht moumlglich gewesen Aus diesemGrund gilt ein weiterer Dank der Abteilung RC-DE HC NORD CS 1 der Siemens AG

Ein wichtiges Kriterium zum Erstellen einer guten Bachelorarbeit ist die Betreuung an derzustaumlndigen Hochschule Fuumlr Ihre hilfreiche kompetente und aufgeschlossene Begleitungbeim Erstellen der vorliegenden Arbeit gilt ein besonderer Dank Frau Annabella Rauscher-Scheibe

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit
Page 53: Bachelorarbeit im Fachbereich Technik & Informatik an der ...edoc.sub.uni-hamburg.de/haw/volltexte/2015/3001/pdf/Bachelorthesis_Chris_Adolf.pdf · die Eye-to-World-Methode (ETW) bei

Anhang

Der Anhang der vorliegenden Arbeit befindet sich auf CDDVD und ist beim betreuendenPruumlfer oder dem Zweitgutachter einzusehen

  • Kurzzusammenfassung
  • Inhaltsverzeichnis
  • Tabellenverzeichnis
  • Abbildungsverzeichnis
  • Abkuumlrzungsverzeichnis
  • 1 Einleitung
    • 11 Einfuumlhrung
    • 12 Motivation
    • 13 Aufgabenstellung
      • 2 Stand der Technik
        • 21 Hand-Auge-Kalibrierung
        • 22 Lokalisierungssysteme
          • 221 Lokalisierung uumlber Elektromagnetische Felder
          • 222 Markerbasierte Lokalisierung
          • 223 Lokalisierung durch Tiefeninformationskameras
            • 23 Zusammenfassung
              • 3 Material und Methoden
                • 31 Artis zeego
                • 32 NDI Optotrak Certus
                • 33 Software
                  • 331 Microsoft Visual Studio 2008
                  • 332 IAE
                      • 4 Konzept und Umsetzung
                        • 41 Konzept
                        • 42 Umsetzung
                          • 421 Aufbau des Lokalisierungssystems
                          • 422 Initialisieren
                          • 423 Markerkoordinaten auslesen
                          • 424 Sichtbarkeits- und Positionsveraumlnderungspruumlfung
                          • 425 Kommunikation beenden
                              • 5 Messaufbau und Testablauf
                              • 6 Auswertung
                              • 7 Diskussion und Ausblick
                              • 8 Zusammenfassung
                              • Literaturverzeichnis
                              • Versicherung uumlber die Selbststaumlndigkeit