Zum Inhalt wechseln


Foto

Blindgänger / Metallsuche per Kopter

eigenbau modellbau multicopter metalldetektor

  • Bitte melde dich an um zu Antworten
37 Antworten in diesem Thema

#16 fingadar

fingadar
  • 815 Beiträge
  • OrtObernburg am Main
  • Hexakopter mit redundantem Pixhawk/Arducopter und RasPi3 Companion
    EZ-WifiBroadcast mit Auvidea HDMI-In
    FLIR Vue Pro R 640
    Lightware SF11 Lidar
    IR-Lock Precision Landing
    Emlid REACH RTK

Geschrieben 28. Juli 2020 - 06:57

Mal wieder ein spannendes Thema hier :-) Ich lese eifrig mit.

Was kosten denn die genannten Sensoren, und hat jemand noch etwas Hintergrundmaterial über Funktion/Aufbau/Anordnung? Ich würde mich mal eventuell an das Thema mit dranhängen, denn einen passenden Kopter mit RTK und Rangefinder für die passende Höhenkontrolle hätte ich hier.
Dann wäre mal ganz schnell Zeit für einen Versuchsaufbau :-)
  • WiSi-Testpilot gefällt das

#17 WiSi-Testpilot

WiSi-Testpilot
  • 1.399 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Jeti DS 12, Rex10,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640,
    Flir Boson 320

Geschrieben 28. Juli 2020 - 08:37

Stefan, ja, das ist ein spannendes Projekt.
Preise kann ich hier nicht reinschreiben. Frage am Besten hier an:
https://stefan-mayer...d-sensoren.html

Zur Zeit bin ich mit GPSD beschäftigt. Der Sensor läuft prima, nur das herausfischen der Daten funktioniert noch nicht so, wie ich mir das vorstelle.
Viele Grüße,
Wilhelm



#18 fingadar

fingadar
  • 815 Beiträge
  • OrtObernburg am Main
  • Hexakopter mit redundantem Pixhawk/Arducopter und RasPi3 Companion
    EZ-WifiBroadcast mit Auvidea HDMI-In
    FLIR Vue Pro R 640
    Lightware SF11 Lidar
    IR-Lock Precision Landing
    Emlid REACH RTK

Geschrieben 28. Juli 2020 - 15:57

Danke, ich habe bei mayer mal angefragt.


Antwort ging schnell, das geht ja sogar noch. Jetzt muss ich erst einmal die Dokumente von Armin verstehen und mir da etwas wegen der Anordnung überlegen.

 

Für die Positionsverarbeitung an sich habe ich den Vorteil, dass ich mir ja aus einem Mavlink-Telemetriestream die RTK-genauen GPS-Koordinaten direkt herausziehen kann, mit 5 oder 10Hz. Mal sehen, was sinnvoll ist. Was hast Du da für ein Problem, Wilhelm? Vielleicht kann ich helfen?

 

Hat jemand von Euch Erfahrung mit magnetischen Abschirmungen? Ich könnte mir vorstellen, dass ein Abschirmung nach oben zu den typischen Störquellen wie Motoren und Akku/Kabel sinnvoll sein könnte?



#19 WiSi-Testpilot

WiSi-Testpilot
  • 1.399 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Jeti DS 12, Rex10,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640,
    Flir Boson 320

Geschrieben 28. Juli 2020 - 20:23

Für die Positionsverarbeitung an sich habe ich den Vorteil, dass ich mir ja aus einem Mavlink-Telemetriestream die RTK-genauen GPS-Koordinaten direkt herausziehen kann, mit 5 oder 10Hz. Mal sehen, was sinnvoll ist. Was hast Du da für ein Problem, Wilhelm? Vielleicht kann ich helfen?

 

Stefan, danke für das Angebot. Folgendes gefällt mir nicht:
1) Ich bekomme nur jede Sekunde neue Werte, egal, ob manuell vom Port oder vom GPSD eingelesen wird. Die Daten kommen im Takt, wie das Modul blinkt.

 

Welchen GPS Empfänger verwendest du? 10 Hz fände ich gut.

 

Geplant ist, dass ich zB 10-100 Punkte zwischen den GPS-Sekunden aufnehme und dann zwischen den GPS-Punkten linear verteile. Im Moment hängt das Programm aber, wenn auf GPS-Werte gewartet wird. Multithreading / Parallelverarbeitung wäre eine Lösung.

 

2) Es läuft nur mit Python2.7, weil die Python-GPS Lib veraltet ist. Es gibt aber GPS3 Libs für Python3 im Netz.

 

Es sollte ja auch eigentlich ein Winterprojekt werden.
Morgen gehe ich wieder fliegen.
Viele Grüße,
Wilhelm


Bearbeitet von WiSi-Testpilot, 28. Juli 2020 - 20:37.

  • Knuth gefällt das

