Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
365 rain-er 1
0. Allemeine Hinweise
2
Bevor Mission Cockpit verwendet werden kann muessen einige Vorbereitungen durchgefuehrt werden.
3
Die folgenden Punkte unbedingt durchlesen und verstehen!
4
 
5
Beachte die Regeln für den Betrieb von ferngesteuerten Flugmodellen!
6
 
7
1. Perl Interpreter
8
Mission Cockpit ist in der Scriptsprache Perl/Tk programmiert.
9
 
10
Zur Ausfuehrung des Programms wird Perl Version 5.10.0 benoetigt.
11
Mit Version 5.8. hat das Packet "thread::Queue" nicht richtig funktioniert.
12
 
13
Mission Cockpit ist nicht als EXE-File verfuegbar.
14
 
15
Den Perl Interpreter fuer Windows bekommt man z.B. hier: http://www.activestate.com/activeperl
16
 
17
Mission Cockpit benoetigt folgende Perl-Packete:
18
	Tk
19
	Tk::Balloon
20
	Tk::Dialog
21
        Tk::Notebook;
22
	Math::Trig
23
	XML::Simple        # http://search.cpan.org/dist/XML-Simple-2.18
24
	Geo::Ellipsoid     # http://search.cpan.org/dist/Geo-Ellipsoid-1.12
25
	threads            # http://search.cpan.org/~jdhedden/threads-1.72
26
	threads::shared    # http://search.cpan.org/~jdhedden/threads-shared-1.28
27
	Thread::Queue      # http://search.cpan.org/dist/Thread-Queue-2.11
28
	Time::HiRes        # http://search.cpan.org/~jhi/Time-HiRes-1.9719
29
	Win32::SerialPort  # http://search.cpan.org/dist/Win32-SerialPort
30
 
31
Die Packete liegen, bis auf Tk, in der Mission Cockpit Umgebung im Verzeichnis "perl"
32
Sie werden verwendet, falls sie im standard Perl-Verzeichnis nicht existieren.
33
Die Packete kann man sich alternativ auch aus dem CPAN beschaffen.
34
Tk kann man mit dem Perl-Packet-Manager PPM.EXE installieren, z.B. "ppm install Tk"
35
 
36
 
37
2. Unterstuetzte Betriebssysteme
38
Das Programm wurde unter Windows Vista und Windows XP entwickelt.
39
 
40
Bis auf das verwendete Packet "Win32::SerialPort" sollte das Mission Cockpit auch unter Linux funktionieren.
41
Fuer Linux gibt es das Packet "Device::Serialport" mit der gleichen Schnittstelle.
42
mkcomm.pl und track.pl sind fuer "Device::Serialport" vorbereitet, sollte theoretisch
43
auch unter Linux laufen. Ausprobiert habe ich das allerdings nicht!!
44
 
45
3. Programmstart
46
mkcockpit.pl   bzw.  perl mkcockpit.pl
47
 
48
4. Voraussetzung Flight-Ctr und Navi-Ctrl
49
Entwickelt wurde mit FC 0.73d und NC 0.15c
50
 
51
 
52
5. Karte fuer das Flugfeld definieren
53
Die Karte fuer das Flugfeld muss als GIF-Datei mit den Abmessungen 800x600 Pixel vorliegen.
54
Die Karten werden im Verzeichnis "map" abgelegt.
55
Die Karte kann eine beliebige ausrichtung haben. Norden muss nicht oben sein.
56
Als Quelle eignet sich z.B. ein Screenschot von Google Earth.
57
 
58
In map/map.pl koennen ein oder mehrere Karten definiert werden.
59
Die Auswahl der gewuenschten Karte erfolgt im Konfigurations-Dialog, Reiter "Karte"
60
Fuer jede Karte wird in map.pl eine Sektion angelegt, z.B.:
61
 
62
    Hemhofen => {
63
        'Name' => "Hemhofen",
64
        'Size_X' => '800',
65
        'Size_Y' => '600',
66
        'File' => 'hemhofen-800.gif',
67
 
68
        'P1_x' => '66',               # calibration P1, P2
69
        'P1_y' => '62',
70
        'P2_x' => '778',
71
        'P2_y' => '488',
72
        'P1_Lat' => '49.685333',
73
        'P1_Lon' => '10.950134',
74
        'P2_Lat' => '49.682949',
75
        'P2_Lon' => '10.944580',
76
 
77
        'Border' => [ 555, 430,       # airfield border
78
                      516, 555,
79
                      258, 555,
80
                      100, 300,
81
                      580, 260,
82
                      530, 94,
83
                      627, 130,
84
                      735, 300,
85
                      680, 400,
86
                      757, 470,
87
                      720, 515,
88
                      575, 420,
89
                    ],
90
        },
91
 
92
Unbedingt auf die richtige Syntax achten (Kommata, geschweifte Klammern, eckige Klammern),
93
sonst gibt es Syntax-Fehler beim Programmstart.
94
 
95
'Border' ist ein Polygon, der als Flugfeldbegrenzung auf der Karte angezeigt wird.
96
Die Koordinaten sind Pixel-Koordinatenbezogen auf das GIF-Hintergrundbild.
97
Der Ursprung 0/0 ist links oben.
98
Der Border-Polygon kann auch komplett weggelassen werden.
99
Später möchte ich noch eine Logik programmieren, die das Setzen der Wegpunkte nur innerhalb
100
des Polygons erlaubt.
101
 
102
 
