Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Hi,
da ich mittlerweile hoffe, dass mein Bot soweit funktioniert, wollte ich anfangen, mit den Verhalten zu experimentieren. BEHAVIOUR_CATCH_PILLAR_AVAILABLE fand ich recht interessant und wollte damit beginnen.
Leider dreht sich der Bot nur endlos im Kreis. ich habe das hier mal per Video festgehalten: https://vimeo.com/212800630
1. eax hat mir schon den Hinweis gegeben, die Fotodose etwas zu erhöhen, daher die Papierrolle um die Dose, hat leider nicht geholfen.
2. Wenn ich den Bot manuell drehe registrieren die Distanzsensoren durchaus die Dose, wenn auch die jeweilige LED meinem Gefühl nach etwas verzögert reagiert.
3. Warum die linke LED etwas im Bereich ~40cm registriert, erschließt sich mir nicht. Beide Sensoren sind mit allen 3 Mod-Empfehlungen versehen, wurden unter reinem Tageslicht kalibriert, störende Lichtquellen waren im Video nicht angeschaltet, kippe ich den Bot etwas nach oben schaltet auch der linke Sensor auf "9999". Dies nur für den Fall, dass es etwas damit zu tun hat. Unabhängig davon, dass der linke Sensor etwas in ~4ßcm registriert sollte er ja bei der Fotodose umschalten.
Danke im Voraus für alle Hinweise!
anonybot
Edit: Gemeldet unter https://github.com/tsandmann/ct-bot/issues/50.
da ich mittlerweile hoffe, dass mein Bot soweit funktioniert, wollte ich anfangen, mit den Verhalten zu experimentieren. BEHAVIOUR_CATCH_PILLAR_AVAILABLE fand ich recht interessant und wollte damit beginnen.
Leider dreht sich der Bot nur endlos im Kreis. ich habe das hier mal per Video festgehalten: https://vimeo.com/212800630
1. eax hat mir schon den Hinweis gegeben, die Fotodose etwas zu erhöhen, daher die Papierrolle um die Dose, hat leider nicht geholfen.
2. Wenn ich den Bot manuell drehe registrieren die Distanzsensoren durchaus die Dose, wenn auch die jeweilige LED meinem Gefühl nach etwas verzögert reagiert.
3. Warum die linke LED etwas im Bereich ~40cm registriert, erschließt sich mir nicht. Beide Sensoren sind mit allen 3 Mod-Empfehlungen versehen, wurden unter reinem Tageslicht kalibriert, störende Lichtquellen waren im Video nicht angeschaltet, kippe ich den Bot etwas nach oben schaltet auch der linke Sensor auf "9999". Dies nur für den Fall, dass es etwas damit zu tun hat. Unabhängig davon, dass der linke Sensor etwas in ~4ßcm registriert sollte er ja bei der Fotodose umschalten.
Danke im Voraus für alle Hinweise!
anonybot
Edit: Gemeldet unter https://github.com/tsandmann/ct-bot/issues/50.
Zuletzt geändert von anonybot am 26 Sep 2020, 01:40, insgesamt 1-mal geändert.
Von mir selbst verfasste (daher nicht zitierte) Inhalte dieses Beitrags sind zur Weiternutzung unter CC-BY-SA freigegeben +++ ct-Bot -> Libre-Bot? - Diskussion zur Zukunft des ct-Bots +++ anonybot sagt hello!
-
- Friends of Johnny-5
- Beiträge: 293
- Registriert: 26 Jan 2006, 22:43
- Wohnort: Großkrotzenburg (Main-Kinzig-Kreis)
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
... evtl. dreht er sich zu schnell und "verpaßt" den Distanz-peak?
Viktor
Viktor
Ciao, Viktor --- Aufruf zum Projekt "Müll-freie Meere" - https://reprap.org/forum/list.php?426
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Hi Viktor,V2 hat geschrieben:... evtl. dreht er sich zu schnell und "verpaßt" den Distanz-peak?
Viktor
danke für die Vermutung. Allerdings kann ich die Geschwindigkeit ja vorher nicht definieren. eax vermutete, es könnte an der Interaktion mit dem Maussensor liegen. Aber auch wenn ich diesen deaktviere funtkioniert das Verhalten nicht.
Ich hatte gehofft, hier hat noch jemand seinen Bot in Reichweite und könnte das Verhalten mal aktivieren. So könnte ich zumindest erstmal prüfen, ob es and er Hardware liegt.
Von mir selbst verfasste (daher nicht zitierte) Inhalte dieses Beitrags sind zur Weiternutzung unter CC-BY-SA freigegeben +++ ct-Bot -> Libre-Bot? - Diskussion zur Zukunft des ct-Bots +++ anonybot sagt hello!
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Mittlerweile habe ich Folgendes festgestellt:
1. Starte ich das "catch pillar"-Verhalten über die Fernbedienung, ergibt sich das Problem nach wie vor, dass sich der Bot lediglich dreht:
https://vimeo.com/249076618
2. Starte ich das "catch pillar"-Verhalten über den ct-Sim via "Remote Call", dreht er sich nur einmal (so wie vom Code vorgesehen):
https://vimeo.com/249076746
Die Dose erkennt er jedoch in beiden Fällen nicht.
Ich habe beide Videos unmittelbar hintereinander aufgenommen, nachdem ich die Distanz-Sensoren nach dem letzten Software-Update neu kalibieren musste (dass sie soweit funktionieren, zeigt der etwas unbeholfene Test mit der Fotodosen-Schieberei am Ende des zweiten Videos).
Einzige externe Lichtquelle ist Winter-Tageslicht bei bewölktem Himmel (abgesehen vom Notebook-Display, das aber weit weg stand und auch so weit wie möglich zugeklappt wurde).
Wie kann es sein, dass der Code sich verschieden verhält, je nachdem, ob er über den Bot oder über den Sim aufgerufen wird?
1. Starte ich das "catch pillar"-Verhalten über die Fernbedienung, ergibt sich das Problem nach wie vor, dass sich der Bot lediglich dreht:
https://vimeo.com/249076618
2. Starte ich das "catch pillar"-Verhalten über den ct-Sim via "Remote Call", dreht er sich nur einmal (so wie vom Code vorgesehen):
https://vimeo.com/249076746
Die Dose erkennt er jedoch in beiden Fällen nicht.
Ich habe beide Videos unmittelbar hintereinander aufgenommen, nachdem ich die Distanz-Sensoren nach dem letzten Software-Update neu kalibieren musste (dass sie soweit funktionieren, zeigt der etwas unbeholfene Test mit der Fotodosen-Schieberei am Ende des zweiten Videos).
Einzige externe Lichtquelle ist Winter-Tageslicht bei bewölktem Himmel (abgesehen vom Notebook-Display, das aber weit weg stand und auch so weit wie möglich zugeklappt wurde).
Wie kann es sein, dass der Code sich verschieden verhält, je nachdem, ob er über den Bot oder über den Sim aufgerufen wird?

