Ich habe tagelang mit diesem Problem zu kämpfen. Ich hoffe wirklich, dass mir jemand einen Hinweis geben kann, wo das Problem liegt.
Der Roboter besteht aus 5 Achsen. Die erste Achse dreht sich um die z-Achse und die anderen 4 Achsen drehen sich um die y-Achse. Und der Solver funktioniert im Grunde.
Folgendes habe ich bisher getan:
Ich berechne den Manipulierbarkeitsfaktor mit meiner Jacobi-Matrix (nur der Translationsteil, da hier nur die Position verfolgt wird. Eigentlich habe ich es auch mit einer kombinierten Jacobi-Matrix versucht, also nicht nur der Translationsteil, sondern auch der Rotationsteil. Aber es gab eine ruckartige Bewegung wie auch immer):
Dann ist der Dämpfungsfaktor:
Der Dämpfungsfaktor wird dann in die pseudo-inverse Berechnung integriert:
Wie Sie sehen können, ist dies nur ein klassischer pseudo-inverser kinematischer Löser mit der Methode der gedämpften kleinsten Quadrate. Der Manipulierbarkeitsfaktor gemäß der zweiten (Problem-) Bewegung ist: Die Manipulierbarkeit fällt am Anfang des Videos ab. Aber warum? Soweit ich weiß, zeigt dieser Manipulierbarkeitsfaktor die lineare Abhängigkeit der Achsen an. Für mich scheinen die Achsen am Anfang nicht linear abhängig zu sein.
Diese ruckartige Bewegung macht mich verrückt. Wie Sie in der ersten Animation sehen können, scheint der Solver ordnungsgemäß zu funktionieren. Was fehlt mir hier?
atan
anstelle vonatan2
usw. Könnten Sie bitte Ihre Frage bearbeiten, um den von Ihnen verwendeten Code zu veröffentlichen?