Due Portierung (Achtung: nur experimentell)

Sieht doch gut aus:

-die Amplitude (signal min/max) steigt bei dir wenn die Schleife an ist
-der Filter liefert negativen Peak (mag) für innen, positiven Peak (mag) für außen
-die Auswertung liefert ein "innen" (in=1) und ein "außen" (in=0)

Einzig die Erkennung "Schleife aktiv" (on=1) geht noch nicht...

Das versuche ich nun zu verbessern...
 
Hier ist eine Version, die beide Probleme (hoffentlich) löst.

-Das Blinken ist nicht gut, laufen denn Motor oder andere Störqullen nebenher? Ich habe die Auswertzeit etwas erhöht - dadurch wird es etwas träger (in/out)...
-Als minimalen Filterpeak (für on=1) habe ich einen festen Wert eingesetzt (150 bzw. -150) - ich hoffe das funktioniert so mit versch. Schleifenlängen...
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/905/ardumower_due_2014-05-24-2.zip/
 
Zuletzt bearbeitet von einem Moderator:
Sehr viel besser,

Funktion 6 sollte gehen, zumindest zeigt er Regelverhalten wenn ich über der Schleife bewege.

Funktion 5 offensichtlich auch, ebenfalls Regelverhalten

Funktion 1 fährt er Rückwärts, dann dreht er, dann meldet er Schleifenausfall.

Gehe jetzt aber raus zum testen, melde mich gleich nochmal
 
Feldtest abgeschlossen.

Funktion 6 Track follow: draufgesetzt und abgefahren. Super. ....... zumindest gegen den Uhrzeigersinn.
Wenn man ihn andersherrum draufsetze, versucht er zu drehen, findet dabei aber
nicht immer die Spur, dann verirrt er sich im Garten.
Schleifenausfall wird festgestellt.

Besonderheit:
Aus irgendeinem Grund fährt der Mower knapp neben der Spur also nicht genau über dem Perimeter sondern ca 4cm innerhalb.
______________________________________________
Funktion 5: suchen und folgen geht nicht, Mäher dreht im Kreis
Funktion 1: Normal mähen (bei mir noch ohne Motor) geht nicht, Mäher dreht im Kreis.
 
OK, Du scheinst aber ein Problem mit einem anderen Sensor zu haben wenn er beim normalen Fahren nicht losfährt.

Schau mal in die Konsole (Sensor-Counters), dort müsste doch ein Sensor-Trigger ständig hochzählen? Dann den entsprechenden Sensor in der Config umkonfigurieren.


(Das Tracking geht übrings nur wenn er die Schleife gefunden hat, die Funktion wird normalerweise nie direkt aufgerufen - ist zum Debuggen troztdem direkt erreichbar...)

Die Tracking-Richtung müssen wir im Code noch umdrehen - er soll ja wie bei der alten Schleife im Uhrzeiger fahren...
 
Der BAT Sensor wechselt zwischen 0 und 1
aber batMonitor = 0;


Code:
t    28 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   0 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    29 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   0 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    30 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   0 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    31 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   0 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    32 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   1 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    33 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   1 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    34 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   1 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    35 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   1 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    36 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   0 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    37 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   0 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    38 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   0 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    39 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   1 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10
t    40 l177 v0 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son   0 pit   0 rol   0 yaw   0 per   1 bat  0.0 chg  0.0  0.0 imu  0 adc 72 kit10


Ah ok, das ist Absicht mit der Fahrtrichtung, aber dann solle er besser grosszügig wenden, bei mir hat er sein Hinterteil großzügig durchs Beet bewegt. (zumindest wenn eines da gewesen wäre)
 
Was da anscheinend ständig wechselt ist der Perimeter (erst kommt immer der Name des Sensors, dann der Wert). Der sollte nicht ständig zwischen 0 und 1 wechseln - schon gar nicht wenn er aus ist (State=OFF). Die Frage ist warum er das macht...

Wenn er Perimeter erreicht, sollte er ein Stück rückfährts fahren (wie lange stellt man in der Config ein), dann auf der Stelle drehen und dann fährt er wieder vorwärts.

Vielleicht drehst Du mal ein kurzes Video von der Problematik...
 
ich hab jetzt mal im Labor getestet,

Die Spule hab ich nicht bewegt, die befindet sich fast in der Mitte des Laborprimeters.