Von mir selbst verfasste (daher nicht zitierte) Inhalte dieses Beitrags sind zur Weiternutzung unter CC-BY-SA freigegeben +++ ct-Bot -> Libre-Bot? - Diskussion zur Zukunft des ct-Bots +++ anonybot sagt hello!
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Hi,
eines vorweg, diese Filmdosen haben bei mir nie funktioniert, weil sie zu flach sind, um von den Distanzsensoren sauber erkannt zu werden. Vielleicht wird im Video eher der Stift (mit-) erkannt im Test? Zum Überprüfen würde ich einfach mal einen Papierstreifen um die Dose wickeln/festkleben, der oben 2cm übersteht. Das hatte bei mir immer deutlich zuverlässiger funktioniert.
Zum unterschiedlichen Verhalten: Ich habe es gerade mal im Simulator getestet, da ist das Verhalten auch unterschiedlich: Über Fernbedienung hängt sich der Bot auf, sobald der Distanzsensor etwas sieht, da scheint wohl irgendwo ein Bug zu sein. Beim Starten über Remote Call funktioniert das Verhalten dort ohne Aufhängen, allerdings fährt der Bot dann immer die Dose um
bzw. gegen die Dose, weil die im Simulator nicht verschiebbar sind, wenn sie nicht im Bot-Transportfach sind. Das Verhalten scheint also so oder so etwas verbuggt zu sein
Ich werde mal versuchen mit ein paar Debug-Ausgaben dem Problem auf die Schliche zu kommen.
Gruß,
Timo
eines vorweg, diese Filmdosen haben bei mir nie funktioniert, weil sie zu flach sind, um von den Distanzsensoren sauber erkannt zu werden. Vielleicht wird im Video eher der Stift (mit-) erkannt im Test? Zum Überprüfen würde ich einfach mal einen Papierstreifen um die Dose wickeln/festkleben, der oben 2cm übersteht. Das hatte bei mir immer deutlich zuverlässiger funktioniert.
Zum unterschiedlichen Verhalten: Ich habe es gerade mal im Simulator getestet, da ist das Verhalten auch unterschiedlich: Über Fernbedienung hängt sich der Bot auf, sobald der Distanzsensor etwas sieht, da scheint wohl irgendwo ein Bug zu sein. Beim Starten über Remote Call funktioniert das Verhalten dort ohne Aufhängen, allerdings fährt der Bot dann immer die Dose um


