Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
532 rain-er 1
0. Allemeine Hinweise
2
Bevor Mission Cockpit verwendet werden kann müssen einige Vorbereitungen gewissenhaft durchgeführt werden.
3
Das kann einige Zeit in Anspruch nehmen. Nehmt euch die Zeit oder lasst es gleich bleiben ;-)
4
Aber glaubt mir, der Zeitaufwand ist es wert!
5
 
6
Also bitte die folgenden Punkte unbedingt durchlesen, verstehen und gewissenhaft umsetzen!
7
 
8
Beachte die Regeln für den Betrieb von ferngesteuerten Flugmodellen!
9
 
10
 
11
1. Update von früheren Programm-Versionen
12
Einstellungen werden in der Datei mkcockpit.xml gespeichert.
13
Mit neueren Programmversionen sind neue Konfigurationseinträge dazugekommen, für die es
14
momentan keine Default-Einstellungen gibt, die aber vom Programm unbedingt benötigt werden.
15
Deswegen muss eine vorhandene mkcockpit.xml mit der bei der jeweiligen Programmversion beiliegenden
16
mkcockpit.xml manuell gemerged werden. Das kann mit einem beliebigen Editor erfolgen,
17
komfortabel geht es mit WinMerge (www.winmerge.org).
18
 
19
 
20
2. Perl Interpreter
21
Mission Cockpit ist in der Scriptsprache Perl/Tk programmiert.
22
 
23
Zur Ausführung des Programms wird Perl Version 5.10.0 benoetigt.
24
Mit Version 5.8. hat das Packet "thread::Queue" nicht richtig funktioniert.
25
 
26
Mission Cockpit ist nicht als EXE-File verfuegbar.
27
 
28
Den Perl Interpreter fuer Windows bekommt man z.B. hier: http://www.activestate.com/activeperl
29
 
30
Mission Cockpit benoetigt folgende Perl-Packete:
31
	Tk
32
	Tk::Balloon
33
	Tk::Dialog
34
        Tk::Notebook;
35
	Math::Trig
36
	XML::Simple        # http://search.cpan.org/dist/XML-Simple-2.18
37
	Geo::Ellipsoid     # http://search.cpan.org/dist/Geo-Ellipsoid-1.12
38
	threads            # http://search.cpan.org/~jdhedden/threads-1.72
39
	threads::shared    # http://search.cpan.org/~jdhedden/threads-shared-1.28
40
	Thread::Queue      # http://search.cpan.org/dist/Thread-Queue-2.11
41
	Time::HiRes        # http://search.cpan.org/~jhi/Time-HiRes-1.9719
42
	Win32::SerialPort  # http://search.cpan.org/dist/Win32-SerialPort
43
 
44
Die Packete liegen, bis auf Tk, in der Mission Cockpit Umgebung im Verzeichnis "perl"
45
Sie werden verwendet, falls sie im standard Perl-Verzeichnis nicht existieren.
46
Die Packete kann man sich alternativ auch aus dem CPAN beschaffen.
47
Tk kann man mit dem Perl-Packet-Manager PPM.EXE installieren, z.B. "ppm install Tk"
48
 
49
 
50
3. Unterstuetzte Betriebssysteme
51
Das Programm wurde unter Windows Vista und Windows XP entwickelt.
52
 
53
Bis auf das verwendete Packet "Win32::SerialPort" sollte das Mission Cockpit auch unter Linux funktionieren.
54
Fuer Linux gibt es das Packet "Device::Serialport" mit der gleichen Schnittstelle.
55
mkcomm.pl und track.pl sind fuer "Device::Serialport" vorbereitet, sollte theoretisch
56
auch unter Linux laufen. Ausprobiert habe ich das allerdings nicht!!
57
 
58
 
59
4. Programmstart
60
mkcockpit.pl   bzw.  perl mkcockpit.pl
61
 
62
 
63
5. Voraussetzung Flight-Ctr und Navi-Ctrl
64
Entwickelt wurde mit FC 0.73d und NC 0.15c
65
 
66
NC-Versionen kleiner als 0.15c funktionieren nicht, wegen der ständig inkompatiblen Änderungen
67
des Debug- und Navidata-Datensatzes der NC.
68
 
69
 
70
6. Karte fuer das Flugfeld definieren
71
Die Karte fuer das Flugfeld muss als GIF-Datei vorliegen. Sie kann eine beliebige Größe haben.
72
Die Karten werden im Verzeichnis "map" abgelegt.
73
Die Karte kann eine beliebige Ausrichtung haben. Norden muss nicht oben sein.
74
Als Quelle eignet sich z.B. ein Screenschot von Google Earth.
75
 
