概要
ForwardKinematicsは、シンプルなロボットアームのような感じで、一つ一つの関節を手作業で設定します。しかし、InverseKinematicsは目標地点に対して、アームの場所を自動で計算してくれます。CGソフトのBlenderでよくお世話になりました。成果物を出そうかと思いましたが、変更点があまりなかったので止めておきました。問題作…
※追記 FowardKinematicsでロボットアームを動かしました。
仕組み
ForwardKinematicsは、親のアームの先端の座標と、アームの傾きがそのまま子アームに引き継がれます。しかし、InverseKinematicsは、アームの根本の座標とターゲットの座標から傾きを求め、その後長さが一定になるようにアームの根本をずらして調節することで、アーム全体がターゲットの合わせて動くようにしています。
アームを固定したい場合は、少し特殊な処理が必要で、固定したいアームの座標を更新しないでおいて、そこから、ForwardKinematicsを適用していくような感じです。説明が難しいのでコードを確認してください。
コード
今回は、CodingTrainのサイトから大きく変更点はないので、そちらをご覧ください。
ForwardKinematicsについての解説。
InverseKinematicsについての解説。
InverseKinematicsの端を固定したい場合。