Ich werde mal versuchen mit ein paar Debug-Ausgaben dem Problem auf die Schliche zu kommen.
Gruß,
Timo
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Also das Problem mit dem unterschiedlichen Verhalten ob von Fernbedienung oder Remote Call gestartet, sollte im Branch develop jetzt behoben sein, das war ein Bug im Code vom Verhaltenssystem.
Um das Problem, dass die Dose nicht erkannt wird bzw. im Simulator umgefahren wird, zu untersuchen, habe ich im Branch bugfixes/catch_pillar in das Verhalten mal einige Debug-Ausgaben eingebaut, vielleicht kannst du das bei dir mal testen?
Dazu in ct-Bot.h die Option LOG_CTSIM_AVAILABLE aktivieren (und LOG_STDOUT_AVAILABLE deaktivieren), dann findest du im verbundenen ct-Sim im Log-Fenster die Debug-Ausgaben.
Auf jeder Fall wird bei erkannter Dose deren Position wohl falsch berechnet, darum wird sie dann umgefahren... Das schaue ich mir noch mal an.
Gruß,
Timo
Um das Problem, dass die Dose nicht erkannt wird bzw. im Simulator umgefahren wird, zu untersuchen, habe ich im Branch bugfixes/catch_pillar in das Verhalten mal einige Debug-Ausgaben eingebaut, vielleicht kannst du das bei dir mal testen?
Dazu in ct-Bot.h die Option LOG_CTSIM_AVAILABLE aktivieren (und LOG_STDOUT_AVAILABLE deaktivieren), dann findest du im verbundenen ct-Sim im Log-Fenster die Debug-Ausgaben.
Auf jeder Fall wird bei erkannter Dose deren Position wohl falsch berechnet, darum wird sie dann umgefahren... Das schaue ich mir noch mal an.
Gruß,
Timo
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Zunächst: Tut mir leid für die wirklich späte Rückmeldung. Aber bin nun endlich mal wieder dazu gekommen, den kürzlich aktualisiert Bot-Code auf das Problem hin anzuwenden. In Matrix/Slack bereits gesagt, aber hier vielleicht besser aufgehoben_
Also die gute Nachricht ist, dass es jetzt mit ein wenig Schummelei funktioniert: Der Bot "findet" die Fotodose ungefähr, fängt sie aber nicht ganz mittig ein und fährt dann stur weiter, sodass sie nicht im Transportfach landet, sondern vorbeidriftet. Helfe ich ein wenig nach, schließt das Transportfach aber korrekt. Das ist ein riesiger Unterschie zu vorher, wo der Bot sich einfach nur im Kreis gedreht hat.
Also die gute Nachricht ist, dass es jetzt mit ein wenig Schummelei funktioniert: Der Bot "findet" die Fotodose ungefähr, fängt sie aber nicht ganz mittig ein und fährt dann stur weiter, sodass sie nicht im Transportfach landet, sondern vorbeidriftet. Helfe ich ein wenig nach, schließt das Transportfach aber korrekt. Das ist ein riesiger Unterschie zu vorher, wo der Bot sich einfach nur im Kreis gedreht hat.
Das habe ich berücksichtigt und eine Papprolle zugeschnitten, die gerade so noch in das Transportfach passt (1mm Luft zur Unterkante des Klappen-Arms). Das ändert wenig an der Erkennung. Auch mit dem "dickeren" Objekt dreht der Bot etwas zu weit, sodass er sie, nicht genügend "mittig" ausgerichtet, leicht verfehlt.eax hat geschrieben: ↑29 Dez 2017, 18:44eines vorweg, diese Filmdosen haben bei mir nie funktioniert, weil sie zu flach sind, um von den Distanzsensoren sauber erkannt zu werden. Vielleicht wird im Video eher der Stift (mit-) erkannt im Test? Zum Überprüfen würde ich einfach mal einen Papierstreifen um die Dose wickeln/festkleben, der oben 2cm übersteht. Das hatte bei mir immer deutlich zuverlässiger funktioniert.
Dieses Problem ist nun definitiv behoben, vielen vielen Dank!eax hat geschrieben: ↑29 Dez 2017, 18:44Zum unterschiedlichen Verhalten: Ich habe es gerade mal im Simulator getestet, da ist das Verhalten auch unterschiedlich: Über Fernbedienung hängt sich der Bot auf, sobald der Distanzsensor etwas sieht, da scheint wohl irgendwo ein Bug zu sein. Beim Starten über Remote Call funktioniert das Verhalten dort ohne Aufhängen, allerdings fährt der Bot dann immer die Dose umbzw. gegen die Dose, weil die im Simulator nicht verschiebbar sind, wenn sie nicht im Bot-Transportfach sind. Das Verhalten scheint also so oder so etwas verbuggt zu sein
![]()
Ich werde mal versuchen mit ein paar Debug-Ausgaben dem Problem auf die Schliche zu kommen.
Ich nehme an, dass Du diese Änderungen bereits in den stable-Branch aufgenommen hast, weil ich mich ja, Schande über mich, ewig nicht gemeldet habe?eax hat geschrieben: ↑29 Dez 2017, 19:52Also das Problem mit dem unterschiedlichen Verhalten ob von Fernbedienung oder Remote Call gestartet, sollte im Branch develop jetzt behoben sein, das war ein Bug im Code vom Verhaltenssystem.
Um das Problem, dass die Dose nicht erkannt wird bzw. im Simulator umgefahren wird, zu untersuchen, habe ich im Branch bugfixes/catch_pillar in das Verhalten mal einige Debug-Ausgaben eingebaut, vielleicht kannst du das bei dir mal testen?
Dazu in ct-Bot.h die Option LOG_CTSIM_AVAILABLE aktivieren (und LOG_STDOUT_AVAILABLE deaktivieren), dann findest du im verbundenen ct-Sim im Log-Fenster die Debug-Ausgaben.
...und hattest Du bez. der Positionsberechnung einen Fehler gefunden? Gäbe es da noch die Möglichkeit, etwas zu optimieren, oder liegt die beschriebene Ungenauigkeit eher auf meiner Seite? Falls hilfreich kann ich ggf. mal ein Video von meinem "Dosen-Fangversuch" drehen.
Von mir selbst verfasste (daher nicht zitierte) Inhalte dieses Beitrags sind zur Weiternutzung unter CC-BY-SA freigegeben +++ ct-Bot -> Libre-Bot? - Diskussion zur Zukunft des ct-Bots +++ anonybot sagt hello!
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Nein, habe ich nicht.anonybot hat geschrieben: ↑21 Okt 2018, 00:07Ich nehme an, dass Du diese Änderungen bereits in den stable-Branch aufgenommen hast, weil ich mich ja, Schande über mich, ewig nicht gemeldet habe?eax hat geschrieben: ↑29 Dez 2017, 19:52[...]Um das Problem, dass die Dose nicht erkannt wird bzw. im Simulator umgefahren wird, zu untersuchen, habe ich im Branch bugfixes/catch_pillar in das Verhalten mal einige Debug-Ausgaben eingebaut, vielleicht kannst du das bei dir mal testen?
Dazu in ct-Bot.h die Option LOG_CTSIM_AVAILABLE aktivieren (und LOG_STDOUT_AVAILABLE deaktivieren), dann findest du im verbundenen ct-Sim im Log-Fenster die Debug-Ausgaben.
Nein, da habe ich nichts weiter gemacht.anonybot hat geschrieben: ↑21 Okt 2018, 00:07...und hattest Du bez. der Positionsberechnung einen Fehler gefunden? Gäbe es da noch die Möglichkeit, etwas zu optimieren, oder liegt die beschriebene Ungenauigkeit eher auf meiner Seite? Falls hilfreich kann ich ggf. mal ein Video von meinem "Dosen-Fangversuch" drehen.
Soweit ich mich erinnere, ist das Problem nicht unbedingt eine Ungenauigkeit, sondern liegt (erstmal) daran, dass die Position der Dose falsch berechnet wird. Jedenfalls besteht das Problem auch im Simulator, wo es kaum Ungenauigkeiten gibt.
Die o.g. Code-Variante aus dem Branch bugfixes/catch_pillar schreibt entsprechende Debug-Ausgaben ins Log, das könnte hilfreich sein.
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Hey eax, zunächst vielen Dank für die neuen Optionen in bugfixes/catch_pillar!
Bin endlich dazu gekommen, bugfixes/catch_pillar entsprechend Deiner Angaben zu testen. Auf möglichst wenige störende künstliche Lichtquellen habe ich geachtet (einzig meinen Monitor konnte ich schlecht abschalten
). Der "Versuchsaufbau" war bei allen Tests ungefähr so:
(hier bei ca. 15cm Anfangsabstand, die Dose immer um 90Grad links vom Bot)
Da ich anfangs (trotz Deiner Anmerkungen zum Mindestabstand der Distanzsensoren) bei einem geringen Abstand der Fotodose unerwartet gute Ergebnisse hatte, habe ich bei 5cm begonnen und zwei weitere Tests bei 10cm und 15cm Abstand unternommen, dabei mit Parameter "0" begonnen und dann immer um 1 nach oben gesetzt. Leider gab es bei keinem Versuch einen erfolgreichen "catch". Einzig bei 5cm wurde im Modus "2" 2x die Dose registriert, das Einfangen ging aber daneben:
Bei 10cm Anfangsabstand wie gesagt kein Erfolg:
Auch nicht bei 15cm:
Gedanken dazu:
1. Insgesamt hatte ich das Gefühl, dass die Disitanzsensoren "träge" reagieren. Würde hier eventuell helfen, dem Verhalten mit einem zweiten Parameter zu sagen, dass der Bot sich langsamer drehen soll?
2. Kann man der DEBUG-Ausgabe mitgeben, welcher Parameter verwendet wurde?
Bin endlich dazu gekommen, bugfixes/catch_pillar entsprechend Deiner Angaben zu testen. Auf möglichst wenige störende künstliche Lichtquellen habe ich geachtet (einzig meinen Monitor konnte ich schlecht abschalten

(hier bei ca. 15cm Anfangsabstand, die Dose immer um 90Grad links vom Bot)
Da ich anfangs (trotz Deiner Anmerkungen zum Mindestabstand der Distanzsensoren) bei einem geringen Abstand der Fotodose unerwartet gute Ergebnisse hatte, habe ich bei 5cm begonnen und zwei weitere Tests bei 10cm und 15cm Abstand unternommen, dabei mit Parameter "0" begonnen und dann immer um 1 nach oben gesetzt. Leider gab es bei keinem Versuch einen erfolgreichen "catch". Einzig bei 5cm wurde im Modus "2" 2x die Dose registriert, das Einfangen ging aber daneben:
Code: Alles auswählen
# cat_pillar-Parameter 0
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 328|26
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (327|27): Objekt links erkannt: sensDistL=247 head
[ 523] DEBUG catch_pillar() wird beendet
# cat_pillar-Parameter 1
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 331|34
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (329|33): Objekt links erkannt: sensDistL=287 head
[ 523] DEBUG catch_pillar() wird beendet
# cat_pillar-Parameter 2
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 335|43
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (336|44): Objekt links erkannt: sensDistL=215 head
[ 405] DEBUG (337|46): Objekt rechts erkannt: sensDistR=300 hea
[ 450] DEBUG catch_pillar() wurde reaktiviert
[ 479] DEBUG Objekt erkannt (rechter Sensor), obj_pos=(343,381)
[ 498] DEBUG Oeffne Klappe...
[ 503] DEBUG Fahre zu Punkt (343|381) ...
[ 511] DEBUG Ziel erreicht: (342|373)
[ 523] DEBUG catch_pillar() wird beendet
# cat_pillar-Parameter 2
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 342|373
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (339|375): Objekt links erkannt: sensDistL=291 hea
[ 405] DEBUG (339|377): Objekt rechts erkannt: sensDistR=296 he
[ 450] DEBUG catch_pillar() wurde reaktiviert
[ 479] DEBUG Objekt erkannt (rechter Sensor), obj_pos=(610,188)
[ 498] DEBUG Oeffne Klappe...
[ 503] DEBUG Fahre zu Punkt (610|188) ...
[ 511] DEBUG Ziel erreicht: (607|193)
[ 523] DEBUG catch_pillar() wird beendet
# cat_pillar-Parameter 2
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 607|193
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (607|193): Objekt links erkannt: sensDistL=235 hea
[ 523] DEBUG catch_pillar() wird beendet
# cat_pillar-Parameter 2
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 605|209
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (605|209): Objekt links erkannt: sensDistL=270 hea
[ 523] DEBUG catch_pillar() wird beendet
# cat_pillar-Parameter 3
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 603|222
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (603|222): Objekt links erkannt: sensDistL=270 hea
[ 523] DEBUG catch_pillar() wird beendet
Code: Alles auswählen
# catch_pillar-Parameter 0
[ 523] DEBUG catch_pillar() wird beendet
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 244|-22
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (246|-22): Objekt links erkannt: sensDistL=270 hea
[ 523] DEBUG catch_pillar() wird beendet
# catch_pillar-Parameter 1
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 254|-17
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (257|-16): Objekt links erkannt: sensDistL=279 hea
[ 523] DEBUG catch_pillar() wird beendet
# catch_pillar-Parameter 2
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 265|-11
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (269|-9): Objekt links erkannt: sensDistL=237 head
[ 523] DEBUG catch_pillar() wird beendet
# catch_pillar-Parameter 3
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 278|-7
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (283|-4): Objekt links erkannt: sensDistL=258 head
[ 523] DEBUG catch_pillar() wird beendet
Code: Alles auswählen
# catch_pillar-Parameter 0
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 292|-1
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (298|3): Objekt links erkannt: sensDistL=279 headi
[ 523] DEBUG catch_pillar() wird beendet
# catch_pillar-Parameter 1
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 307|4
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (311|8): Objekt links erkannt: sensDistL=270 headi
[ 523] DEBUG catch_pillar() wird beendet
# catch_pillar-Parameter 2
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 313|12
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (315|15): Objekt links erkannt: sensDistL=287 head
[ 523] DEBUG catch_pillar() wird beendet
# catch_pillar-Parameter 3
[ 534] DEBUG bot_catch_pillar_turn(360)
[ 535] DEBUG Startpunkt: 319|20
[ 437] DEBUG Starte Drehung um max. 360 Grad
[ 445] DEBUG Pausiere catch_pillar() Verhalten
[ 395] DEBUG (322|23): Objekt links erkannt: sensDistL=287 head
[ 523] DEBUG catch_pillar() wird beendet
1. Insgesamt hatte ich das Gefühl, dass die Disitanzsensoren "träge" reagieren. Würde hier eventuell helfen, dem Verhalten mit einem zweiten Parameter zu sagen, dass der Bot sich langsamer drehen soll?
2. Kann man der DEBUG-Ausgabe mitgeben, welcher Parameter verwendet wurde?
Von mir selbst verfasste (daher nicht zitierte) Inhalte dieses Beitrags sind zur Weiternutzung unter CC-BY-SA freigegeben +++ ct-Bot -> Libre-Bot? - Diskussion zur Zukunft des ct-Bots +++ anonybot sagt hello!
Re: Problem mit BEHAVIOUR_CATCH_PILLAR_AVAILABLE
Also sehr auffällig ist: bei allen Versuchen messen die Distanzsensoren eine ganz andere als die wirkliche Entfernung zur Dose, meist so um die 28 cm:
Ich bin immer noch der Meinung, dass diese Dose zu niedrig ist, um korrekt mit den Sensoren erkannt zu werden...
Stell doch im gleichen Versuch anstatt der Dose mal ein Buch (das mindestens so hoch ist wie der Bot) auf, um das Problem etwas eingrenzen zu können. Natürlich fährt der Bot das Buch dann um, aber der Theorie nach müsste die Mitte der Transportfachöffnung ja ungefähr die rechte Buchkante treffen.
Träge ist aber durchaus ein guter Punkt. Du kannst testweise mal in mcu/sensor-low.c Zeile 66 den Parameter FILTER_SHIFT auf 0 setzen. Dann sollten die Distanzsensorwerte zwar stärker schwanken, dafür aber weniger träge sein.
Code: Alles auswählen
[ 395] DEBUG (298|3): Objekt links erkannt: sensDistL=279

Stell doch im gleichen Versuch anstatt der Dose mal ein Buch (das mindestens so hoch ist wie der Bot) auf, um das Problem etwas eingrenzen zu können. Natürlich fährt der Bot das Buch dann um, aber der Theorie nach müsste die Mitte der Transportfachöffnung ja ungefähr die rechte Buchkante treffen.
Der Bot sollte sich dabei so langsam drehen wie es ihm möglich ist (jedenfalls mit der alten Hardware).
Träge ist aber durchaus ein guter Punkt. Du kannst testweise mal in mcu/sensor-low.c Zeile 66 den Parameter FILTER_SHIFT auf 0 setzen. Dann sollten die Distanzsensorwerte zwar stärker schwanken, dafür aber weniger träge sein.
Da hast du Recht, die Debug-Ausgabe hat da noch deutliches Verbesserungspotential, vor allem weil teilweise auch das Ende abgeschnitten ist und gar nicht mehr angezeigt wird. Das korrigiere ich gleich mal.
Timo -- Meine Beiträge sind unter CC-BY-SA freigegeben