76
In map/map.pl koennen ein oder mehrere Karten definiert werden.
77
Die Auswahl der gewuenschten Karte erfolgt im Konfigurations-Dialog, Reiter "Karte"
78
Fuer jede Karte wird in map.pl eine Sektion angelegt, z.B.:
79
 
80
    Hemhofen => {
81
        'Name' => "Hemhofen",
82
        'Size_X' => '800',
83
        'Size_Y' => '600',
84
        'File' => 'hemhofen-800.gif',
85
 
86
        'P1_x' => '66',               # calibration P1, P2
87
        'P1_y' => '62',
88
        'P2_x' => '778',
89
        'P2_y' => '488',
90
        'P1_Lat' => '49.685333',
91
        'P1_Lon' => '10.950134',
92
        'P2_Lat' => '49.682949',
93
        'P2_Lon' => '10.944580',
94
 
95
        'Offset_x' =>  5,             # Optional Pixel offset MK to right
96
        'Offset_y' => 10,             # Optional pixel offset MK to top
97
 
98
        'Border' => [ 555, 430,       # airfield border
99
                      516, 555,
100
                      258, 555,
101
                      100, 300,
102
                      580, 260,
103
                      530, 94,
104
                      627, 130,
105
                      735, 300,
106
                      680, 400,
107
                      757, 470,
108
                      720, 515,
109
                      575, 420,
110
                    ],
111
        },
112
 
113
Unbedingt auf die richtige Syntax achten (Kommata, geschweifte Klammern, eckige Klammern),
114
sonst gibt es Syntax-Fehler beim Programmstart.
115
 
116
'Border' ist ein Polygon, der als Flugfeldbegrenzung auf der Karte angezeigt wird.
117
Die Koordinaten sind Pixel-Koordinaten bezogen auf das GIF-Hintergrundbild.
118
Der Ursprung 0/0 ist links oben.
119
Der Border-Polygon kann auch komplett weggelassen werden.
120
Später möchte ich noch eine Logik programmieren, die das Setzen der Wegpunkte nur innerhalb
121
des Polygons erlaubt.
122
 
123
 
124
7. Kalibirieren der Karte
125
Die Karte muss gewissenhaft kalibiriert werden!
126
Dazu werden bei der zu kalibrierenden Karte in "map/map.pl" fuer zwei
127
markante Punkte P1, P2 die Pixel-Koordinaten und die dazugehoerigen GPS-Koordinaten eingetragen.
128
P1 und P2 sollten moeglichst weit auseinader liegen, z.B. P1 links oben und P2 rechts unten.
129
Man kann zunaechst beliebige Werte eintragen und dann das Programm starten.
130
Die Pixel-Koordinaten werden in der Statuszeile angezeigt, wenn man mit der linken Maustaste auf
131
die Karte klickt. Die entsprechnden GPS-Koordinaten kann man z.B. im Google Earth ermitteln.
132
 
133
Mit 'Offset_x' und 'Offset_y' kann man die Kalibrierung korrigieren, d.h. den MK auf der
134
Karte pixelweise verschieben.
135
 
136
Anmerkung:
137
Da ist scheinbar ein kleiner Bug in der Kalibrierung. Der Punkt P1 muss oberhalb und links von P2 liegen.
138
 
139
 
140
8. Daten-Link zum MK
141
Das Programm benoetigt unbedingt einen stabilen Daten-Link zum Debug-Port der Navi-Ctrl.
142
Das WI.232 Modul hat sich bei mir auch bei grosser Entfernung (250 m) als zuverlaessig erwiesen.
143
Kommuniziert wird ausschliesslich mit der Navi-Ctrl.
144
Es werden OSD- und Debug-Datensatz von der NC, Target- und Waypoint-Datensatz zur NC verwendet.
145
 
146
 
147
9. Konfiguration
148
Die Konfiguration wird in mkcockpit.xml gespeichert.
149
Konfigurieren kann man im Mission Cockpit, Menu "Datei -> Einstellungen".
150
ALternativ kann man die XML-Datei auch direkt editieren.
151
Bei Konfiguration im Mission Cockpit ist zu beachten, dass die meisten Einstellungen erst bei
152
Programm-Neustart wirksam werden!
153
 
154
Um einen guten Kontrast zwischen der Karte und den auf die Karte gezeichneten Objekte zu erhalten
155
kann es erforderlich sein, die Farbe der Objekte umzudefinieren.
156
Die Farben koennen im Konfigurations-Dialog eingestellt werden. Gueltige Werte sind:
157
- Namen, z.B. red, green, blue, ...
158
- RGB Hex-Werte, z.B. #ff0000  (= rot)
159
 