#20 el Kopto

el Kopto
  • 3.482 Beiträge

Geschrieben 28. Juli 2020 - 21:59

@Wilhelm,
 
der Beitian BN-880 kann (wie eigentlich die meisten halbwegs aktuellen Chips) bis zu 10 Hz liefern, allerdings muss je nach gewünschter Frequenz ggf. auch die Baudrate erhöht werden. Eine Erhöhung der Frequenz, in der die Daten kommen, erreichst Du z.B. mit dem Kommando $PMTK220,500*2B (für 2 Hz) oder $PMTK220,200*2C (für 5 Hz). Um die Baudrate z.B. auf 57600 Baud hochzusetzen, sendet man z.B. $PMTK251,57600*2C und für 38400 Baud sendet man $PMTK251,38400*27 an den Port an dem der Chip hängt (die letzten zwei Zeichen sind eine Prüfsumme als Hex Code, die müssen jeweils zu dem NMEA 183 Sentence davor passen).

 

Eine Library, die auch mit Python 3 funktioniert, ist z.B. pynmea2. Damit es non-blocking wird, musst Du die Abfrage ggf. in einem separaten Thread laufen lassen und die gewünschten Daten in eine globale Variable schreiben. Python ist zwar nur mit größeren Klimmzügen zu echtem Multithreading fähig, aber ein simples Threading beherrschte es auch (beschäftigt dabei dann aber trotzdem nur einen CPU Core). Andere Ansätze gehen in die Richtung, einen Dämon Dienst (gpsd) zu installieren und diesen aus Python abzufragen.


  • WiSi-Testpilot gefällt das

#21 WiSi-Testpilot

WiSi-Testpilot
  • 1.399 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Jeti DS 12, Rex10,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640,
    Flir Boson 320

Geschrieben 28. Juli 2020 - 22:14

Danke, Helge, das ist sehr hilfreich.

Viele Grüße,

Wilhelm



#22 ArminR

ArminR
  • 36 Beiträge
  • OrtNiederbayern

Geschrieben 29. Juli 2020 - 07:19

...

Hat jemand von Euch Erfahrung mit magnetischen Abschirmungen? Ich könnte mir vorstellen, dass ein Abschirmung nach oben zu den typischen Störquellen wie Motoren und Akku/Kabel sinnvoll sein könnte?

Abschirmungen von Magnetfeldern sind schwierig, ganz im Gegensatz zu elektrischen/elektromagnetischen Feldern. Da hat ja schon Faraday etwas erfunden.

 

Ich denke, die Sensoren sollten einfach genügend Abstand zum Kopter mit seinen Störquellen haben, indem sie nach unten abgehängt werden, so wie hier in dem Beispiel: http://mgt-geo.com/s... mag system.htm

 

Gruß, Armin



#23 fingadar

fingadar
  • 815 Beiträge
  • OrtObernburg am Main
  • Hexakopter mit redundantem Pixhawk/Arducopter und RasPi3 Companion
    EZ-WifiBroadcast mit Auvidea HDMI-In
    FLIR Vue Pro R 640
    Lightware SF11 Lidar
    IR-Lock Precision Landing
    Emlid REACH RTK

Geschrieben 29. Juli 2020 - 07:40

Hallo Armin,

Danke für‘s Antworten.
Die Sensoranordnung z.B. mit Permalloy nach oben hin abzuschirmen, hältst Du also nicht für erfolgversprechend?

Diese „Freihäng“-Anordnung hat in der Praxis Vor- und Nachteile. Rein vom Flugverhalten und vom Handling in der Praxis ist das immer, vorsichtig ausgedrückt, suboptimal. Ich habe da Erfahrung, spätestens bei etwas Wind hast Du dann mit Pendelbewegungen zu kämpfen, und die Positionsverortung ist dann auch ein Problem. Vom Gefuddel bei Start und Landung mal abgesehen.

Von welcher Flughöhe sprechen wir eigentlich bei der Idee? Sprich, welchen Bodenabstand dürfen die Magnetometer haben?

Viele Grüße,
Stefan

#24 WiSi-Testpilot

WiSi-Testpilot
  • 1.399 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Jeti DS 12, Rex10,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640,
    Flir Boson 320

Geschrieben 29. Juli 2020 - 08:52

So könnte es vielleicht gehen. Die Kugel soll pendeln, darf sich aber nicht drehen.
Einen sonnigen Tag wünsche ich euch,
Wilhelm

Angehängte Dateien



#25 ArminR

ArminR
  • 36 Beiträge
  • OrtNiederbayern

Geschrieben 29. Juli 2020 - 09:44

Hallo Stefan und Wilhelm,

 

