ullisun58
Well-known member
Heute gibt es ein neues Video. Follow the Wire habe ich meiner Meinung nach abgeschlossen. Die Perimeter Erkennung funktionierte ja schon so weit ganz zuverlässing ich hatte dazu bereits ein Video in diesem Post geteilt. Jetzt stand noch eine zuverlässige Follow the Wre Funktion aus, damit er bei geringem Akkuladestand entlang des Drahtes zu seinem Häuschen findet. Ein wenig muss ich noch mit den PID Werten experimentieren, aber das ist hier jetzt eine sehr gute Basis. Das Perimeter Script läuft auf dem Teensy Board. Die mag Values werden als Json String via serielle Schnittstelle zum Pi übertragen. Im Pi findet dann die weitere Auswertung für die Motorsteuerung statt.
An dem Konzept wie ich es hier kurz beschrieben habe ich festgehalten. Die drive.py Datei kann mit einer weiteren Option gestartet werden
python drive.py 23 23 1100 p . Die Parameter werden wie folgt interpretiert. Links und rechts ist die Soll RPM 23. 1100 sind die cm die er fahren soll, p steht für Perimeter. Für den PID Regler habe die Sollgröße 0 als mag Value vorgegeben, Also im Best Case sind innen und außen liegende Spulen im gleichen Abstand vom Perimeter Draht. weicht er davon ab, reguliert der Y Wert des PID Reglers die Antriebsmotore entgegengesetzt.
Ist die Linke Spule für 10 Messungen auch außerhalb der Schleife wird die fahrt gestoppt. Mit python drive.py -18 18 800 pl kann eine Linksdrehung ausgelöst werden, bis die Linke Spule für 3 Messungen wieder innerhalb der Schleife liegt.
Das ganze hatte ich für das Video in ein bash script gepackt und laufen lassen. Meiner Meinung nach funktioniert das schon ganz ordentlich.
Sicher, besser geht immer. Aber dafür dass er die Fahrt nur dann absolvieren soll, wenn er geringen Ladezustand hat, wollte ich den Aufwand auch nicht übertreiben. Viel Spaß beim schauen, Your Feedback and suggesntions are welcome
View attachment PerimeterWire.mp4
An dem Konzept wie ich es hier kurz beschrieben habe ich festgehalten. Die drive.py Datei kann mit einer weiteren Option gestartet werden
python drive.py 23 23 1100 p . Die Parameter werden wie folgt interpretiert. Links und rechts ist die Soll RPM 23. 1100 sind die cm die er fahren soll, p steht für Perimeter. Für den PID Regler habe die Sollgröße 0 als mag Value vorgegeben, Also im Best Case sind innen und außen liegende Spulen im gleichen Abstand vom Perimeter Draht. weicht er davon ab, reguliert der Y Wert des PID Reglers die Antriebsmotore entgegengesetzt.
Ist die Linke Spule für 10 Messungen auch außerhalb der Schleife wird die fahrt gestoppt. Mit python drive.py -18 18 800 pl kann eine Linksdrehung ausgelöst werden, bis die Linke Spule für 3 Messungen wieder innerhalb der Schleife liegt.
Das ganze hatte ich für das Video in ein bash script gepackt und laufen lassen. Meiner Meinung nach funktioniert das schon ganz ordentlich.
Sicher, besser geht immer. Aber dafür dass er die Fahrt nur dann absolvieren soll, wenn er geringen Ladezustand hat, wollte ich den Aufwand auch nicht übertreiben. Viel Spaß beim schauen, Your Feedback and suggesntions are welcome
View attachment PerimeterWire.mp4