-
-
Erfahrener Benutzer
Roboter Genie
Hallo hopix,
durch Neugierde getrieben, hier nochmals ein paar Anmerkungen von mir:
Was - zumindest bei meinem Bot - an meisten Rechenpower frisst, sind die trigonometrischen Funktionen. Nun gibt es ja verschiedeste Möglichkeiten, diese Funktionen zu realisieren und es würde mich interessieren, wie schnell die Berechnung in der von dir verwendeten Programmierumgebung erfolgt. Könntest du mal einen kleinen Benchmark dazu machen und posten, wieviele z.B. SIN du bei welcher µC-Frequenz schaffst?
Leider benötige ich arg viele dieser Funktionen um die Beine genau zu steuern. Zuerst müssen ja die Montagepunkte der Hüftservos je nach Winkel des Bots im Raum gedreht werden (ich bezeichne die drei Servos eines Beins als Hüft- Knie- und Fußservo). Das sind schon 6 Aufrufe pro Bein.
Dann kommt der zu berechnende Versatz, der Dadurch zustande kommt, das Hüft und Knieservo nicht an einem Punkt liegen. D. h. der Montagepunkt des Knieservos dreht sich um den Hüftservo in der Entfernung der Länge des Oberschenkels. Das bringt nochmal 6 Aufrufe pro Bein.
Dann die Stellung des Knie- und Fußservos, das sind nochmals einige Aufrufe (hab jetzt nicht gezählt, auch geschätzte 6)
Das macht 18 trigonometrische Funktionen pro Bein (bei mir 2 an einem Controller) und das 50 Mal pro Sekunde.
Für alle 6 Beine ergibt das - zumindest bei mir - über 5000 trigonometrische Funktionsaufrufe pro Sekunde und dazu kommen noch jede Menge Multiplikationen etc. - zuviel für einen Mega8
Mein gedankliches Fazit ist derzeit: entweder mache ich das viel zu kompliziert oder Bascom erledigt die trigonometrischen Funktionen nicht sehr effizient oder deinen Beinbewegungen fehlen einige Berechnungen oder oder oder ...
Ich bin auch grade am schauen, ob es schnellere Assembler-Routinen für diese Funktionen gibt. Auch wenn meine Controller mit 2 Beinen noch einiges an Luft haben, so kommen ja noch so spanndende Dinge von Hinderniserkennung bis Treppensteigen, für die die Controller auch noch "ein wenig" Rechenpower übrig haben sollten.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen