Open snozawa opened 9 years ago
話のコンテキストを理解していないかもしれないけど,irteusでbodyがひとつのtreeになったので, body :inverse-kinematics target link-list というのが基本形で,link-listによって,use-torso, use-body, use-fullbodyというのが切り替えられる というのが教科書的ですよね. 本当は(inverse-kinematics target link-list)でいいのかもしれない. で, :use-torso t, :use-base t, :use-fullbody( use-leg?) t は便利オプションで本当は(send body :use-torso)(use-torso body)とかするとlink-listがでてきて 上の式に入るような感じですかね.(そうする必要はないとおもいますが) また,これ以外にbackward compatibilityとしてsend body :larm :inverse-kinematicsも何故か使えるという感じでしょうか.
2014-10-23 6:02 GMT+09:00 Shunichi Nozawa notifications@github.com:
Moved from jsk-ros-pkg/jsk_common#244 https://github.com/jsk-ros-pkg/jsk_common/issues/244
今は
:fullbody-inverse-kinematics が :inverse-kinematics を中で呼び出す ユーザはfullbodyを使いたければ、:invesr-kinematicsでなく:fullbody-inverse-kinematics をよぶ
となってますが、よくよく考えると、
:fullbody-inverse-kinematics は :inverse-kinematics を中で呼び出すが、 robot-model?とかの :inverse-kinematics は :fullbody-inverse-kinematicsを呼ぶ ユーザはfullbodyを使いたければ, :inverse-kinematics target-coords :use-fullbody t のようによぶ
とすると統一感もでるし、始めて使う人にも使い勝手がいいのでは、と思いました。
結局はpr2eus/pr2-utils.lの:inverse-kinematicsのスタイルが個人的にはいいとおもっており、 これに相当するものをirtrobot.lのrobot-modelの:inverse-kinematicsにして、
use-torso use-base use-fullbody ....
などをこの中でサポートしていく、というかんじです。
— Reply to this email directly or view it on GitHub https://github.com/euslisp/jskeus/issues/137.
rteusでbodyがひとつのtreeになったので, body :inverse-kinematics target link-list というのが基本形で,link-listによって
はい、おっしゃるとおりで、基本は:inverse-kinematics+link-listですべてができて、
(send *robot* :larm :inverse-kinematics xxx)
(send *robot* :inverse-kinematics xxx :use-torso t)
(send *robot* :inverse-kinematics xxx :use-base t)
(send *robot* :fullbody-inverse-kinematics xxx ) ;; もしくは:use-fullbody t
はあくまで便利インターフェース、という立ち位置です。 https://github.com/euslisp/jskeus/pull/126
:use-torso t, :use-base t, :use-fullbody( use-leg?) t は便利オプションで本当は(send body :use-torso)(use-torso body)とかするとlink-listがでてきて 上の式に入るような感じですかね.(そうする必要はないとおもいますが)
こちらも確かにそうですね。
ただし、use-base, fullbody-inverse-kinematics(use-fullbody)などはちょっと特殊でテクいことをやっていて、
としています。
ここで、2と4を処理するために、マクロwith-append-root-joint
をつかっています
https://github.com/euslisp/jskeus/blob/master/irteus/irtmodel.l#L2582
それ自体をまとめて呼び出すために、:fullbody-inverse-kinematicsを別メソッドとして定義したり、 use-baseはpr2-utils.lの中で直接かいたりされてる、という状況です。
Moved from https://github.com/jsk-ros-pkg/jsk_common/issues/244
今は
:fullbody-inverse-kinematics が :inverse-kinematics を中で呼び出す ユーザはfullbodyを使いたければ、:invesr-kinematicsでなく:fullbody-inverse-kinematics をよぶ
となってますが、よくよく考えると、
:fullbody-inverse-kinematics は :inverse-kinematics を中で呼び出すが、 robot-model?とかの :inverse-kinematics は :fullbody-inverse-kinematicsを呼ぶ ユーザはfullbodyを使いたければ, :inverse-kinematics target-coords :use-fullbody t のようによぶ
とすると統一感もでるし、始めて使う人にも使い勝手がいいのでは、と思いました。
結局はpr2eus/pr2-utils.lの:inverse-kinematicsのスタイルが個人的にはいいとおもっており、 これに相当するものをirtrobot.lのrobot-modelの:inverse-kinematicsにして、
use-torso use-base use-fullbody ....
などをこの中でサポートしていく、というかんじです。