Code:
perimeter
t     3 l178 v2 OFF  sig min  -99 max   94 avg   -6  mag 3299  in  1  on  1
t     4 l175 v2 OFF  sig min  -94 max   93 avg   -4  mag -3612  in  1  on  1
t     5 l185 v2 OFF  sig min  -95 max   91 avg   -3  mag -4631  in  1  on  1
t     6 l185 v2 OFF  sig min  -98 max   93 avg   -4  mag 5148  in  1  on  1
t     7 l185 v2 OFF  sig min  -95 max   93 avg   -2  mag -3326  in  1  on  1
t     8 l185 v2 OFF  sig min  -94 max   93 avg   -3  mag -3376  in  1  on  1
t     9 l185 v2 OFF  sig min  -94 max   94 avg   -5  mag -4156  in  1  on  1
t    10 l185 v2 OFF  sig min  -93 max   94 avg   -5  mag -2964  in  1  on  1
t    11 l185 v2 OFF  sig min  -94 max   95 avg   -5  mag -2724  in  1  on  1
t    12 l185 v2 OFF  sig min  -97 max   92 avg   -5  mag 3374  in  1  on  1
t    13 l185 v2 OFF  sig min  -94 max   93 avg   -3  mag -3474  in  1  on  1
t    14 l185 v2 OFF  sig min  -94 max   93 avg   -2  mag -3538  in  1  on  1
t    15 l185 v2 OFF  sig min -102 max   92 avg   -6  mag -4481  in  1  on  1
t    16 l185 v2 OFF  sig min  -93 max   93 avg   -6  mag -5011  in  1  on  1
t    17 l185 v2 OFF  sig min  -93 max   93 avg   -5  mag 5314  in  1  on  1
t    18 l185 v2 OFF  sig min  -93 max   93 avg   -4  mag 3788  in  1  on  1
t    19 l185 v2 OFF  sig min  -94 max   94 avg   -4  mag 3037  in  1  on  1
t    20 l185 v2 OFF  sig min  -94 max   94 avg   -2  mag -1759  in  1  on  1
t    21 l185 v2 OFF  sig min  -94 max   92 avg   -2  mag 2194  in  1  on  1


schau mal wie die mag Werte immer + - wechseln.

Test im Garten war, die Werte lassens ja ahnen, negativ.
 
OK, ich kann das bestätigen - aber es läuft bei mir trotzdem :) - wichtig ist ja, dass "in" auf 1 bleibt. Hin- und wieder darf "mag" das Vorzeichen wechseln - warum das passiert ist mir noch nicth klar, aber im Liam-Mäher scheinen sie denselben Effekt gehabt zu haben, daher gibt es einen Zähler (SignalCounter, zählt hoch bei +, zählt herunter bei -) - erst wenn der einen bestimmten Wert erreicht, wechselt der Zustand (in)...

Wie stabil läuft denn bei euch der "in" Wert?
 
Mir ist noch eingfallen: die Version vom 22.05. zeigt für "mag", "in", "on" nur alle 10 Sekunden einen Wert, die neuesten Versionen hingegen zeigen alle 200ms einen Wert an - man kann die Plots also nicht direkt vergleichen...
 
@Sven: man man sich die Version mit verbessertem Match-Filter ansieht, so stellt man bei Deinen Plots fest, dass diese schon besser auswertet als im Plot davor: davor wechselt er noch für sehr lange Zeiten nach "out", bei der verbesserten Version geht er nur noch für ganz kurze Zeit nach "out".

Abhilfe: Die Zählergrenze hochsetzen (Zeile 150 in perimeter.cpp), z.B. auf 5:


Code:
// perimeter inside/outside detection
  if (abs(filterMax) > abs(filterMin)){
    signalCounter = min(signalCounter + 1, 5);    
  } else {
    signalCounter = max(signalCounter - 1, -5);    
  }
 
@Sven: bevor man aber anfängt zu optimieren, sollte man Störquellen beseitigen - die Version vom 22.05. mittelt sehr stark, daher hat das normale Fahren gut funktioniert. Aber das Abfahren der Schleife (Tracking) sollte mit diesen Störungen nicht funktioniert haben...

Daher: zunächst sollten die Störungen beseitigt werden (damit später auch das Tracking klappt):

1. Mäher aufbocken
2. Einen Platz für die Spule suchen (und ggf. nach allen Seiten leicht kippen), so dass man ein störungsfreies Signal erhält - die meisten "mag"-Wert sollten sich im negativen Bereich befinden - kurze Aussetzer sind ok:
http://www.ardumower.de/images/perimeter2_plot_12v.jpg http://www.ardumower.de/images/perimeter2_plot_5v.jpg
3. Falls das nicht klappt, mit höherer Spannung arbeiten (12V)

Wenn das Signal störungsfrei erkannt wird, funktioniert das Tracking - und der Rest dann auch... :)
 
Tests von heute morgen, zunächst das Signal an A5.
Das ist meiner Meinung nach sehr sauber.

EingangA5.pdf


und das sind die dazugehörigen Messwerte.


