ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】ForwardKinematicsとInverseKinematicsの仕組み

概要

ForwardKinematicsは、シンプルなロボットアームのような感じで、一つ一つの関節を手作業で設定します。しかし、InverseKinematicsは目標地点に対して、アームの場所を自動で計算してくれます。CGソフトのBlenderでよくお世話になりました。成果物を出そうかと思いましたが、変更点があまりなかったので止めておきました。問題作…

※追記 FowardKinematicsでロボットアームを動かしました。

nekodigi.hatenablog.com

仕組み

ForwardKinematicsは、親のアームの先端の座標と、アームの傾きがそのまま子アームに引き継がれます。しかし、InverseKinematicsは、アームの根本の座標とターゲットの座標から傾きを求め、その後長さが一定になるようにアームの根本をずらして調節することで、アーム全体がターゲットの合わせて動くようにしています。

アームを固定したい場合は、少し特殊な処理が必要で、固定したいアームの座標を更新しないでおいて、そこから、ForwardKinematicsを適用していくような感じです。説明が難しいのでコードを確認してください。

コード

今回は、CodingTrainのサイトから大きく変更点はないので、そちらをご覧ください。

ForwardKinematicsについての解説。

www.youtube.com

InverseKinematicsについての解説。

www.youtube.com

InverseKinematicsの端を固定したい場合。

www.youtube.com