103
6. Kalibirieren der Karte
104
Die Karte muss gewissenhaft kalibiriert werden!
105
Dazu werden bei der zu kalibrierenden Karte in "map/map.pl" fuer zwei
106
markante Punkte P1, P2 die Pixel-Koordinaten und die dazugehoerigen GPS-Koordinaten eingetragen.
107
P1 und P2 sollten moeglichst weit auseinader liegen, z.B. P1 links oben und P2 rechts unten.
108
Man kann zunaechst beliebige Werte eintragen und dann das Programm starten.
109
Die Pixel-Koordinaten werden in der Statuszeile angezeigt, wenn man mit der linken Maustaste auf
110
die Karte klickt. Die entsprechnden GPS-Koordinaten kann man z.B. im Google Earth ermitteln.
111
 
112
7. Daten-Link zum MK
113
Das Programm benoetigt unbedingt einen stabilen Daten-Link zum Debug-Port der Navi-Ctrl.
114
Das WI.232 Modul hat sich bei mir auch bei grosser Entfernung (250 m) als zuverlaessig erwiesen.
115
Kommuniziert wird ausschliesslich mit der Navi-Ctrl.
116
Es werden OSD- und Debug-Datensatz von der NC, Target- und Waypoint-Datensatz zur NC verwendet.
117
 
118
8. Konfiguration
119
Die Konfiguration wird in mkcockpit.xml gespeichert.
120
Konfigurieren kann man im Mission Cockpit, Menu "Datei -> Einstellungen".
121
ALternativ kann man die XML-Datei auch direkt editieren.
122
Bei Konfiguration im Mission Cockpit ist zu beachten, dass die meisten Einstellungen erst bei
123
Programm-Neustart wirksam werden!
124
 
125
Um einen guten Kontrast zwischen der Karte und den auf die Karte gezeichneten Objekte zu erhalten
126
kann es erforderlich sein, die Farbe der Objekte umzudefinieren.
127
Die Farben koennen im Konfigurations-Dialog eingestellt werden. Gueltige Werte sind:
128
- Namen, z.B. red, green, blue, ...
129
- RGB Hex-Werte, z.B. #ff0000  (= rot)
130
 
131
9. Waypoint-Fliegen
132
Waypoints werden per rechter Maustaste gesetzt und sofort an den MK uebertragen.
133
Waypoints kann man per Drag/Drop mit der linken Maustaste verschieben. Die Waypoint-Verbindungslinien
134
werden dann rot angezeigt. Das bedeutet, dass die angezeigten Wegpunkte nicht mehr mit den bereits zum
135
MK uebertragenen Wegpunkten uebereistimmen. Die Waypoints muessen dann per rechtem Maustaste-Menue
136
"Alle Wegpunkte erneut senden" an den MK uebertragen werden.
137
 
138
Der MK beginnt die Waypoints abzufliegen, wenn per RC-Fernsteuerung der "Coming Home" Modus aktiviert wird.
139
Nach dem letzten Wegpunkt fliegt der MK automatisch zur Home-Position zurueck.
140
 
141
Die Navi-Ctrl kann max. 20 Wegpunkte aufnehmen.
142
 
143
Das Wegpunkt-Fliegen kann unterbrochen werden, indem per RC von "Coming Home" auf "Position Hold"
144
geschaltet wird. Wenn dann wieder auf Coming Home" geschaltet wird faengt der MK wieder von vorne mit
145
dem ersten Waypoint an.
146
 
147
10. Wegpunkte von Datei Laden/Speichern
148
Wegpunkte können als XML-Datei gespeichert und wieder geladen werden.
149
Beim Laden werden GPS-Koordinaten aus den x/y Bildkoordinaten neu berechnet.
150
Somit kann man die für eine Karte erstellten Wegpunkte auch auf einer anderen Karte laden.
151
 
152
 
153
11. Follow "Bär"
154
Das "Bärchen" kann per Drag/Drop mit der linken Maustaste auf der Karte rumgeschoben werden.
155
Der MK fliegt hinterher, wenn er per RC in den "Coming-Home" Modus geschaltet ist.
156
Solange der Bär verschoben wird, wird ein mal pro Sekunde ein Target-Datensatz zum MK geschickt.
157
 
158
12. Tracking Antenne
159
Im Mission Cockpit ist die Ansteuerung fuer eine horizontale 180 Grad Antennennachfuehrung implementiert.
160
Damit kann z.B. die Richtantenne einer Video-Uebertragungsstecke nachgefuehrt werden.
161
 
162
Dazu wird benoetigt:
163
- Pololu Mikro-Servoboard, z.B. http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=118
164
  Das Board wird an eine serielle Schnittstelle am PC angeschlossen.
165
- Ein Servo, welches mechanisch einen 180 Grad Drehwinkel zulaesst, z.B. MPX Polo Digi 4 / Hitec HS85 oder aehnlich.
166
  Das Servo wird ausserhalb der ueblichen Impulslängen angesteuert, um den 180 Grad Drehwinkel zu erreichen.
167
 
168
Momentan ist lediglich eine horizontale Nachfuehrung implementiert.
169
 
170
Die Tracking-Antenne wird im Konfgurations-Dialog, Reiter "Tracking Antenne", aktiviert: (Yes/No).
171
Bei aktivierter Tracking-Antenne wird links unten ein Richtungsanzeiger der Antenne eingeblendet.
172
 
173
Mission Cockpit benötigt die GPS-Koordinaten und Kompass-Richtung fuer die Mittelstellung der Antenne.
174
Dazu stellt man den MK vor die Antenne, der MK zeigt dabei in die gleiche Richtung wie die Antenne.
175
 
176
Beim Start der MK-Motore werden die GPS- und Kompass-Daten vom MK als Koordinaten der Groundstation übernommen.
177
 
178
 
179
13. Mikrokopter Forum
180
http://forum.mikrokopter.de/topic-8404.html