Analyse, Modellierung und Programmierung des Geige-spielens an ...
Analyse, Modellierung und Programmierung des Geige-spielens an ...
Analyse, Modellierung und Programmierung des Geige-spielens an ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
11. Bestimmung der Violinenkoordinaten<br />
Bogen<br />
Genauso wie zur Koordinatenbestimmung der Violinensaiten, ist diese Methode auch<br />
zur Bestimmung der Bogenhaare <strong>an</strong>wendbar. Hierbei ist allerdings ein zweihändiger M<strong>an</strong>ipulator<br />
(z. B. Justin) nötig, oder zwei M<strong>an</strong>ipulatoren, welche im selben Basissystem<br />
arbeiten. Ziel ist es dabei, die relative Lage (<strong>und</strong> Orientierung) <strong>des</strong> bespielbaren Bogenhaarbereichs<br />
<strong>und</strong> <strong>des</strong> TCP <strong>des</strong> zu spielenden Glie<strong>des</strong> zu erhalten. Vorgeg<strong>an</strong>gen wird<br />
folgend: Der Bogen wird <strong>an</strong> einem TCP 1 befestigt, während mit den <strong>an</strong>deren TCP 2 die<br />
Haarkoordinaten in Roboterkoord. <strong>und</strong> <strong>an</strong>schließend in Umweltkoord. bestimmt werden.<br />
Durch Differenzbildung der zwei (Lage-)Koordinaten P 1 <strong>und</strong> P 2 <strong>des</strong> TCP 2<br />
⎡<br />
−→<br />
h B = ⎣<br />
−→<br />
h B = 0 P 1 − 0 P 2 (11.1)<br />
P 1x<br />
P 1y<br />
P 1z<br />
⎤<br />
⎡<br />
⎦ − ⎣<br />
P 2x<br />
P 2y<br />
P 2z<br />
⎤<br />
⎦ (11.2)<br />
lässt sich eindeutig die Orientierung der Haare <strong>des</strong> Bogens bestimmen <strong>und</strong> eine Tr<strong>an</strong>sformationsmatrix<br />
B HT von Haar- zu Basiskoordinaten erstellen.<br />
⎡<br />
⎤<br />
B ⎢<br />
HR x = ⎣<br />
⎡<br />
B ⎢<br />
HR y = ⎣<br />
⎡<br />
B ⎢<br />
HR z = ⎣<br />
1 0 0<br />
0 cos(arct<strong>an</strong> △P y<br />
− sin(arct<strong>an</strong> △P y<br />
△P z<br />
)<br />
0 sin(arct<strong>an</strong> △Py<br />
△P z<br />
)<br />
△P z<br />
)<br />
cos(arct<strong>an</strong> △Py<br />
△P z<br />
)<br />
cos(arct<strong>an</strong> △P x<br />
△P z<br />
) 0 sin(arct<strong>an</strong> △P x<br />
△P z<br />
)<br />
0 1 0<br />
− sin(arct<strong>an</strong> △P x<br />
△P z<br />
) 0 cos(arct<strong>an</strong> △P x<br />
△P z<br />
)<br />
cos(arct<strong>an</strong> △Px<br />
sin(arct<strong>an</strong> △Px<br />
B<br />
⎥<br />
⎦ (11.3)<br />
⎤<br />
⎥<br />
⎦ (11.4)<br />
△P y<br />
) − sin(arct<strong>an</strong> △Px<br />
△P y<br />
) 0<br />
⎥<br />
△P y<br />
) cos(arct<strong>an</strong> △Px<br />
△P y<br />
) 0 ⎦ (11.5)<br />
0 0 1<br />
HR = B HR x · BHR y · BHR y (11.6)<br />
[<br />
B<br />
B<br />
HT = H R −→ ]<br />
hB<br />
0 0 0 1<br />
(11.7)<br />
Multipliziert m<strong>an</strong> diese Matrix mir der Inversen der Tr<strong>an</strong>sformationsmatrix B T CP 1<br />
T , so<br />
erhält meine eine Tr<strong>an</strong>sformationsmatrix, welche die relative Lage <strong>und</strong> Orientierung der<br />
Haarkoordinaten (von einem definierten Punkt aus) zum TCP 1 beschreibt.<br />
T CP 1<br />
H<br />
T = B HT · BT CP 1<br />
T −1 (11.8)<br />
⎤<br />
101