Hallo,
der Thread ist zwar schon etwas älter aber hat die Parameterbestimmung so gut funktioniert, dass der Quadrokopter auch in der Luft stabil fliegt? Hast du an den Algorithmen noch weitergearbeitet oder ruht das Projekt?
Gruß Manu
Hallo,
gestern habe ich die ersten erfolgreichen Tests mit meinem GA durchgeführt. Das Programm ist wieder Quick&Dirty, funktioniert aber. Hier zeigen sich auch schon die großen Unterschiede zw. SA und GA. Beim GA passiert es des öfteren, dass er nie eine optimale Lösung findet und in irgendeinem lokalen Minimum hängen bleibt. Außerdem benötigt man eine relativ große Population, um mehr oder minder sicher und schnell das optimale Ergebnis zu erreichen. Als guten Wert hat sich jetzt bei mir der Wert 500 (für m) herauskristallisiert. Allerdings muss ich dazu sagen, dass bis jetzt keine Mutation integriert ist (kommt aber noch) und die Rekombination ist eine einfache Mittelwertbildung von den 2 Werten. Auch das Heiratsschema ist nicht optimal, allerdings habe ich bis jetzt noch keinerlei Quellen gefunden, wie man ein einigermaßen gutes Heiratsschema implementiert... Wenn jemand da einen Tipp hat, immer her damit
Das Programm ist wieder im Anhang, setzt jedoch, genauso wie das SA das .net Framework vorraus.
Gruß
Chris
EDIT:
Gerade eben habe ich das Heiratsschema verändert. Jetzt werden zufällig einzelne Individuen miteinander rekombiniert, das brachte eine viel kürzere Laufzeit bei nur m = 50. Das neue Programm ist im Anhang.
Geändert von Che Guevara (06.02.2012 um 00:36 Uhr)
Hallo,
der Thread ist zwar schon etwas älter aber hat die Parameterbestimmung so gut funktioniert, dass der Quadrokopter auch in der Luft stabil fliegt? Hast du an den Algorithmen noch weitergearbeitet oder ruht das Projekt?
Gruß Manu
Hi,
ja es hat sehr gut funktioniert! Wenn man den richtigen Parameter zur "Abkühlung" gefunden hat, ist der Algo unglaublich schnell und kommt zu guten Ergebnissen! Irgendwann hab ich den Algo dann aber wieder aus dem Quadro geschmissen, weil ich die Regelalgorithmen verbessert habe und ich ihn somit nicht mehr brauche.
Gruß
Chris
Hast du dann zur Parameterbestimmung eine bestimmte Auslenkung programmiert wie du beschrieben hast? Also eine Auslenkung aus der Gleichgewichtslage, die eine Windböe simuliert und dann vom Quadrokopter ausgesteuert werden muss? Und dann wurde dieser Vorgang so lange wiederholt, bis das zurückkehren in die gleichgewichtslage schnell ging und die Parameter gut waren?
Danke ! Sehr interessantes Thema.
Gruß Manu
Das hab ich mal ausprobiert, war allerdings nicht der richtige Weg! Letzendlich hab ichs so gelöst, dass der gewollte Fehler durch die Funke (also der Soll-Wert) als sozusagen Auslöser zur Bestimmung des Fitnesswerts genutzt wurde. Also nur, solange aktiv die Lage verändert wird, ist der Algo aktiv.
Gruß
Chris
Lesezeichen