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 |