Schlagwort-Archive: Mißerfolge

Projekt RAT reloaded

Ich hab mich ein wenig in den Tiefen meines Codes verirrt. Momentan macht der RAT, was er will. Eigentlich ja das erwünschte Verhalten. Aber nicht so! Nüchternes Fazit: Zu viele Threads mit Eigenleben, die unabhängig voneinander operieren und chaotische Reaktionen erzeugen. Ich ziehe einen Schlußstrich und entwickle die entsprechenden Algorithmen neu.
Der Kompass ist nach wie vor eine Fehlerquelle, was kontrollierte Drehungen äußerst schwierig macht. Neu hinzugekommen ist der Ultraschall-Radar, ein beweglich angebrachter Sensor. Der sollte normalerweise während der Fahrt nach der potenziell hindernisfreien Strecke suchen. Momentan stiftet das Ding aber einfach nur Unruhe.

Projekt RAT: Der Dreh mit dem Dreh

Heute ist die kontrollierte Drehung auf der Stelle auf der Tagesordnung. Zwar traue ich den Meßwerten des Kompass immer noch nicht ganz, aber davon unabhängig muss ich soundso die entspechenden Methoden in die RAT Software implementieren.
Im Prinzip gibt es zwei diesbezügliche Kommandos, die der Server entgegennimmt:

turn([degrees]) # führt eine relative Drehung um [degrees] Grad durch.
turnto([degrees]) # führt ein absolute Drehung bis zur gewünschten Gradzahl [degrees] aus.

Beide Methoden zeigen am RAT Controller auf dieselbe Methode, wobei ein zusätzlicher Parameter [relative] den Modus bestimmt. Der Unterschied besteht letztlich nur darin, wie der Ziel-Winkel bestimmt wird.
Problem 1: In Abhängigkeit von aktuellem und Ziel-Winkel sollte RAT sich links oder rechts herum drehen. Der Einfachheit halber vertage ich diese Frage zunächst zugunsten von Problem Nr.2.
Problem 2: Abgleich von Drehimpuls und erreichtem Winkel. Ich rechne damit, dass der Zielwinkel nicht aufs Grad genau erreicht wird. D.h. wird reden hier von einem kleinen Regelkreis, der sich dem Ziel-Winkel in Schwingungen nähert und bei Unterschreitung eines definierten Toleranzweres (+-2 Grad?) abschaltet. Dabei zu beachten das Überschreiten des 360 Grad Punktes.
Soweit die Theorie. In der Praxis dreht sich der RAT noch wie ein Kreisel…
Das nehme ich mal besser nicht auf.