Choreonoidではまったメモ

タイトルの通り、Choreonoidでハマったメモを残していくだけの記事です。

万が一、誰かのお役に立てば…。

リンクのグローバル座標が更新されない

現象

 enableInput()で位置情報の入力を有効化しているつもりなのに、初期位置のまま更新されない。

原因と解決策

 シンプルコントローラ上で情報を取得したい場合、基本的に「enableInput()」で取得したい情報を有効化する必要がある。(参考リンク: Choreonoid-コントローラの実装)

 グローバル位置情報を取得したい場合は、enableInput()の引数に「LINK_POSITION」を指定するが、この引数でハマった。
[誤] Link::LINK_POSITION (@Link.h)
[正] LINK_POSITION (@SimpleController.h)

 setActuationMode()の方の引数は Link.hで定義されているものを使うので、その流れでenableInput()の引数にもLink.hのほうの定義を使ってしまい、ハマってしまってしまってましたとさ。トホホ…。