s-nakaoka / choreonoid

An integrated graphical robotics application framework
http://choreonoid.org
Other
94 stars 58 forks source link

AGXSimulatorで Customizerが動作しない #227

Closed YoheiKakiuchi closed 4 years ago

YoheiKakiuchi commented 4 years ago

シミュレーターをAISTSimulatorから、AGXSimulatorへ変更したとき(その他のモデルは変更しない) AISTSimulatorでは動作していた CustomizerがAGXSimulatorでは動作していないように見えます。 AGXSimulatorでCustomizerを使うには何か設定等必要でしょうか?

s-nakaoka commented 4 years ago

Customizerというのは関節軸に与えるvirtualJointForcesのことだと思うのですが、すみません、今確認したところAGXSimulatorではまだこの要素が取り込めていませんでした。

カスタマイザで記述したvirtualJointForcesは、BodyクラスのsetVirtualJointForcesによって設定されます。

Choreonoidのsrc以下で

grep -r setVirtualJointForces

とすると、この関数の使用箇所が分かります。

Body/DyWorld.cppやODEPlugin/ODESimulatorItem.cpp等で使用している箇所が、これをシミュレーション中にセットしているところです。

AGXDynamicsPluginでも適切な箇所に同様のコードを挿入することにより、同じことが実現できるかと思います。

すみません、今のところはコードの修正をする時間がとれないので、上記の解決方法の提示のみとなりますが、ご了承ください。

s-nakaoka commented 4 years ago

ちなみにAGXSimulatorについては、そもそもAGXが同様の機能(関節にコンプライアンスを設定する)をもっているので、そのパラメータを記述した方が楽で確実かと思います。 使用可能なパラメータはマニュアルの以下のページで説明しています。 https://choreonoid.org/ja/manuals/latest/agxdynamics/agx-body.html complianceとかdamping関連のパラメータを調整することで、カスタマイザと同様の挙動を実現できるかもしれません。

s-nakaoka commented 4 years ago

@YoheiKakiuchi

こちらAGXのパラメータ設定では対応できませんでしたでしょうか?Customizerの利用目的が仮想関節でダンパを実現することでしたら、AGXの関節パラメータである程度対応できるのではないかと思うのですが・・・。

YoheiKakiuchi commented 4 years ago

@s-nakaoka 本件確認できておらず、申し訳ありません。 AGXの関節パラメータについて検討してみたいと思います。