[choreonoid-users-ja 00102] Re: シミュレーション中のリンクの位置データの取得について
中岡 慎一郎
s.nakaoka @ aist.go.jp
2013年 6月 18日 (火) 13:44:16 JST
チャンドラさん
産総研の中岡です。
> Link* link = body->link("LINK_NAME")->p.z
についてですがが、これだとZ軸位置のdouble値を Linkへのポインタに入れよう
としていて、おかしな記述になっていますね。(また、z については関数なの
で、z() としなければいけません。)
まず
Link* link = body->link("LINK_NAME");
といったかたちでLinkオブジェクトを取得して、それから
link->p
で位置データにアクセスするとよいかと思います。
ただ、初期値だけが表示されているということで、上記の問題とは関係無かった
かもしれません。
もし関節角を変更してその場合の位置を得たいのであれば、関節角を変更した後に、
body->calcForwardKinematics()
等を行いますと、そこで順運動学が行われて、初めて位置が更新されることにな
ります。
(06/18/13 00:24), チャンドラ ハディ wrote:
> 早稲田大学菅野重樹研究室,B4のチャンドラです.
> お世話になります.
>
> とあるリンクの位置データ(x,y,z)を取得するには
> どこを参照すればいいのでしょうか.
>
> 今まで自分で試した時には,勘違いして
>
> Link* link = body->link("LINK_NAME")->p.z
>
> などで取得しようとしましたが,MessageViewで
> その値を吐かせてみましたらどうやら
> 初期値だけが入力されていくようです.
>
> 一体どこを参照すればリンクの位置データ
> を正しく取得できるのでしょうか?
>
> 素朴の質問で申し訳ありませんが,
> よろしくお願いします.
>
--
中岡 慎一郎 <s.nakaoka @ aist.go.jp>
産業技術総合研究所 知能システム研究部門
ヒューマノイド研究グループ
Phone: 029-861-5161 Fax: 029-862-6519
choreonoid-users-ja メーリングリストの案内