Kurze Info zur inversen Kinematik:
Im momentanen Programm ist die eigentliche Berechnung für ein Bein über knapp 40 Zeilen Code verteilt. Da man in Bascom nicht mit Klammern arbeiten kann sind die Berechnungen manchmal etwas umständlicher als z.B. in C. Die Berechnung startet jetzt noch an der ersten Beinachse - in der Hüfte - mit dem empfangenen RC-Werten. Später wird diese Berechnung aus der Körpermitte zu den Beinen verteilt werden. Dazu wird die Berechnung der inversen Kinematik nicht erweitert, sondern eine weitere die aus der Körpermitte bis zur Hüfte berechnet angehängt. Die Zuweisung der berechnetet Werte soll dann in eine Schleife mit Zuweisungszähler usw ablaufen.
Der Code für die Berechnung eines Beins hat knapp an der 4kB Codegrenze der Demoversion gekratzt. Ich habe optimiert wo ich es gesehen habe, und möglich war. Einen Wert lasse ich z.B. vorab berechnen, da dieser sowieso aus zwei Konstanten besteht. Allerdings habe ich die Werte später nicht an die SD-21 übergeben können, da das dann die Einbindung der SD-21 über I²C im Programm erforderte, was dann zu viel war. Deshalb die Vollversion.
Ein klitze kleines Fehlerchen habe ich in malthy's Doku für mich im Bildmaterial korrigiert und erweitert. Auch hat sich ein genannter Lösungsweg für mich nicht plausibel erschlossen, da habe ich einen Anderen gewählt, der aber genauso auch mit Winkelergänzungen arbeitet - wohl nur andersrum geht
malthy möchte ich auch an dieser Stelle für die wirklich gute Erklärung der Thematik danken.
Lesezeichen