wie schon gesagt, stelle ich mir eine Magnetfeldabschirmung schwierig vor. So etwas kann ein weichmagnetisches Metall (Mu-Metall, Permalloy) im Prinzip, aber das ist schwer. Außerdem gibt es am Rand dieser Metallkörper eine starke Beeinflussung der Magnetfeldlinien. So etwas geht gut, wenn man einen feldfreien Raum irgendwo innerhalb einer Mu-Metall Abschirmung schaffen will.

 

Die Idee mit dem seitlich abgehängten Sensor finde ich im Prinzip gut, aber es fehlt ein Gegengewicht, könnte ja evtl ein Akku sein oder ein 2. Sensor (?)

 

Die optimale Flughöhe ist ein echtes Problem, weil die nämlich niedrig ist (je niedriger, um so besser, weil näher dran am Objekt). Bei archäologischen Magnetfeldkartierungen hat man < 50 cm Bodenabstand. Gut, bei der Suche nach größeren Metallkörpern hat man auch größere Anomalien. Vielleicht ginge es mit einer automatischen Abstandsregelung (IR, Laser, Ultraschall).

 

Es bleibt spannend.

 

Gruß, Armin



#26 fingadar

fingadar
  • 815 Beiträge
  • OrtObernburg am Main
  • Hexakopter mit redundantem Pixhawk/Arducopter und RasPi3 Companion
    EZ-WifiBroadcast mit Auvidea HDMI-In
    FLIR Vue Pro R 640
    Lightware SF11 Lidar
    IR-Lock Precision Landing
    Emlid REACH RTK

Geschrieben 29. Juli 2020 - 10:32

Die Flughöhe an sich ist kein Problem. Ich kann die Flughöhe mit einem Laser-Rangefinder sehr genau halten. Bei einem sehr ausführlichen Versuch bei einem deutschen Automobilhersteller (den ich hier wegen NDA nicht nennen darf) musste ich schon Flughöhen im Bereich von 20cm AGL halten. Das ging, auch mit mehrmaligem Umrunden des Testobjekts. Auf unebenerem Boden als der hauseigenen Auto-Teststrecke halte ich etwa 50-70cm AGL für realistisch.

 

Ein frei hängendes Pendel möchte ich unbedingt vermeiden. Ich habe das schon hinter mir (wie schon oben geschrieben), und außerdem ist dann die RTK-Genauigkeit ganz vorbei. Das RTK auf die Sonde setzen, da habe ich wegen der Abschattung durch den Kopter Bedenken.

 

Die Idee von Wilhelm kann ich mir vorstellen. Oder vielleicht eine Art einziehbare Stangenlösung, die bei der Landung nach oben gefahren, im Betrieb aber nach unten gesenkt werden kann. Dann kann man zumindest über die IMU die aktuelle Neigung messen und daraus den aktuellen Koordinatenpunkt errechnen.

 

Jetzt mal die Frage an die Fachleute: ist die Empfindlichkeit z.B. des FLC 100 überhaupt gut genug? Und hat jemand etwas Hintergrundinfos/Artikel/Pubilkationen , wie die Sondenanordnung sein muss usw. ?

 

Viele Grüße, 

Stefan



#27 Linuxbear

Linuxbear
  • 430 Beiträge
  • OrtLeipzig
  • NAZE32 F450 "Grizzly II", NAZE32 Rachel "Boar", Alpha 250 "Hornet", Alpha 110 "Moskito", DJI MM "Kolibri"

Geschrieben 29. Juli 2020 - 10:32

Vor ca. 15 Jahren gab es (aktive) GPS Geräte, deren Bewegungssensoren 2 Stahlkügelchen enthielten. In Verbindung mit extra starken Haftmagneten eine suboptimale Konfiguration. Abhilfe brachten tatsächlich 2 Platten aus 0,5 mm Mu-Metall. Einfach mal testen. Das Zeug gibt es immer noch.

 

Gruß -Linuxbear- 



#28 WiSi-Testpilot

WiSi-Testpilot
  • 1.399 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Jeti DS 12, Rex10,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640,
    Flir Boson 320

Geschrieben 29. Juli 2020 - 21:37

Heute habe ich den GPS Sensor und mein Python3 Programm auf der Wiese getestet. Das Array hat 1920 x 1080 Punkte x 3 x 8 Bit für die Farben / Sensoren. Beim Start des Programms wird ~ die Mitte als Bezug festgelegt. Dann habe ich den Tisch 2 m nach rechts / Westen gestellt und dann 6 m nach links / Osten.
Die abgebildeten Punkte sind 12x12 Pixel groß, damit man sie draußen erkennen kann. Der Bereich wurde nur zu Testzwecken so klein gewählt.
Damit ist dieser Teil bis auf ein paar Kleinigkeiten erst mal abgeschlossen.
Viele Grüße,
Wilhelm

Angehängte Dateien


Bearbeitet von WiSi-Testpilot, 29. Juli 2020 - 21:49.


#29 WiSi-Testpilot

