ArduMower: Perimeterschleife: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(125 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
Betreuer: [[Benutzer:Ulrich_Schneider| Prof. Schneider]], [[Benutzer:Mirekgoebel| Prof. Göbel]] | Betreuer: [[Benutzer:Ulrich_Schneider| Prof. Schneider]], [[Benutzer:Mirekgoebel| Prof. Göbel]] | ||
= Aufgabe = | = Aufgabe = | ||
Integration des | Integration des Leitdrahtes und des Leitdrahtempfängers | ||
= Anforderung = | |||
{|border="1" | |||
! width="10%" | Spezifikations-ID | |||
! width="10%" | Anforderungs-ID | |||
! width="10%" | Anforderungs-Titel | |||
! width="10%" | Beschreibung der Spezifikation | |||
! width="10%" | Teilaufgaben | |||
|- | |||
|0080 | |||
|REQ10.2200 | |||
|Leitdraht | |||
|Für die Ortung und Navigation kann eine Leitdrahtlösung verwendet werden. | |||
| | |||
- Senderbox und Empfänger in Betrieb nehmen | |||
- Komponenten Zusammenbringung und Test | |||
- Integration des Senders und Empfängers | |||
- Erfassen der Signale innerhalb und ausßerhalb des Leitdrahtes | |||
- Softwaresimulation in Matlab | |||
- Softwareumsetzung in Matlab/Simulink | |||
- Reparatur und erneute Verlegung der Perimeterschleife | |||
- Matched Filter entwickeln in Matlab/Simulink | |||
|- | |||
|} | |||
= Einleitung = | = Einleitung = | ||
= Projektdurchführung = | Eine Perimeterschleife ist wie ein virtueller Zaun, der den Roboter stoppt, sobald er sich außerhalb der Schleife befindet. Man installiert die Perimterschleife am Rand eines zu mähenden Feldes und sendet mit einem Sender ein erzeugtes Signal hindurch, welches wiederum von dem Empfänger am ArduMower erkannt wird. Umso näher der Roboter der Perimeterschleife kommt, umso kleiner ist die Entfernung zwischen der Perimeterschleife und dem Empfänger. Folglich ist die Signalstärke umso größer, wenn sich der ArduMower nah an der Perimeterschleife befindet. Bei Überschreiten der Perimeterschleife ändert sich die Polarität des Signals. Ist der ArduMower innerhalb der Perimeterschleife empfängt er ein positives Signal und ist der ArduMower außerhalb der Perimeterschleife, so ist das Signal negativ. | ||
= Verwendete Bauteile = | |||
*[http://193.175.248.52/wiki/index.php/AM_03:_Elektrischer_Aufbau_einer_Ladestation#Verwendete_Bauteile Verwendete Bauteile] | |||
= Funktionsweise = | |||
== Sender mit Perimeterschleife == | |||
Allgemein besteht der Aufbau der Perimeterschleife aus dem Sender, der direkt mit der eigentlichen Perimeterschleife verbunden ist und der Perimeterschleife. | |||
1. Der Sender erzeugt ein Ausgangssignal mithilfe eines Arduino Nano(mit 3kHz) | |||
2. Das Signal wird mithilfe eines Motortreibers verstärkt und am Ausgang mit der Perimeterschleife verbunden | |||
== Empfänger == | |||
Als Gegenstück zum Senderaufbau ist ein Empfänger an dem ArduMower untergebracht. Der Sender funktioniert nach einem bestimmten Prinzip: | |||
1. Eine Spule empfängt das Signal | |||
2. Das empfangene Signal wird mithilfe eines Operationsverstärkers verstärkt | |||
3. Der Arduino wandelt das Signal mithilfe des A/D Wandlers in ein digitales Signal | |||
4. Das digitale Signal wird mit einem Digitalfilter gefiltert | |||
5. Das [[Matched-Filter]] gibt den entsprechenden Wert aus, also ob sich ArduMower innerhalb oder außerhalb befindet | |||
[[Datei:Matched filter principle.png|x200px| Abb.1: Perimeterschleife Signal]] | |||
Das Ausgangssignal wird durch das Umgebungsrauschen so gestört, sodass es nur noch sehr schlecht interpretiert werden kann. Aus diesem Grund sendet der Sender das ausgewählte digitale Signal, welches oben in der Abbildung 1 zu sehen ist. Dieses Signal wird mit dem Umgebungsrauschen überlagert und muss nun gefiltert werden. Dies wird mit dem [[Matched-Filter]] gemacht. Nach Anwenden des Matched-Filter erhält man ein Signal, was entweder Piecks ins Positive oder Negative zur Folge hat. Anhand dieses Ergebnisses lässt sich einfach bestimmen, ob sich der ArduMower innerhalb oder außerhalb der Perimeterschleife befindet. | |||
= Projektdurchführung / Versuchsaufbau = | |||
Zur Inbetriebnahme der Perimeterschleife wurde ein Versuchsaufbau aufgestellt. In der Abbildung 2 ist der Testaufbau zu sehen. Als Ersatz für den Akku wird ein Netzgerät verwendet, welches eine Spannung von 24V an das Sendermodul liefert. Am Anschluss an die 24V Spannung befindet sich das Sendermodul (Abb.1). Anschließend wird mithilfe eines DC-DC Spannungswandlers die Spannung von 24V auf rund 10V umgewandelt. Ein Arduino Nano erzeugt dann ein festgelegtes Signal, welches von in der Abbildung 3 zu sehen ist. Zuletzt wird das erzeugte Signal mithilfe eines Motortreibers verstärkt und über den Ausgang an die Perimeterschleife weitergegeben. | |||
Der Empfänger wird im ArduMower mit dem Arduino an der Hauptplatine betrieben. In unserem Testaufbau dient ein Arduino Mega als Spannungsquelle für den Empfänger und auf dem Oszilloskop ist das empfangene Signal zu erkennen. Das Signal ist jedoch noch ungefiltert und muss noch mit dem Matched-Filter gefiltert werden. Unter einem Matched-Filter oder auch Optimalfilter versteht man in der digitalen Signalverarbeitung einen Filter, der das Signal-Rausch Verhältnis optimiert. | |||
<gallery> | |||
File:800px-Datei 30.06.17, 12 32 28.jpeg| Abb.2: Versuchsaufbau zur Perimeterschleife | |||
File:Sendermodul.jpeg| Abb.3: Sendermodul | |||
</gallery> | |||
= Umsetzung und Erklärung des Matched-Filters = | |||
*[[Matched-Filter]] | |||
= Meilensteine = | |||
== Erledigt == | |||
- Erstinbetriebnahme des Senders und Empfängers | |||
- Test mit 13,3 Ohm und 10 Ohm Widerständen | - Test mit 13,3 Ohm und 10 Ohm Widerständen | ||
- Sichtprüfung der Perimeterschleife | - Sichtprüfung der Perimeterschleife | ||
- Verarbeitung der Perimeterdaten | |||
- Softwareverarbeitungsplan | |||
- Matlab Simulation | |||
- Software Umsetzung mit Simulink | |||
- Perimeterschleife reparieren | |||
- Look-Up Table für die Mähumgebung angepasst | |||
== Ausstehend == | |||
- Perimeterschleife nach Reparatur neu verlegen | |||
- Integration des Senders in Ladestation | |||
Die Perimeterschleife wurde noch nicht neu verlegt, da sie für Testzwecke auf anderen Untergründen bisher genutzt wurde. Sie soll erst verlegt werden, wenn der ArduMower fähig ist, die Rasenfläche autonom zu mähen. | |||
Der Sender für das Signal der Perimeterschleife ist ebenfalls noch nicht integriert, da die Ladestation erst kurz vor Ende des Projekts fertiggestellt wurde. | |||
Das erneute Verlegen und die Integration des Senders in der Ladestation sind kleine Aufgaben, die innerhalb eines Praktikumtermins durchgeführt werden können. Für diese Aufgaben sind keine Probleme mehr zu lösen. | |||
= Bewertung des Fortschritts = | |||
Die zum Meilenstein zu erreichenden Punkte wurden im Projektrahmen umgesetzt. Lediglich ist die Neuverlegung der Schleife nicht umgesetzt worden, da sie für Testzwecke noch verwendet werden muss. Außerdem ist hinzu nur die Integration der Senderbox in der Ladestation durchzuführen. Somit lässt sich sagen, dass 90% des Meilensteins 4 erledigt wurden. Es ist möglich geworden, anhand eines Matched-Filters die Position des ArduMowers in Bezug auf die Perimeterschleife zu identifizieren. Zusätzlich wird mit einer Look-Up Table auf den Abstand zu Perimeterschleife geschlossen. | |||
= Software = | |||
Das Signal, welches am Empfänger erkannt wird, soll mithilfe eines Matched-Filters gefiltert werden und anschließend interpretiert werden. Hierzu wird ein bestimmter Schwellwert ins Positive und ins Negative festgelegt. Wird dieser Wert überschritten, sendet das Programm an die Fahrstrategie, ob sich der ArduMower innerhalb oder außerhalb der Perimeterschleife befindet. Diese Software soll mithilfe von Matlab/Simulink umgesetzt werden. Die Software kann in dem Artikel [[Matched-Filter]] eingesehen werden. | |||
= Zusammenfassung = | = Zusammenfassung = | ||
Zusammenfassend lässt sich sagen, dass bei der Signalverarbeitung der Perimeterschleife einige Schwierigkeiten auftraten, die jedoch im Laufe des Projektes behoben werden konnten. Der ArduMower kann mithilfe der Empfängerspule, die vorne an ihm angebracht ist, die Entfernung zur Perimeterschleife zuverlässig erfassen. Die Erstellung eines Matched-Filters mit dem S-function Builder Blocks bei Simulink erweist sich nach einer angemessen Einarbeitungszeit als einfach umzusetzen. Anhand der Weiterverarbeitung von Signalen werden die Grundlagen der Elektrotechnik, der Informatik und der digitalen Signalverarbeitung erweitert. | |||
= Ausblick = | |||
In Zukunft müssen lediglich die Perimeterschleife auf der zu mähenden Rasenfläche verlegt und die Senderbox in der Ladestation untergebracht werden. Jedoch muss die Look-Up Table neu angelegt werden, wenn sich die Perimeterschleife an einem anderen Ort befindet, da die Signalstärke je nach Umgebung unterschiedlich ist. In unserem Projekt wurden die Signalstärken der Perimeterschleife in Abhängigkeit zu dem Abstand festgehalten und daraus eine Funktion erstellt. Diese Funktion würde jedoch je nach Umgebung anders aussehen, da die Signale durch Umgebungsrauschen größer bzw. kleiner, als in der Look-Up Table hinterlegt, sein können. Eine automatische Kalibrierung ist nach aktuellem Stand noch nicht möglich. | |||
---- | |||
→ zurück zum Hauptartikel: [[Projekt_ArduMower|Projekt ArduMower]] |
Aktuelle Version vom 27. Februar 2018, 14:52 Uhr
Autoren: Phillip Blunck, Marius Schaffer
Betreuer: Prof. Schneider, Prof. Göbel
Aufgabe
Integration des Leitdrahtes und des Leitdrahtempfängers
Anforderung
Spezifikations-ID | Anforderungs-ID | Anforderungs-Titel | Beschreibung der Spezifikation | Teilaufgaben |
---|---|---|---|---|
0080 | REQ10.2200 | Leitdraht | Für die Ortung und Navigation kann eine Leitdrahtlösung verwendet werden. |
- Senderbox und Empfänger in Betrieb nehmen - Komponenten Zusammenbringung und Test - Integration des Senders und Empfängers - Erfassen der Signale innerhalb und ausßerhalb des Leitdrahtes - Softwaresimulation in Matlab - Softwareumsetzung in Matlab/Simulink - Reparatur und erneute Verlegung der Perimeterschleife - Matched Filter entwickeln in Matlab/Simulink |
Einleitung
Eine Perimeterschleife ist wie ein virtueller Zaun, der den Roboter stoppt, sobald er sich außerhalb der Schleife befindet. Man installiert die Perimterschleife am Rand eines zu mähenden Feldes und sendet mit einem Sender ein erzeugtes Signal hindurch, welches wiederum von dem Empfänger am ArduMower erkannt wird. Umso näher der Roboter der Perimeterschleife kommt, umso kleiner ist die Entfernung zwischen der Perimeterschleife und dem Empfänger. Folglich ist die Signalstärke umso größer, wenn sich der ArduMower nah an der Perimeterschleife befindet. Bei Überschreiten der Perimeterschleife ändert sich die Polarität des Signals. Ist der ArduMower innerhalb der Perimeterschleife empfängt er ein positives Signal und ist der ArduMower außerhalb der Perimeterschleife, so ist das Signal negativ.
Verwendete Bauteile
Funktionsweise
Sender mit Perimeterschleife
Allgemein besteht der Aufbau der Perimeterschleife aus dem Sender, der direkt mit der eigentlichen Perimeterschleife verbunden ist und der Perimeterschleife.
1. Der Sender erzeugt ein Ausgangssignal mithilfe eines Arduino Nano(mit 3kHz)
2. Das Signal wird mithilfe eines Motortreibers verstärkt und am Ausgang mit der Perimeterschleife verbunden
Empfänger
Als Gegenstück zum Senderaufbau ist ein Empfänger an dem ArduMower untergebracht. Der Sender funktioniert nach einem bestimmten Prinzip:
1. Eine Spule empfängt das Signal
2. Das empfangene Signal wird mithilfe eines Operationsverstärkers verstärkt
3. Der Arduino wandelt das Signal mithilfe des A/D Wandlers in ein digitales Signal
4. Das digitale Signal wird mit einem Digitalfilter gefiltert
5. Das Matched-Filter gibt den entsprechenden Wert aus, also ob sich ArduMower innerhalb oder außerhalb befindet
Das Ausgangssignal wird durch das Umgebungsrauschen so gestört, sodass es nur noch sehr schlecht interpretiert werden kann. Aus diesem Grund sendet der Sender das ausgewählte digitale Signal, welches oben in der Abbildung 1 zu sehen ist. Dieses Signal wird mit dem Umgebungsrauschen überlagert und muss nun gefiltert werden. Dies wird mit dem Matched-Filter gemacht. Nach Anwenden des Matched-Filter erhält man ein Signal, was entweder Piecks ins Positive oder Negative zur Folge hat. Anhand dieses Ergebnisses lässt sich einfach bestimmen, ob sich der ArduMower innerhalb oder außerhalb der Perimeterschleife befindet.
Projektdurchführung / Versuchsaufbau
Zur Inbetriebnahme der Perimeterschleife wurde ein Versuchsaufbau aufgestellt. In der Abbildung 2 ist der Testaufbau zu sehen. Als Ersatz für den Akku wird ein Netzgerät verwendet, welches eine Spannung von 24V an das Sendermodul liefert. Am Anschluss an die 24V Spannung befindet sich das Sendermodul (Abb.1). Anschließend wird mithilfe eines DC-DC Spannungswandlers die Spannung von 24V auf rund 10V umgewandelt. Ein Arduino Nano erzeugt dann ein festgelegtes Signal, welches von in der Abbildung 3 zu sehen ist. Zuletzt wird das erzeugte Signal mithilfe eines Motortreibers verstärkt und über den Ausgang an die Perimeterschleife weitergegeben.
Der Empfänger wird im ArduMower mit dem Arduino an der Hauptplatine betrieben. In unserem Testaufbau dient ein Arduino Mega als Spannungsquelle für den Empfänger und auf dem Oszilloskop ist das empfangene Signal zu erkennen. Das Signal ist jedoch noch ungefiltert und muss noch mit dem Matched-Filter gefiltert werden. Unter einem Matched-Filter oder auch Optimalfilter versteht man in der digitalen Signalverarbeitung einen Filter, der das Signal-Rausch Verhältnis optimiert.
-
Abb.2: Versuchsaufbau zur Perimeterschleife
-
Abb.3: Sendermodul
Umsetzung und Erklärung des Matched-Filters
Meilensteine
Erledigt
- Erstinbetriebnahme des Senders und Empfängers
- Test mit 13,3 Ohm und 10 Ohm Widerständen
- Sichtprüfung der Perimeterschleife
- Verarbeitung der Perimeterdaten
- Softwareverarbeitungsplan
- Matlab Simulation
- Software Umsetzung mit Simulink
- Perimeterschleife reparieren
- Look-Up Table für die Mähumgebung angepasst
Ausstehend
- Perimeterschleife nach Reparatur neu verlegen
- Integration des Senders in Ladestation
Die Perimeterschleife wurde noch nicht neu verlegt, da sie für Testzwecke auf anderen Untergründen bisher genutzt wurde. Sie soll erst verlegt werden, wenn der ArduMower fähig ist, die Rasenfläche autonom zu mähen. Der Sender für das Signal der Perimeterschleife ist ebenfalls noch nicht integriert, da die Ladestation erst kurz vor Ende des Projekts fertiggestellt wurde.
Das erneute Verlegen und die Integration des Senders in der Ladestation sind kleine Aufgaben, die innerhalb eines Praktikumtermins durchgeführt werden können. Für diese Aufgaben sind keine Probleme mehr zu lösen.
Bewertung des Fortschritts
Die zum Meilenstein zu erreichenden Punkte wurden im Projektrahmen umgesetzt. Lediglich ist die Neuverlegung der Schleife nicht umgesetzt worden, da sie für Testzwecke noch verwendet werden muss. Außerdem ist hinzu nur die Integration der Senderbox in der Ladestation durchzuführen. Somit lässt sich sagen, dass 90% des Meilensteins 4 erledigt wurden. Es ist möglich geworden, anhand eines Matched-Filters die Position des ArduMowers in Bezug auf die Perimeterschleife zu identifizieren. Zusätzlich wird mit einer Look-Up Table auf den Abstand zu Perimeterschleife geschlossen.
Software
Das Signal, welches am Empfänger erkannt wird, soll mithilfe eines Matched-Filters gefiltert werden und anschließend interpretiert werden. Hierzu wird ein bestimmter Schwellwert ins Positive und ins Negative festgelegt. Wird dieser Wert überschritten, sendet das Programm an die Fahrstrategie, ob sich der ArduMower innerhalb oder außerhalb der Perimeterschleife befindet. Diese Software soll mithilfe von Matlab/Simulink umgesetzt werden. Die Software kann in dem Artikel Matched-Filter eingesehen werden.
Zusammenfassung
Zusammenfassend lässt sich sagen, dass bei der Signalverarbeitung der Perimeterschleife einige Schwierigkeiten auftraten, die jedoch im Laufe des Projektes behoben werden konnten. Der ArduMower kann mithilfe der Empfängerspule, die vorne an ihm angebracht ist, die Entfernung zur Perimeterschleife zuverlässig erfassen. Die Erstellung eines Matched-Filters mit dem S-function Builder Blocks bei Simulink erweist sich nach einer angemessen Einarbeitungszeit als einfach umzusetzen. Anhand der Weiterverarbeitung von Signalen werden die Grundlagen der Elektrotechnik, der Informatik und der digitalen Signalverarbeitung erweitert.
Ausblick
In Zukunft müssen lediglich die Perimeterschleife auf der zu mähenden Rasenfläche verlegt und die Senderbox in der Ladestation untergebracht werden. Jedoch muss die Look-Up Table neu angelegt werden, wenn sich die Perimeterschleife an einem anderen Ort befindet, da die Signalstärke je nach Umgebung unterschiedlich ist. In unserem Projekt wurden die Signalstärken der Perimeterschleife in Abhängigkeit zu dem Abstand festgehalten und daraus eine Funktion erstellt. Diese Funktion würde jedoch je nach Umgebung anders aussehen, da die Signale durch Umgebungsrauschen größer bzw. kleiner, als in der Look-Up Table hinterlegt, sein können. Eine automatische Kalibrierung ist nach aktuellem Stand noch nicht möglich.
→ zurück zum Hauptartikel: Projekt ArduMower