Code:
t     3 l177 v2 OFF  sig min -100 max   94 avg   -6  mag -4150  in  0  on  1
t     4 l175 v2 OFF  sig min  -94 max   96 avg   -5  mag -3870  in  0  on  1
t     5 l185 v2 OFF  sig min  -99 max   96 avg   -6  mag -4105  in  1  on  1
t     6 l185 v2 OFF  sig min  -94 max   95 avg   -7  mag -4551  in  1  on  1
t     7 l185 v2 OFF  sig min  -94 max   97 avg   -1  mag 5997  in  1  on  1
t     8 l185 v2 OFF  sig min  -94 max   94 avg   -5  mag -3100  in  1  on  1
t     9 l185 v2 OFF  sig min  -94 max   95 avg   -8  mag 2354  in  1  on  1
t    10 l185 v2 OFF  sig min  -97 max   98 avg   -4  mag 3666  in  0  on  1
t    11 l185 v2 OFF  sig min  -95 max   97 avg   -5  mag -4023  in  1  on  1
t    12 l185 v2 OFF  sig min  -95 max   96 avg   -7  mag -4047  in  0  on  1
t    13 l185 v2 OFF  sig min  -98 max   95 avg   -3  mag 5658  in  0  on  1
t    14 l185 v2 OFF  sig min  -94 max   97 avg   -1  mag 5944  in  1  on  1
t    15 l185 v2 OFF  sig min  -94 max   95 avg   -7  mag -4169  in  1  on  1
t    16 l185 v2 OFF  sig min  -95 max   96 avg   -6  mag -4136  in  0  on  1
t    17 l185 v2 OFF  sig min  -95 max   95 avg   -3  mag 6029  in  1  on  1
t    18 l185 v2 OFF  sig min  -95 max   94 avg   -5  mag 3773  in  0  on  1
t    19 l185 v2 OFF  sig min  -95 max   94 avg   -7  mag -2888  in  1  on  1
t    20 l185 v2 OFF  sig min  -96 max   95 avg   -4  mag 3021  in  0  on  1
t    21 l185 v2 OFF  sig min  -94 max   94 avg   -5  mag 2405  in  0  on  1
t    22 l185 v2 OFF  sig min  -94 max   94 avg   -7  mag -4134  in  1  on  1
t    23 l185 v2 OFF  sig min  -96 max   94 avg   -4  mag 5848  in  0  on  1
t    24 l185 v2 OFF  sig min  -94 max   97 avg   -5  mag -3970  in  0  on  1
t    25 l185 v2 OFF  sig min  -97 max   97 avg   -6  mag -4558  in  1  on  1
t    26 l185 v2 OFF  sig min  -94 max   94 avg   -5  mag 5616  in  1  on  1
t    27 l185 v2 OFF  sig min  -96 max   97 avg   -3  mag 5883  in  1  on  1
t    28 l185 v2 OFF  sig min  -95 max   97 avg   -7  mag -4018  in  1  on  1
t    29 l185 v2 OFF  sig min  -93 max   97 avg   -7  mag -4443  in  0  on  1
t    30 l185 v2 OFF  sig min  -97 max   95 avg   -2  mag -3521  in  1  on  1
t    31 l185 v2 OFF  sig min  -94 max   96 avg   -7  mag -1945  in  1  on  1
t    32 l185 v2 OFF  sig min  -97 max   94 avg   -6  mag 3083  in  0  on  1
t    33 l185 v2 OFF  sig min  -94 max   96 avg   -7  mag -3735  in  1  on  1
t    34 l185 v2 OFF  sig min  -94 max   96 avg   -4  mag 6026  in  0  on  1
t    35 l185 v2 OFF  sig min  -96 max   95 avg   -6  mag -4788  in  1  on  1
t    36 l185 v2 OFF  sig min  -98 max   95 avg   -2  mag 5908  in  1  on  1
t    37 l185 v2 OFF  sig min  -97 max   99 avg   -6  mag 5029  in  1  on  1
t    38 l185 v2 OFF  sig min  -95 max   96 avg   -7  mag -4420  in  1  on  1


Impulsstrom in der Schleife: 2,27 A
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/1303/EingangA5.pdf/
 
Zuletzt bearbeitet von einem Moderator:
Hier ist eine Version die wieder die alte Version des Filters verwendet, diesmal aber mit längerem Sample-Buffer...

Die Schleifenausfall-Erkennung ist derzeit erstmal auskommentiert.

Unten sieht man ein Video des Tests - Im Video sieht man bei 4:40 dass die Filter-Ausgabe "mag" hier relativ konstant ist...

Der Umkehrer beim Überqueren des Gartens sollte vom normalen 1-Minuten-Timeout kommen (hat nichts mit der Schleife zu tun)...
https://www.youtube.com/watch?v=FL6K98B2Zsk&feature=youtu.be Attachment: https://forum.ardumower.de/data/media/kunena/attachments/905/ardumower_perimeter_test2.zip/
 
Zuletzt bearbeitet von einem Moderator:
Sven hat herausgefunden, dass der Motortreiber bei ihm zu warm wird und dann das Ausgangssignal nicht mehr korrekt ist (und dann der "mag" Wert anfängt stark zu pendeln). Wir werden versuchen eine Stromregelung einzubauen (PWM mit Hilfe der Feedback-Leitung)...
 
Oben