WiSi-Testpilot
  • 1.399 Beiträge
  • Ortwestliches Münsterland
  • Kopter mit N3 & A3,
    Jeti DS 12, Rex10,
    Videoübertragung: LB2 mit CrystalSky & Connex.
    Kameras: Sony RX0,
    Sony A 6000 (NIR, Vis & UV),
    Flir Vue Pro R 640,
    Flir Boson 320

Geschrieben 01. August 2020 - 12:26

Nun brauche ich mal wieder eure Hilfe. Ich schaffe es nicht, mit Python3 die Wiederholrate des GPS Moduls zu ändern.

Initialisierung:

import serial
ser = serial.Serial("/dev/ttyTHS1")

Mit dem normalen String gibt serial eine Fehlermeldung aus.

ser.write('$PMTK220,200*2C\r\n')

Mit einem Byte-String gibt es keine Fehlermeldung, aber es ändert sich nichts.

ser.write(b'$PMTK220,200*2C\r\n')

Umgewandelt in Unicode-String, GPS blinkt kurz...aber keine Änderung.

s = ('$PMTK220,200*2C\r\n')
b = s.encode('UTF-8')
ser.write(b)

Alles wurde getestet mit&ohne \r\n (ist CR/LF)
Auch Verlangsamung funktioniert nicht.
 

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

Update 1:

Das Einstellen des GPS Sensors macht man wohl am Besten mit einem USB-UART Adapter und einer PC-Software.

 

Gestern habe ich noch etwas programmiert. Wie man sieht, war es schon dunkel. (Es muß GLONASS heißen.)

Angehängte Datei  Anz_Sat.jpg   1,1MB   0 Mal heruntergeladen

 

 

Das Board in dem Video ist sehr interessant. Es ist RTK fähig, ist aber auch ohne RTK genauer als ein Meter und macht laut Video bis 25 Hz im normalen Mode und 12 Hz im RTK Mode. Es verarbeitet Daten von GPS, Glonass, Galileo und BeiDou.


 

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

Update 2:
Das Bild zeigt einen Test im Wohnzimmer am Fenster. Das GPS Modul sieht 23 Satelliten, während die N3 nichts sieht.
Viele Grüße,
Wilhelm

Angehängte Dateien


Bearbeitet von WiSi-Testpilot, 01. August 2020 - 12:30.


#30 el Kopto

el Kopto
  • 3.482 Beiträge

Geschrieben 01. August 2020 - 15:31

Nun brauche ich mal wieder eure Hilfe. Ich schaffe es nicht, mit Python3 die Wiederholrate des GPS Moduls zu ändern.


Das mit dem String als Bytes (also Deine zweite Variante) müsste eigentlich die richtige Art zum Senden sein. Die von mir genannten Sequenzen funktionerten jedenfalls mit meinem Adafruit Ultimate GPS.
 
Problem ist offenbar, dass die Kommandosequenz nicht einheitlich für alle Chips mit NMEA-0183 Protokoll gilt, sondern jeder Hersteller da z.T. eigene Kommando-Sequenzen definiert. Was das Ändern der Baudrate angeht, scheinen auch andere den Code 251 nutzen, was die Umstellung der Frequenz angeht, sieht es schon wieder unterschiedlicher aus. Sofern auf eine Frequenz geschaltet werden soll, die nicht zur aktuellen Baudrate passt, wird der Befehl vermutlich auch nicht umgesetzt. Deshalb erst die Baudrate umschalten und dann die Update-Rate.
 
Hier z.B. finden sich z.B. folgende Sequenzen für 5 Hz:
38.400 Baud: $PMTK251,38400*27
5 Hz: $PMTK300,200,0,0,0,0*2F

115.200 Baud: $PMTK251,115200*1F
10 Hz: $PMTK300,100,0,0,0,0*2C
 

Ich habe leider bislang keine Beschreibung gefunden, welche die von Beitian verwendeten Chips dediziert beschreibt. Vielleicht probierst Du es erst mal mit den $PMTK300 Sequenzen oder Du musst Dich mal selbst auf die Suche machen, ob Du noch was genaueres zu den BN-180, BN-220, BN-880 findest. Die werden sich vermutlich in den Sequenzen gleichen, Unterschiede gibt es hinsichtlich Flash-RAM. Ansonsten behauptet Beitian, dass die Chips auch das UBX Protokoll unterstützen, Beschreibung siehe dort: https://www.u-blox.c...X-13003221).pdf

 

Ich würde es auch erst mal mit einem Terminal-Programm (z.B. Putty) testen.


  • WiSi-Testpilot gefällt das





Auch mit einem oder mehreren dieser Stichwörter versehen: eigenbau, modellbau, multicopter, metalldetektor

Besucher die dieses Thema lesen: 0

Mitglieder: 0, Gäste: 0, unsichtbare Mitglieder: 0