160
 
161
10. Waypoint-Fliegen - Klassische Art von der NC gesteuert
162
Waypoints werden per rechter Maustaste gesetzt und sofort an den MK uebertragen.
163
Waypoints kann man per Drag/Drop mit der linken Maustaste verschieben. Die Waypoint-Verbindungslinien
164
werden dann rot angezeigt. Das bedeutet, dass die angezeigten Wegpunkte nicht mehr mit den bereits zum
165
MK uebertragenen Wegpunkten uebereistimmen. Die Waypoints muessen dann per rechtem Maustaste-Menue
166
"Alle Wegpunkte erneut senden" an den MK uebertragen werden.
167
 
168
Der MK beginnt die Waypoints abzufliegen, wenn per RC-Fernsteuerung der "Coming Home" Modus aktiviert wird.
169
Nach dem letzten Wegpunkt fliegt der MK automatisch zur Home-Position zurueck.
170
 
171
Die Navi-Ctrl kann max. 20 Wegpunkte aufnehmen.
172
 
173
Das Wegpunkt-Fliegen kann unterbrochen werden, indem per RC von "Coming Home" auf "Position Hold"
174
geschaltet wird. Wenn dann wieder auf Coming Home" geschaltet wird faengt der MK wieder von vorne mit
175
dem ersten Waypoint an.
176
 
177
 
178
11. Waypoint Player - Die innovative Art vom Mission Cockpit gesteuert
179
Das klassische vom NC gesteuerte Waypoint-Fliegen ist relativ unflexibel und wird relativ schnell langweilig.
180
Deswegen habe ich einen vom Mission Cockpit gesteuerten Waypoint-Player implementiert.
181
Der Waypoint-Player sendet ständig Target-Datensätze an den MK, ähnlich wie beim Follow-Me oder Follow-Bär.
182
Damit hat man wesentlich mehr Möglichkeiten:
183
- Beliebig viele Waypoints
184
- Die Steuerung  des Wp-Players erfolgt wie bei einem CD-Player:
185
     >    Starten des Waypoint-Players
186
          Key: Leertaste
187
     ||   Pause - Der MK bleibt an der momentanen Position stehen. Mit ">" kann der WP-Flug fortgesetzt werden
188
          Key: Leertaste
189
     >>   Anfliegen des nächsten Wegpunktes
190
          Key: n
191
     <<   Anfliegen des vorherigen Wegpunktes
192
          Key: p
193
     |<<  Anfliegen des ersten Wegpunktes
194
          Key: f
195
     >>|  Anfliegen des letzten Wegpunktes
196
          Key: l
197
     Home Anfliegen der Home-Position
198
          Key: h
199
     Stop Beenden des Waypoint-Players. Der klassische Waypoint-Modus wird wieder aktiviert.
200
          Key: s
201
 
202
  Die Steuerung erfolgt entweder mit:
203
  - Maus und die am unteren Bildschirmrand eingeblendeten Symbole
204
  - Tastatur - Tastenbelegung siehe oben
205
  - Einer programmierbaren PC-Fernbedienung, die Tastatureingaben simuliert.
206
    Ich verwende z.B. eine X10-Fernbedienung, die oft Medion-PCs zur Steuerung des MediaCenter beiliegt,
207
    in Verbindung mit EventGhost (www.eventghost.org).
208
 
209
Zum Fliegen mit dem Waypoint-Player muss sich der MK im "Coming Home"-Modus befinden, so
210
wie auch beim normalen WP-Fliegen, und zusätzlich mit  ">" gestartet werden.
211
Der Waypoint-Player arbeitet, wenn in der Modus-Anzeige "Play" oder "Pause" angezeigt wird.
212
 
213
Der Waypoint-Player kann bereits im PH-Modus mit ">" gestartet werden.
214
Nach Umschalten auf CH fängt der Waypoint-Player an die Zielkoordinaten zu senden und abzufliegen.
215
 
216
Da der Waypoint-Player immer nur den nächsten Waypoint an den MK überträgt kann die Waypoint-Liste noch
217
geändert werden oder neue Waypoints hinzugefügt werden, während der MK bereits die Liste abfliegt.
218
Eine erneute Übertragung der WP-Liste an den MK wie beim "normalen" WP-Fliegen ist nicht erforderlich.
219
 
