Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
598 | 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 | |||
25 | Mission Cockpit ist nicht als EXE-File verfuegbar. |
||
26 | |||
27 | Den Perl Interpreter fuer Windows bekommt man z.B. hier: http://www.activestate.com/activeperl |
||
28 | |||
29 | Mission Cockpit benoetigt folgende Perl-Packete: |
||
30 | Tk |
||
31 | Tk::Balloon |
||
32 | Tk::Dialog |
||
33 | Tk::Notebook; |
||
34 | Math::Trig |
||
35 | XML::Simple # http://search.cpan.org/dist/XML-Simple-2.18 |
||
36 | Geo::Ellipsoid # http://search.cpan.org/dist/Geo-Ellipsoid-1.12 |
||
37 | threads # http://search.cpan.org/~jdhedden/threads-1.72 |
||
38 | threads::shared # http://search.cpan.org/~jdhedden/threads-shared-1.28 |
||
39 | Thread::Queue # http://search.cpan.org/dist/Thread-Queue-2.11 |
||
40 | Time::HiRes # http://search.cpan.org/~jhi/Time-HiRes-1.9719 |
||
41 | Win32::SerialPort # http://search.cpan.org/dist/Win32-SerialPort |
||
42 | |||
43 | Die Packete liegen, bis auf Tk, betriebsbereit in der Mission Cockpit Umgebung im Verzeichnis "perl" |
||
44 | Sie werden verwendet, falls sie im standard Perl-Verzeichnis nicht existieren. |
||
45 | Die Packete kann man sich alternativ auch aus dem CPAN beschaffen. |
||
46 | Tk kann man mit dem Perl-Packet-Manager PPM.EXE installieren, z.B. "ppm install Tk" |
||
47 | |||
48 | 3. Unterstuetzte Betriebssysteme |
||
49 | Das Programm wurde unter Windows Vista und Windows XP entwickelt. |
||
50 | |||
51 | Bis auf das verwendete Packet "Win32::SerialPort" sollte das Mission Cockpit auch unter Linux funktionieren. |
||
52 | Fuer Linux gibt es das Packet "Device::Serialport" mit der gleichen Schnittstelle. |
||
53 | mkcomm.pl und track.pl sind fuer "Device::Serialport" vorbereitet, sollte theoretisch |
||
54 | auch unter Linux laufen. Ausprobiert habe ich das allerdings nicht!! |
||
55 | |||
56 | |||
57 | 4. Programmstart |
||
58 | mkcockpit.pl bzw. perl mkcockpit.pl |
||
59 | |||
60 | |||
61 | 5. Voraussetzung Flight-Ctr und Navi-Ctrl |
||
62 | Entwickelt wurde mit FC 0.73d und NC 0.15c |
||
63 | |||
64 | NC-Versionen kleiner als 0.15c funktionieren nicht, wegen der ständig inkompatiblen Änderungen |
||
65 | des Debug- und Navidata-Datensatzes der NC. |
||
66 | |||
67 | |||
68 | 6. Karte fuer das Flugfeld definieren |
||
69 | Die Karte fuer das Flugfeld muss als JPEG, PNG oder GIF-Datei vorliegen. |
||
70 | Sie kann eine beliebige Größe haben. |
||
71 | Die Karten werden im Verzeichnis "map" abgelegt. |
||
72 | Die Karte kann eine beliebige Ausrichtung haben. Norden muss nicht oben sein. |
||
73 | Als Quelle eignet sich z.B. ein Screenschot von Google Earth. |
||
74 | |||
75 | Im Verzeichnis "map" können mehrere Karten-Definitionen als XML-Dateien abgelegt werden. |
||
76 | Eine XML-Datei kann eine oder mehrere Karten-Definitionen enthalten. |
||
77 | Die Auswahl der gewuenschten Karte erfolgt im Konfigurations-Dialog, Reiter "Karte" |
||
78 | |||
79 | Die XML-Datei muss momentan manuell angelegt und editiert werden. |
||
80 | Eine XML-Datei hat folgenden Aufbau: |
||
81 | |||
82 | <mkcockpit-Maps> |
||
83 | <Hemhofen |
||
84 | Name="Hemhofen" |
||
85 | Size_X="800" |
||
86 | Size_Y="600" |
||
87 | File="hemhofen-800.png" |
||
88 | |||
89 | P1_x="66" |
||
90 | P1_y="62" |
||
91 | P2_x="778" |
||
92 | P2_y="488" |
||
93 | P1_Lat="49.685333" |
||
94 | P1_Lon="10.250134" |
||
95 | P2_Lat="49.882949" |
||
96 | P2_Lon="10.344580" |
||
97 | |||
98 | Home_Lat="48.683734" |
||
99 | Home_Lon="11.945960" |
||
100 | |||
101 | Offset_x="5" |
||
102 | Offset_y="5" |
||
103 | |||
104 | Track_Lat="48.685333" |
||
105 | Track_Lon="11.950134" |
||
106 | Track_Alt="512" |
||
107 | Track_Bearing="10" |
||
108 | |||
109 | Border="555, 430, |
||
110 | 516, 555, |
||
111 | 258, 555, |
||
112 | 100, 300, |
||
113 | 580, 260, |
||
114 | 530, 94, |
||
115 | 627, 130, |
||
116 | 735, 300, |
||
117 | 680, 400, |
||
118 | 757, 470, |
||
119 | 720, 515, |
||
120 | 575, 420," |
||
121 | /> |
||
122 | </mkcockpit-Maps> |
||
123 | |||
124 | |||
125 | Die XML-Datei muss dem gängigen XML-Syntax entsprechen. |
||
126 | Folgende Werte sind optional und können entfallen: |
||
127 | |||
128 | Home_Lat, Home_Lon: |
||
129 | Home-Position für den Player. Wenn nicht angegeben wird die Home-Position vom MK verwendet. |
||
130 | |||
131 | Offset_x, Offset_y: |
||
132 | Für kleine Korrekturen der Kalibrierung. Die auf der Kart dargestellten Objekte wden um die |
||
133 | Anzahl der angegeben Pixel verschoben. |
||
134 | |||
135 | Track_Lat, Track_Lon, Track_Alt, Track_Bearing: |
||
136 | Position und Blickrichtung der Tracking-Antenne, falls abweichend vom MK-Startpunkt |
||
137 | |||
138 | Border: |
||
139 | Polygon der Flugfeldbegrenzung |
||
140 | Die Koordinaten sind Pixel-Koordinaten bezogen auf das Hintergrundbild. |
||
141 | Der Ursprung 0/0 ist links oben. |
||
142 | |||
143 | |||
144 | 7. Kalibirieren der Karte |
||
145 | Die Karte muss gewissenhaft kalibiriert werden! |
||
146 | Dazu werden bei der zu kalibrierenden Karte in in der entsprechenden XML-Datei im "map"-Verzeichnis |
||
147 | fuer zwei markante Punkte P1, P2 die Pixel-Koordinaten und die dazugehoerigen GPS-Koordinaten eingetragen. |
||
148 | P1 und P2 sollten moeglichst weit auseinader liegen, z.B. P1 links oben und P2 rechts unten. |
||
149 | Man kann zunaechst beliebige Werte eintragen und dann das Programm starten. |
||
150 | Die Pixel-Koordinaten werden in der Statuszeile angezeigt, wenn man mit der linken Maustaste auf |
||
151 | die Karte klickt. Die entsprechnden GPS-Koordinaten kann man z.B. im Google Earth ermitteln. |
||
152 | |||
153 | Anmerkung: |
||
154 | Da ist scheinbar ein kleiner Bug in der Kalibrierung. Der Punkt P1 muss oberhalb und links von P2 liegen. |
||
155 | |||
156 | |||
157 | 8. Daten-Link zum MK |
||
158 | Das Programm benoetigt unbedingt einen stabilen Daten-Link zum Debug-Port der Navi-Ctrl. |
||
159 | Das WI.232 Modul hat sich bei mir auch bei grosser Entfernung (250 m) als zuverlaessig erwiesen. |
||
160 | Kommuniziert wird ausschliesslich mit der Navi-Ctrl. |
||
161 | Es werden OSD- und Debug-Datensatz von der NC, Target- und Waypoint-Datensatz zur NC verwendet. |
||
162 | |||
163 | |||
164 | 9. Konfiguration |
||
165 | Die Konfiguration wird in mkcockpit.xml gespeichert. |
||
166 | Konfigurieren kann man im Mission Cockpit, Menu "Datei -> Einstellungen". |
||
167 | ALternativ kann man die XML-Datei auch direkt editieren. |
||
168 | Bei Konfiguration im Mission Cockpit ist zu beachten, dass die meisten Einstellungen erst bei |
||
169 | Programm-Neustart wirksam werden! |
||
170 | |||
171 | Um einen guten Kontrast zwischen der Karte und den auf die Karte gezeichneten Objekte zu erhalten |
||
172 | kann es erforderlich sein, die Farbe der Objekte umzudefinieren. |
||
173 | Die Farben koennen im Konfigurations-Dialog eingestellt werden. Gueltige Werte sind: |
||
174 | - Namen, z.B. red, green, blue, ... |
||
175 | - RGB Hex-Werte, z.B. #ff0000 (= rot) |
||
176 | |||
177 | |||
178 | 10. Waypoint-Fliegen - Klassische Art von der NC gesteuert |
||
179 | Waypoints werden per rechter Maustaste gesetzt und sofort an den MK uebertragen. |
||
180 | Waypoints kann man per Drag/Drop mit der linken Maustaste verschieben. Die Waypoint-Verbindungslinien |
||
181 | werden dann rot angezeigt. Das bedeutet, dass die angezeigten Wegpunkte nicht mehr mit den bereits zum |
||
182 | MK uebertragenen Wegpunkten uebereistimmen. Die Waypoints muessen dann per rechtem Maustaste-Menue |
||
183 | "Alle Wegpunkte erneut senden" an den MK uebertragen werden. |
||
184 | |||
185 | Der MK beginnt die Waypoints abzufliegen, wenn per RC-Fernsteuerung der "Coming Home" Modus aktiviert wird. |
||
186 | Nach dem letzten Wegpunkt fliegt der MK automatisch zur Home-Position zurueck. |
||
187 | |||
188 | Die Navi-Ctrl kann max. 20 Wegpunkte aufnehmen. |
||
189 | |||
190 | Das Wegpunkt-Fliegen kann unterbrochen werden, indem per RC von "Coming Home" auf "Position Hold" |
||
191 | geschaltet wird. Wenn dann wieder auf Coming Home" geschaltet wird faengt der MK wieder von vorne mit |
||
192 | dem ersten Waypoint an. |
||
193 | |||
194 | |||
195 | 11. Waypoint Player - Die innovative Art vom Mission Cockpit gesteuert |
||
196 | Das klassische vom NC gesteuerte Waypoint-Fliegen ist relativ unflexibel und wird relativ schnell langweilig. |
||
197 | Deswegen habe ich einen vom Mission Cockpit gesteuerten Waypoint-Player implementiert. |
||
198 | Der Waypoint-Player sendet ständig Target-Datensätze an den MK, ähnlich wie beim Follow-Me oder Follow-Bär. |
||
199 | Damit hat man wesentlich mehr Möglichkeiten: |
||
200 | - Beliebig viele Waypoints |
||
201 | - Die Steuerung des Wp-Players erfolgt wie bei einem CD-Player: |
||
202 | > Starten des Waypoint-Players |
||
203 | Key: Leertaste |
||
204 | || Pause - Der MK bleibt an der momentanen Position stehen. Mit ">" kann der WP-Flug fortgesetzt werden |
||
205 | Key: Leertaste |
||
206 | >> Anfliegen des nächsten Wegpunktes |
||
207 | Key: n |
||
208 | << Anfliegen des vorherigen Wegpunktes |
||
209 | Key: p |
||
210 | |<< Anfliegen des ersten Wegpunktes |
||
211 | Key: f |
||
212 | >>| Anfliegen des letzten Wegpunktes |
||
213 | Key: l |
||
214 | Home Anfliegen der Home-Position |
||
215 | Key: h |
||
216 | Stop Beenden des Waypoint-Players. Der klassische Waypoint-Modus wird wieder aktiviert. |
||
217 | Key: s |
||
218 | |||
219 | Die Steuerung erfolgt entweder mit: |
||
220 | - Maus und die am unteren Bildschirmrand eingeblendeten Symbole |
||
221 | - Tastatur - Tastenbelegung siehe oben |
||
222 | - Einer programmierbaren PC-Fernbedienung, die Tastatureingaben simuliert. |
||
223 | Ich verwende z.B. eine X10-Fernbedienung, die oft Medion-PCs zur Steuerung des MediaCenter beiliegt, |
||
224 | in Verbindung mit EventGhost (www.eventghost.org). |
||
225 | - Vista Sprachsteuerung kann Tastaureingaben simulieren. |
||
226 | |||
227 | Zum Fliegen mit dem Waypoint-Player muss sich der MK im "Coming Home"-Modus befinden, so |
||
228 | wie auch beim normalen WP-Fliegen, und zusätzlich mit ">" gestartet werden. |
||
229 | Der Waypoint-Player arbeitet, wenn in der Modus-Anzeige "Play" oder "Pause" angezeigt wird. |
||
230 | |||
231 | Der Waypoint-Player kann bereits im PH-Modus mit ">" gestartet werden. |
||
232 | Nach Umschalten auf CH fängt der Waypoint-Player an die Zielkoordinaten zu senden und abzufliegen. |
||
233 | |||
234 | Da der Waypoint-Player immer nur den nächsten Waypoint an den MK überträgt kann die Waypoint-Liste noch |
||
235 | geändert werden oder neue Waypoints hinzugefügt werden, während der MK bereits die Liste abfliegt. |
||
236 | Eine erneute Übertragung der WP-Liste an den MK wie beim "normalen" WP-Fliegen ist nicht erforderlich. |
||
237 | |||
238 | Ärgerlich ist, dass der MK bei Empfang eines Target-Datensatzes kurz piept. Da die Target-Datensätze |
||
239 | 2x pro Sekunde übertragen werden ist das sehr nervig. Ich habe deswegen den Piepser mit einem Stück |
||
240 | Klebeband abgeklebt. Er ist dadurch im Flug zwar nicht mehr zu höhren, aber eigentlich braucht man |
||
241 | das auch nicht, weil die relevanten Daten im Mission Cockpit angezeigt werden. |
||
242 | |||
243 | Da der MK im Waypoint-Player Modus die Zielkoordinaten ständig neu gesendet bekommt ist eine stabile |
||
244 | Datenübertragung umso wichtiger! Falls der Daten-Link doch einmal versagen sollte kehrt der MK nach 60 sec |
||
245 | Holdtime automatiosch zur Home-Position zurück. |
||
246 | |||
247 | Der Waypoint-Player verwendet die gleichen Waypoint-Listen wie beim normalen WP-Fliegen. |
||
248 | |||
249 | 12. Modi des Players |
||
250 | Die Taste "R" (Random) schaltet folgende Modi durch: |
||
251 | - Play WPT: Die Waypoints werden der Reihe nach abgeflogen |
||
252 | - Rand WPT: Die Wegpunkte werden nach dem Zufallsprinzip abgeflogen |
||
253 | - Rand MAP: Es wird nach dem Zufallsprinzip auf der Karte ein beliebiger Punkt gesucht und angeflogen |
||
254 | Dabei werden 10% des Karten-Randes nicht angeflogen. |
||
255 | |||
256 | Die Tasten "W" oder "K" schalten zwischen dem eventgesteuertem WPT-Mode und dem zeitgesteuerten KML-Mode um. |
||
257 | |||
258 | Im Pause-Mode kann man den MK mit den Cursor-Tasten meterweise verschieben. |
||
259 | Damit ist "Präzisions-Einparken" gut machbar. |
||
260 | |||
261 | Die Taste "A" schaltet den Aufnahme-Modus ein oder aus. |
||
262 | Damit kann man die Flugbahn des MK in beliebigen Modi aufzeichnen und dann im KML-Player-Modus wieder abspielen. |
||
263 | |||
264 | 13. Flugfeldbegrenzung |
||
265 | In der Karten-Definition kann man eine Flugfeldbegrenzrun (Border) definieren. |
||
266 | Der Player wird nur die Ziele anfliegen, die ohne Überquerung der Flugfeldbegrenzung erreichbar sind. |
||
267 | Bei starkem Wid kann es jedoch passieren, dass der MK abgetrieben wird und trotzdem das Flugfeld verlässt. |
||
268 | |||
269 | |||
270 | 14. Wegpunkte von Datei Laden/Speichern |
||
271 | Wegpunkte können als XML-Datei gespeichert und wieder geladen werden. |
||
272 | Die x/y Pixelkoordinaten werden nun relativ bezogen auf die Größe des Bildes als Fließkommazahlen im |
||
273 | Bereich 0..1 gespeichert. Damit ist es möglich, eine Waypoint-Liste auch auf einer größeren oder kleineren |
||
274 | Karte zu laden. |
||
275 | Beim Laden werden die GPS-Koordinaten für die aktuelle Karte aus den x/y Pixelkoordinaten neu berechnet. |
||
276 | Somit kann man die für eine Karte erstellten Wegpunkte auch auf einer anderen Karte laden, ohne die |
||
277 | GPS-Koordinaten der Wegpunkte anpassen zu müssen. |
||
278 | |||
279 | 15. KML Datei laden und abspielen. |
||
280 | Es kann eine KML-Datei geladen werden, die der MK dann zeitgesteuert abfliegt. |
||
281 | Im KML-File ist normalerweise keine Zeitbasis gespeichert. Die Punkte der KML-Datei werden mit dem |
||
282 | in der "Logging"-Konfiguration eingetragenen Intervall abgespielt. |
||
283 | |||
284 | 16. Start Szenario |
||
285 | Im Einstellungs-Dialog kann man im Reiter "Start Szenario" Voreinstellungen für den Player angeben. |
||
286 | Damit kann der Player automatisch sofort nach dem Start des Programms in einen bestimmten Modus |
||
287 | geschaltet werden und eine Waypoint- und/oder KML Datei geladen werden. |
||
288 | |||
289 | 17. Follow "Bär" |
||
290 | Das "Bärchen" kann per Drag/Drop mit der linken Maustaste auf der Karte rumgeschoben werden. |
||
291 | Der MK fliegt hinterher, wenn er per RC in den "Coming-Home" Modus geschaltet ist. |
||
292 | Solange der Bär verschoben wird, wird ein mal pro Sekunde ein Target-Datensatz zum MK geschickt. |
||
293 | |||
294 | |||
295 | 18. Tracking Antenne |
||
296 | Im Mission Cockpit ist die Ansteuerung fuer eine Antennen-Nachfuehrung implementiert. |
||
297 | Damit kann z.B. die Richtantenne einer Video-Uebertragungsstecke nachgefuehrt werden. |
||
298 | |||
299 | Dazu wird benoetigt: |
||
300 | - Pololu Mikro-Servoboard, z.B. http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=118 |
||
301 | Das Board wird an eine serielle Schnittstelle am PC angeschlossen. |
||
302 | - Ein oder zwei Servos, welche mechanisch einen 180 Grad Drehwinkel zulaesst |
||
303 | Das Servo wird ausserhalb der ueblichen Impulslängen angesteuert, um den 180 Grad Drehwinkel zu erreichen. |
||
304 | |||
305 | Es ist eine Pan- und Tilt Nachführung implementiert. |
||
306 | |||
307 | Die Tracking-Antenne wird im Konfgurations-Dialog, Reiter "Tracking Antenne", aktiviert: (Yes/No). |
||
308 | Bei aktivierter Tracking-Antenne wird links unten ein Richtungsanzeiger der Antenne eingeblendet. |
||
309 | |||
310 | Mission Cockpit benötigt die GPS-Koordinaten und Kompass-Richtung fuer die Mittelstellung der Antenne. |
||
311 | Dazu stellt man den MK vor die Antenne, der MK zeigt dabei in die gleiche Richtung wie die Antenne. |
||
312 | Beim Start der MK-Motore werden die GPS- und Kompass-Daten vom MK als Koordinaten der Groundstation übernommen. |
||
313 | Falls der Standort der Anatenne vom Startpunkt des MK abweicht können diese Werte auch optional in der |
||
314 | Karten-Definition hinterlegt werden. |
||
315 | Die Antenne kann auch nach "hinten" sehen. Das Pan- und Tilt-Serve "flippen" dabei um 180 Grad. |
||
316 | |||
317 | 19. Sprachausgabe |
||
318 | Im Mission Cockpit ist eine Text To Speech (TTS) Sprachausgabe implementiert. |
||
319 | Dazu muss das Programm eSpeak installiert werden. http://espeak.sourceforge.net |
||
320 | |||
321 | Falls die Sprachausgabe auf die Nerven geht kann sie mit der Taste "M" (Mute) aus/ein geschaltet werden. |
||
322 | ES werden regelmässig Flugzeit, Spannung, Höhe und Anzahl empfangener Satelliten ausgegeben. |
||
323 | Wichtige Events (Akku-Warnung, Verlassen Flugfeld, Empfangsprobleme usw.) werden priorisiert angesagt. |
||
324 | |||
325 | 20. System-Meldungen |
||
326 | Wichtige System-Meldungen werden in einer gelben "Sprechblase" direkt am MK-Symbol abgezeigt. |
||
327 | Man muss also nicht ständig die OSD-Anzeigen kontrollieren und interpretieren. |
||
328 | |||
329 | 21. Hinweise zum Waypoint Fliegen |
||
330 | Der MK muss im Free-Modus einwandfrei fliegen. Bei wenig Wind und eingeschaltetem Höhensensor darf |
||
331 | der MK nur ganz wenig abdriften. |
||
332 | |||
333 | Der MK muss im Free-Modus sicher beherrscht werden, bevor man sich ans WP-Fliegen wagt. |
||
334 | Der MK fliegt zwar (fast) von selber, aber in brenzligen Situationen muss man sicher eingreifen können und den |
||
335 | MK evtl. auch aus großen Entfernungen sicher zurückholen können. |
||
336 | |||
337 | Meine Erfahrung zeigt, dass 6 Satelliten für einen stabilen PositionHold oder Waypoint-Flug nicht ausreichen. |
||
338 | Es sollten schon 8 oder mehr Satelliten empfangen werden. |
||
339 | |||
340 | 22. Mikrokopter Forum |
||
341 | http://forum.mikrokopter.de/topic-8404.html |
||
342 | Feedback könnt ihr gerne ins Form schreiben. |
||
343 | |||
344 | |||
345 | Viel Spass mit dem Mission Cockpit |
||
346 | Rainer |