ArduMower: Perimeterschleife: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(82 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 Leitrahtes und des Leitdrahtempfängers
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 =


Eine Perimeterschleife ist wie ein virtueller Zaun, der den Roboter stoppt, sobald er sich asußerhalb der Schleife befindet. Man installiert die Perimterschleife am Rand eines zu mähenden Feldes und sendet mit dem Sender ein Signal hindurch, welches wiederum von dem Empfänger im Roboter erkannt wird. Umso näher der Roboter der Peimterschleife kommt, umso kleiner ist die Entfernung zischen 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 Perimterschleife empfängt er ein positives Signal und ist der ArduMower außergalb der Perimeterschleife, so ist das Signal negativ.
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 =
= Verwendete Bauteile =
Zeile 21: Zeile 45:
= Funktionsweise =
= Funktionsweise =


== Sender mit Perimterschleife ==
== Sender mit Perimeterschleife ==


Allgemein besteht der Aufbau der Permiterschleife aus dem Sender, der direkt mit der eigentlichen Perimerterschleife verbunden ist und der Perimterschleife.
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)
1. Der Sender erzeugt ein Ausgangssignal mithilfe eines Arduino Nano(mit 3kHz)


2. Das Signal wird mithilfe eines Motortreibers verstärkt und und am Ausgang mit der Perimeterschleife verbunden
2. Das Signal wird mithilfe eines Motortreibers verstärkt und am Ausgang mit der Perimeterschleife verbunden


== Empfänger ==
== Empfänger ==


Als Gegenstück zum Senderaufbau ist ein Empfänger in dem ArduMower untergebracht. Der Sender funktioniert nach einem bestimmten Prinzip:
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
1. Eine Spule empfängt das Signal


2. Das empfangene Singal wird mit Hilfe eines Operationsverstärkers verstärkt
2. Das empfangene Signal wird mithilfe eines Operationsverstärkers verstärkt


3. Der Arduino wandelt das Singal mit Hilfe des AD Wandlers in ein digitales Signal
3. Der Arduino wandelt das Signal mithilfe des A/D Wandlers in ein digitales Signal


4. Das digitale Signal wird mit einem Digitalfilter gefiltert
4. Das digitale Signal wird mit einem Digitalfilter gefiltert


5. Der matched Filter gibt den entsprechenden wert aus, ob sich ArduMower innerhalb oder außerhalb befindet
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 =
= 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.


Zur Intbetribenahme der Perimeterschleife wurde ein Versuchsaufbau aufgestellt. In der Abbildung 1 ist der Testaufbau zu sehen. Als Ersatz für den Akku wird ein Netztgerät verwendet, welches eine Spannung von 24V an die Sendermodul liefert. Am Anschluss an die 24V Spannung befindet sich im Sendermodul ein Stromsensor Borad. Anschließden wird mithilfe eines DC-DC Spannungswandlers die Spanung 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.


[[Datei:Datei 30.06.17, 12 32 28.jpeg|x200px| Abb.1: Versuchsaufbau zur Perimeterschleife]]  [[Datei:Sendermodul.jpeg|x200px| Abb.2: Sendermodul]]
<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 =
= Meilensteine =
Zeile 63: Zeile 96:


- 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 ==
== Ausstehend ==


+ Matlab Simulation
- Perimeterschleife nach Reparatur neu verlegen
 
- Integration des Senders in Ladestation


+ Software Umsetzung mit Simulink
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.


+ Perimeterschleife reparieren
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.


+ Perimeterschleife neu verlegen
= 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 =
= 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, 15: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

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.

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