220
Ärgerlich ist, dass der MK bei Empfang eines Target-Datensatzes kurz piept. Da die Target-Datensätze
221
2x pro Sekunde übertragen werden ist das sehr nervig. Ich habe deswegen den Piepser mit einem Stück
222
Klebeband abgeklebt. Er ist dadurch im Flug zwar nicht mehr zu höhren, aber eigentlich braucht man
223
das auch nicht, weil die relevanten Daten im Mission Cockpit angezeigt werden.
224
 
225
Da der MK im Waypoint-Player Modus die Zielkoordinaten ständig neu gesendet bekommt ist eine stabile
226
Datenübertragung umso wichtiger! Falls der Daten-Link doch einmal versagen sollte kehrt der MK nach 60 sec
227
Holdtime automatiosch zur Home-Position zurück.
228
 
229
Der Waypoint-Player verwendet die gleichen Waypoint-Listen wie beim normalen WP-Fliegen.
230
 
231
 
232
12. Wegpunkte von Datei Laden/Speichern
233
Wegpunkte können als XML-Datei gespeichert und wieder geladen werden.
234
Die x/y Pixelkoordinaten werden nun relativ bezogen auf die Größe des Bildes als Fließkommazahlen im
235
Bereich 0..1 gespeichert. Damit ist es möglich, eine Waypoint-Liste auch auf einer größeren oder kleineren
236
Karte zu laden.
237
Beim Laden werden die GPS-Koordinaten für die aktuelle Karte aus den x/y Pixelkoordinaten neu berechnet.
238
Somit kann man die für eine Karte erstellten Wegpunkte auch auf einer anderen Karte laden, ohne die
239
GPS-Koordinaten der Wegpunkte anpassen zu müssen.
240
 
241
 
242
13. Follow "Bär"
243
Das "Bärchen" kann per Drag/Drop mit der linken Maustaste auf der Karte rumgeschoben werden.
244
Der MK fliegt hinterher, wenn er per RC in den "Coming-Home" Modus geschaltet ist.
245
Solange der Bär verschoben wird, wird ein mal pro Sekunde ein Target-Datensatz zum MK geschickt.
246
 
247
 
248
14. Tracking Antenne
249
Im Mission Cockpit ist die Ansteuerung fuer eine horizontale 180 Grad Antennennachfuehrung implementiert.
250
Damit kann z.B. die Richtantenne einer Video-Uebertragungsstecke nachgefuehrt werden.
251
 
252
Dazu wird benoetigt:
253
- Pololu Mikro-Servoboard, z.B. http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=118
254
  Das Board wird an eine serielle Schnittstelle am PC angeschlossen.
255
- Ein Servo, welches mechanisch einen 180 Grad Drehwinkel zulaesst, z.B. MPX Polo Digi 4 / Hitec HS85 oder aehnlich.
256
  Das Servo wird ausserhalb der ueblichen Impulslängen angesteuert, um den 180 Grad Drehwinkel zu erreichen.
257
 
258
Momentan ist lediglich eine horizontale Nachfuehrung implementiert.
259
 
260
Die Tracking-Antenne wird im Konfgurations-Dialog, Reiter "Tracking Antenne", aktiviert: (Yes/No).
261
Bei aktivierter Tracking-Antenne wird links unten ein Richtungsanzeiger der Antenne eingeblendet.
262
 
263
Mission Cockpit benötigt die GPS-Koordinaten und Kompass-Richtung fuer die Mittelstellung der Antenne.
264
Dazu stellt man den MK vor die Antenne, der MK zeigt dabei in die gleiche Richtung wie die Antenne.
265
 
266
Beim Start der MK-Motore werden die GPS- und Kompass-Daten vom MK als Koordinaten der Groundstation übernommen.
267
 
268
15. Hinweise zum Waypoint Fliegen
269
Der MK muss im Free-Modus einwandfrei fliegen. Bei wenig Wind und eingeschaltetem Höhensensor darf
270
der MK nur ganz wenig abdriften.
271
 
272
Der MK muss im Free-Modus sicher beherrscht werden, bevor man sich ans WP-Fliegen wagt.
273
Der MK fliegt zwar (fast) von selber, aber in brenzligen Situationen muss man sicher eingreifen können und den
274
MK evtl. auch aus großen Entfernungen sicher zurückholen können.
275
 
276
Meine Erfahrung zeigt, dass 6 Satelliten für einen stabilen PositionHold oder Waypoint-Flug nicht ausreichen.
277
Es sollten schon 8 oder mehr Satelliten empfangen werden.
278
 
279
 
280
16. Mikrokopter Forum
281
http://forum.mikrokopter.de/topic-8404.html
282
Feedback könnt ihr gerne ins Form schreiben.
283
 
284
 
285
Viel Spass mit dem Mission Cockpit
286
Rainer