Hallo hopix,

ersteinmal vorweg: klar hast du nie behauptet, einen bot mit IK komplett in einem mega8 zu realisieren. Es geht mir auch nur darum, das du scheinbar etwas ganz anders machst als ich, und mir das genau anzuschauen und zu hinterfragen kann mich nur weiterbringen
Nur weil mein Bot laufen kann, bedeutet das ja nicht automatisch, das ich schon eine gute Lösung gefunden habe. Manchmal sieht man vor lauter Variablen die einfachere, elegantere Lösung nicht.

Zunächst mal zur SinCos-Geschwindigkeit. Ich sehe, das du das alles in Double realisierst, was noch etwas zeitaufwändiger als meine single-Berechnungen zu sein scheint. Über den Daumen kommst du auf ca. 2300 Trigs pro Sekunde, wenn ich die 4MHz mal auf 16MHz hochrechne. Das scheint mir nicht wirklich viel zu sein. Ich hatte das mal getestet bei mir und bin bei einem mega32 bei 16MHz und singleberechnung auf etwa 9000 gekommen (kann mich auch irren - ohne garantie ^^)

Die Unterschiede, soweit ich sie momentan sehe, liegen in folgendem:
- mein bot rechnet alle beine mit 50Hz
- oberschenkel und unterschenkel meines bots sind nicht gleich lang
- mein bot rechnet den Offset zwischen Drehpunkt Hüfte-Knie mit ein

Beim Anblick deiner Gleichung zur Beinberechnung scheint mir was zu fehlen, was vielleicht erklärt, woher meine zusätzlich benötigten Trigs kommen:
- Wo das jeweilige Bein im Raum anfängt, also der 0,0,0-Punkt ist, hängt von der Drehung des Bots im Raum ab und von der Distanz der "Beinanfänge" am Bot zu dessen Rotationspunkt ab.
- Der Bot bewegt sich im Raum. Wenn sich ein Bot dreht und er nicht mit seinem Mittelpunkt im Mittelpunkt des Raumes ist, so erfordert die Berechnung seiner neuen Koordinaten im Raum etwas mehr Aufwand.

Was die Steuersignale angeht, so erzeuge ich diese auch ein wenig anders. Ist ja auch etwas einfacher, da ich ja pro Controller nur 6 Signale erzeugen muss. Ich generiere die mit einem Interrupt und einem 16-Bit Timer nacheinander. Das hat den Vorteil, das die µC-Auslastung unter 1% liegt.

Gruß MeckPommER

P.S.: das mit dem single-Trigs benche ich am Wochenende nochmal aus.