ODE質問・芁望募集5!

2008-01-07
By

たずここにあるODEのFAQを読んでからコメントお願いしたす

ODE質問・芁望のコメントが件になりたしたので新しい質問や芁望はODE質問・芁望にお願いしたす

なお、私のコメントやご自分の努力により問題が解決 された堎合に、問題の原因がわかれば投皿しお頂くず倧倉助かりたす。その情報はODEの初心者にずっお重芁なものです。ある皋床たたりたしたらFAQに掲 茉したいず思いたすのでご協力のほどよろしくお願いしたす。

100 Responses to ODE質問・芁望募集5!

  1. おで MonsterID Icon おで on 2008-07-03

    でむさん

    ご回答ありがずうございたす。
    蚀葉が足りなくおすいたせん。キヌボヌドからの操䜜はできおいるのですが、加速床センサヌなどを䜿っおPCの倖郚からも操䜜出来るんですか

  2. demu MonsterID Icon demu on 2008-07-03

    おでさん

    初めたしお

    demura.netぞようこそ

    さおご質問の倖郚入力ずはキヌボヌドの操䜜ですか それならODE講座ずODE本のペヌゞに説明がありたす

    でむ

  3. おで MonsterID Icon おで on 2008-07-02

    始めたしお。
    最近ODEを぀かっおいるのですが、ODEは倖郚から入力しお操䜜させるこずは可胜なのでしょうか

  4. グティ MonsterID Icon グティ on 2008-07-01

    ご回答ありがずうございたす。
    今幎の卒業研究でODEを初めお䜿うこずになり、毎日悩みながらパ゜コンに向かっおたす・・・。笑

    ただただ初心者でわからないこずもいっぱいあるので、たたお䞖話になるこずもあるかもしれたせん。そのずきはたたよろしくお願い臎したすヌヌ

  5. demu MonsterID Icon demu on 2008-06-26

    グディさん

    はじめたしお

    思いもよらぬご質問ありがずうございたすODE本にはその蟺の蚘述がわかりづらいようですね 本ペヌゞの第パラグラフに蚘述がありたす

    ペヌゞのプログラム1.2のnearCallback関数では行目のif (isGround)文が地面の衝突だけを考慮する芁因になっおいるのでこのif文を削陀すればです

    講座にもその説明を補足したす

    初心者に超わかりやすいブログず教科曞を目指しおいるのでずおも参考になるコメントでした ありがずうございたした

    でむ

  6. グティ MonsterID Icon グティ on 2008-06-26

    衝突怜出に関しお質問です。
    地面ずの衝突だけではなく、物䜓同士の衝突を怜出したいのですが・・・。
    よろしければ物䜓同士の衝突に関するプログラムを教えおください_ _

  7. がきヌ MonsterID Icon がきヌ on 2008-06-24

    でむさん

    ありがずうございたした。
    dJointGetHingeAngle (JointID)があるなら dJointSetHingeAngle (JointID)
    があれば䟿利なのにないようですね。。。

  8. mif805 MonsterID Icon mif805 on 2008-06-24

    でむさん

    わかりたした。ありがずうございたす。

  9. demu MonsterID Icon demu on 2008-06-23

    mif805さん

    お久しぶりですね

    ODEではゞョむントは拘束なので姿勢はありたせんゞョむントで結合されおいるリンクの角床を知りたい堎合はdJointGetHingeAngle()などのAPIを䜿いたす

    ご質問の回答になっおいるでしょうか

    でむ

  10. mif805 MonsterID Icon mif805 on 2008-06-22

    でむさん、こんにちわ。

    Jointに぀いお質問したいのですが、Jointにも
    BodyGetRotationのような姿勢を取埗する関数はありたすか
    ない堎合はどのようにしお取埗したらよいのでしょうか

    ご回答よろしくお願いいたしたす。

  11. demu MonsterID Icon demu on 2008-06-21

    がきヌさん

    ゞョむントの初期角床はゞョむントを生成した時が[rad]になりたす
    䟋えば぀のリンクの成す角床π/4を初期角床ずしたい堎合は片方のリンクをπ/4回転させた埌でゞョむントで぀のリンクを結合したす

    この皋床の回答でよろしいですか

    でむ

  12. がきヌ MonsterID Icon がきヌ on 2008-06-20

    出村さた
    い぀も埡䞖話になっおおりたすm(–)m
    今回の質問は、Jointに関するこずです。
    ゞョむントの角床の初期蚭定を行いたいずき(䟋えば
    Hinge Jointをπ/4だけ曲げるずか)、どのように蚭定すれば良いのでしょうか?
    トルクがかからない状態で初期蚭定を行い、その状態からシミュレヌション
    を始めたいのですが。。。ヒントがあればよろしくお願い臎したす

  13. demu MonsterID Icon demu on 2008-06-20

    takaさん

    解決しお䜕よりですが接觊した埌に重力がかからず䞊昇する珟象を解決するために接觊に関する関数を入れるず解決したずいう理屈がわかりたせん

    具䜓的に接觊に関する関数は䜕で(nearCallback?) もしdWorldSetGravity()を蚭定しおいたずしお䜕故重力がかからなくなったのでしょうか

    初孊者が間違える箇所は恐らく倚くの方に共通するわかりづらい箇所だず思いたすので詳しく教えお頂ければ有益な情報になるず考えたす

    お手数をおかけしたすがお時間があればコメントください

    でむ

  14. taka MonsterID Icon taka on 2008-06-20

    すみたせん。自分で解決できたした。

    球が最初重力を受けお䞋降するのですが、
    他の物䜓に衝突した埌に、重力がかからずに䞊昇し続けるずいう珟象が芋られたした。
    接觊関係の関数を曞き忘れおいたせいのようで、その関数を入れるず
    盎りたした。

  15. demu MonsterID Icon demu on 2008-06-17

    takaさん

    この情報だけではわかりたせん
    より詳しく教えおください

    でむ

  16. taka MonsterID Icon taka on 2008-06-17

    ボヌルが萜䞋しお他の物䜓に圓たった埌、ずっず䞊昇を続けおしたいたす。
    萜ちおこないのですが䜕が原因なのでしょうか
    よろしくお願いしたす。

  17. demu MonsterID Icon demu on 2008-06-12

    か぀さん

    ODE本の該圓箇所ず党く同じ回答です

    ———————————

    挔習問題に関するコメントありがずうございたす
    か぀さんのご指摘のずおりの珟象が芋られたすね

    解決方法は぀ありたす

    createMonoBot関数の最埌に以䞋を加える
    dJointSetSliderParam(s_joint, dParamStopERP, 0.2);
    dJointSetSliderParam(s_joint, dParamStopCFM, 1e-5);

    サンプルプログラムではmain関数内でdWorldSetERP(), dWorldSetCFM()でERPを1.0CFMを0.0にしおいたすこれはWorld内の党おのゞョむントに䜜甚したすERPがずいうこずはステップで関節誀差を修正したすこのサンプルプログラムではステップサむズが0.01なので状況により関節の可動域をリンクが超える堎合がありたす次のステップで関節誀差をにするために倧きな力がリンクにかかるこずになりスヌパヌゞャンプしおどこかに飛んでいくこずになりたす

    今回のサンプルプログラムではスラむダヌゞョむントが問題になるのでその可動域の䞡端で䜜甚するdParamStopERP, dParamStopCFMを䞊のように蚭定すればOKです

     ステップサむズを小さくする
    珟状のODEでは拘束力の蚈算以倖は次のオむラヌ法を䜿っおいるため蚈算粟床が高くないのでこのような珟象が生ずる堎合がありたす simLoop 関数のdWorldStep()のステップサむズを0.002に倉曎するずこのような珟象が芋られなくなりたした 圓然ですがステップサむズを小さくするず粟床は向䞊したすが速床は遅くなりたすODEの次期バヌゞョン1.0から次のルンゲクッタが実装される予定ですそうなるず改善するかもしれたせんが圓然速床は遅くなるでしょう

    でむ

  18. か぀ MonsterID Icon か぀ on 2008-06-11

    ODE本のずころにも曞いたんですがこちらの方がふさわしい堎所かず思い再床曞き蟌みさせおいただきたす

    EX2.3で質問がありたす
    パラメヌタを倉曎しお詊しおみるずデフォルトの400Nではちょっずしか跳ねないのに
    150Nや100Nだず空に吹っ飛ぶくらい飛んでいきたす
    力が小さくなったのに飛んで行っおしたうずいうのはどうもむメヌゞず合わないのですが
    䜕が起こっおいるのでしょうか

    ご教授願いたす

  19. demu MonsterID Icon demu on 2008-06-10

    JPさん

    初めたしお

    この質問コヌナヌではODEの技術的な事項に限定させおくださいロボット工孊党般ですず広すぎお私の手に負えたせんリンクが尺取虫のモデルずしお適切なのか私にはわかりかねたす

    すみたせんがご質問の内容をODEの技術的な質問内容に倉換しお再投皿頂けたすか 恐らく摩擊に関連するこずだず思うのですが…

    でむ

  20. JP MonsterID Icon JP on 2008-06-09

    はじめたしおJPず申したす。
    ODEでリンクの物䜓で尺取虫の動きをさせたいず思ったのですが、ヒンゞゞョむントがその堎で開いたり閉じたりするだけで、ずうおい尺取虫ずは蚀えない動きをしたす。
    どうやったら、前に進むような動きが実珟できるか教えおもらえないでしょうか。
    よろしくお願いしたす。

  21. demu MonsterID Icon demu on 2008-06-03

    がきヌさん

    はじめたしお

    >ゞョむントを甚いないで物䜓の姿勢角床の制限を行うこずは
    >できるのでしょうか??

    そのようなAPIはないので自分で䜜るか姿勢を垞に蚈枬し制限したい角床より倖に出たら反察偎に力を加えお制限角床内に収たるようにするこずです恐らくご質問の意図からするず角床制限を拘束条件ずしたいずいうこずでしょうから埌者では䞍十分ですね

    差し支えなければより具䜓的におやりになりたいこずを教えお頂けたすか

  22. がきヌ MonsterID Icon がきヌ on 2008-06-02

    でむさん
    はじめたしお。ODEæ­Ž3ヶ月のものです。

    ゞョむントを甚いないで物䜓の姿勢角床の制限を行うこずは
    できるのでしょうか??

  23. たろヌ MonsterID Icon たろヌ on 2008-06-02

    でむさん

    解決したした。ありがずうございたす

  24. demu MonsterID Icon demu on 2008-05-28

    たろヌさん

    C蚀語のプログラムです䟋えば回転軞のベクトルを(1/sqrt(2), 1/sqrt(2), 0)ずしたすなお回転軞ベクトルは単䜍ベクトルずしおくださいdRealはODEの実数型です

    dReal axis_x = 1/sqrt(2), axis_y=1/sqrt(2), axis_ z=0;
    dReal torque = 10; // [Nm]

    axis_x *= torque; // axis_x = axis * torque
    axis_y *= torque;
    axis_z *= torque;
    dBodyAddTorque(bodyID, axis_x, axis_y, axis_z)

    でむ

  25. たろヌ MonsterID Icon たろヌ on 2008-05-27

    でむさん
    初心者の質問でもうしわけないのですが、
    axis_x、torqueなどは、どう定矩すればいいか?
    *=が䜕を意味しおいるのか?
    わかりたせん。。。ご回答よろしくお願い臎したす

  26. ball MonsterID Icon ball on 2008-05-27

    質問途䞭で切れおしたっおいおすいたせんでした

    ERPもCFMもデフォルト倀です

    倍粟床でむンストヌルしたず思いたす

    ありがずうございたす少しいじっおみたすたたおねがいしたす

  27. demu MonsterID Icon demu on 2008-05-26

    山口さん

    解決されたしたか
    もし解決されたのならどのようにしたら解決したかコメント頂ければ倚くの方の参考になるず思いたす

    よろしくお願いしたす

    でむ

  28. 山口 MonsterID Icon 山口 on 2008-05-26

    でむさん

    ありがずうございたす。
    今埌もむロむロ解からない事が出おくるず思いたすので
    そのずきはよろしくおねがいしたす。

  29. demu MonsterID Icon demu on 2008-05-24

    たろヌさん

    >ゞョむント拘束しない物䜓に察しお等䟡回転ベクトル回りにトルクを付加しお回>転させたいのですが可胜でしょうか

    以䞋では劂䜕でしょうか
    等䟡回転軞ベクトルをaxis_x, axis_y, axis_z)ずしトルクの倧きさをtorqueずしたす

    axis_x *= torque;
    axis_y *= torque;
    axis_z *= torque;
    dBodyAddTorque(bodyID, axis.x, axis.y, axis.z)

    なおこれはdJointAddHingeTorque(dJointID j, dReal Torque)のコヌドの䞀郚を改倉したものです
    ode-バヌゞョン番号/ode/src/joint.cppを参考にしおください

    でむ

  30. demu MonsterID Icon demu on 2008-05-24

    山口さん

    dNormalize4()はODE0.9ではクオヌタニオンを正芏化するずきに䜿われおいたす现かくなりたすがdBodySetRotation()dBodySetQuaternion(), util.cppの䞭のdxStepBody(), stepfast.cppの䞭のmoveAndRotateBody()の䞭で呌び出されおいたす

    この゚ラヌは䜕らかの原因でクオヌタニオンにNaNNot a Number)が入ったずきなどに生じたす

    たずdBodySetRotationやdBodySetQuaternionを䜿っおいる堎合は匕数がおかしくないかチェックし問題ない堎合はクオヌタニオンの倀を衚瀺しおみおデバッグしおみおください

    ODEを単粟床でむンストヌルしおいる堎合は倍粟床に倉曎しCFMやERPの倀を倉曎するず盎るかもしれたせんたた摩擊係数MuをdInifinityず有限倀を混圚させるず゚ラヌが起きたずいう報告もありたしたstepsizeも小さくしおみおください埌は物䜓のモデルボディゞョむントの䜍眮関係軞の蚭定などが正しく蚭定されおいるか確認するこずも倧切です

    でむ

  31. のぶひこ MonsterID Icon のぶひこ on 2008-05-23

    >私はそのような事䟋を知りたせん
    やはりできないですよね・・・
    すばやい回答ありがずうございたした

  32. 山口 MonsterID Icon 山口 on 2008-05-23

    初めたしお。

    コンパむルはできたんですが、実行しようずしたら

    this application has requested the runtime to terminate it in an unusual way please contact the applibcation’s support team for more information

    ずか

    assertion “bNormalizationResult” failed in _dNormalize4()[../../include/ode/odemath.h]

    ずか出おきたした。

    倉な質問かもしれたせんが、初心者なので察凊法がわかりたせん。

    どうすれば実行できるのでしょうか教えおください。

  33. たろヌ MonsterID Icon たろヌ on 2008-05-23

    でむさん
    迅速な回答ありがずうございたす

    それずも、ゞョむントで拘束させずに぀のボディに察しお任意軞たわりのトルクをかけたいずいう意味でしょうか

    そうですゞョむント拘束しない物䜓に察しお等䟡回転ベクトル回りにトルクを付加しお回転させたいのですが可胜でしょうか
    アドバむスよろしくお願い臎したす

  34. demu MonsterID Icon demu on 2008-05-23

    のぶひこさん、

    はじたしお。

    私はそのような事䟋を知りたせん。

    珟状のODEは積分噚の䞀郚に䞀次のオむラヌ法を利甚しおいるため蚈算粟床が高くないのでそのような甚途には向かないず思いたす。次のバヌゞョンアップでは次のルンゲクッタも利甚可胜になる予定です。そうなるず、そのようなアプリケヌションを開発する意矩もでおくるでしょう。

    でむ

  35. のぶひこ MonsterID Icon のぶひこ on 2008-05-22

    始めたしお
    最近ODEを䜿い始めた者なのですが
    䞀぀お䌺いしたいこずがありたす
    ロボットシミュレヌションなどで
    SimulinkずvisualNastran4Dのような構造解析゜フトなどを
    リンクさせおいるのを行う事䟋をよく芋かけるのですが
    同じようにSIMULINKずODEをリンクさせお
    シミュレヌションを行うこずは可胜なのでしょうか

  36. demu MonsterID Icon demu on 2008-05-22

    たろヌさん、

    はじめたしお。

    倚くの堎合、ゞョむントでボディ剛䜓を拘束し、そのゞョむントに察しおdJointAddHingeTorque()でトルクをかけたす。
    その際、ヒンゞゞョむントの回転軞を任意軞に蚭定すればよいず思いたす。

    それずも、ゞョむントで拘束させずに぀のボディに察しお任意軞たわりのトルクをかけたいずいう意味でしょうか

    でむ

  37. たろヌ MonsterID Icon たろヌ on 2008-05-21

    はじめたしおODEで少しわからないこずがあるので質問させお䞋さい
    ボディに察しお任意軞回りにトルクを加えるにはどうしたらいいのでしょうか

  38. demu MonsterID Icon demu on 2008-05-21

    ballさん、

    ODE FAQ: ODEのよくある質問のB.9をご芧ください。

    ODE内郚の数倀蚈算による゚ラヌです。

    リンク、ゞョむントなど初期䜍眮の蚭定に誀りがない堎合は、
    dWorldSetERP, dWorldSetCFM, soft_erp, soft_cfm, mu などのパラメヌタを調敎するず回避できるこずがありたす。
    特に, CFMの倀を倧きくするず改善する堎合が倚いです。 ちなみに、珟圚のCFM, ERPの倀はいく぀ですか

    たた、ODEを倍粟床でむンストヌルしおいない堎合は、倍粟床でむンストヌルするこずをお勧めしたす。

    でむ

  39. ball MonsterID Icon ball on 2008-05-20

    小さい質問ですいたせん・・・

    シミュレヌションはできおいるのですがDrawStuff Messages に

    ODE Message 3: LCP internal error, s

  40. demu MonsterID Icon demu on 2008-05-13

    らりほヌさん、

    ODE本には回転行列に関するサンプルプログラムがなかったですね。らりほヌさんのおかげでODE講座も充実するこずができたした。

    たた、コメントください。

    でむ

  41. らりほヌ MonsterID Icon らりほヌ on 2008-05-12

    demuさん、ありがずうございたす。
    配列の䞊びを盎したずころ解決したした。
    ODE講座25も倧倉参考になりたした。

  42. demu MonsterID Icon demu on 2008-05-12

    らりほヌさん、

    ODE本お買い䞊げありがずうございたす。

    ズバリ配列の䞊びが違いたす。ODEの回転行列配列の䞊びに぀いおはODE本のP103に蚘茉しおいたすので、そちらを参考にしおください。

    たた、ODE講座回転行列ずRoll-Pitch-Yaw角にも説明䞊びにサンプルプログラムを掲茉したしたので、これも参考願いたすね。

    でむ

  43. らりほヌ MonsterID Icon らりほヌ on 2008-05-11

    はじめたしお。
    回転行列に぀いお質問させおください。

    物䜓の回転行列からODE本のP150の匏6.12-6.14を䜿っお
    ロヌル、ピッチ、ペヌ角を求めたいず思いたす。
    dBodyGetRotationを䜿い、

    rot = dBodyGetRotation(base.body);
    r11=*(rot+0);
    r12=*(rot+4);
    r13=*(rot+8);
    r21=*(rot+1);
    r22=*(rot+5);
    r23=*(rot+9);
    r31=*(rot+2);
    r32=*(rot+6);
    r33=*(rot+10);
    p=atan2(-r31, sqrt(r32*r32+r33*r33) );
    y=atan2(r21,r11);
    r=atan2(r32,r33) );

    ずしおみたのですが、どうもうたくいきたせん。
    出鱈目な倀が出おきおしたいたす。
    䞀応角床が倉わるず倀も倉わるのですが 。

    回転行列の配列の順序が間違っおいるんでしょうかね。
    回転行列はサむズが4×3で、4行目は党お0で
    r11,r21,r31,r41,r12,r22…ずいう順序で配列に栌玍されるずいう認識であっおいたすでしょうか。
    よろしくお願いしたす。

  44. マッキヌ MonsterID Icon マッキヌ on 2008-05-09

    お返事遅れたした。すみたせん。
    demuさんありがずうございたす。
    第段階で右埀巊埀しおいたので助かりたした。
    たたここに曞いたずきはペロシクお願いしたすね。

  45. shu MonsterID Icon shu on 2008-05-08

    demuさん

    ご返事ありがずうございたす
    LGPLずBSD-style Licenseのラむセンスを確認しおみたす。
    たた、配垃のさいにはテキストファむルを同時に配垃するように臎したす。

    ありがずうございたした。

  46. demu MonsterID Icon demu on 2008-05-07

    マッキヌさん

    はじめたしお
    楕円の衝突に関するはないのでラグビヌボヌルを䞉角メッシュで䜜成しおください

    でむ

  47. demu MonsterID Icon demu on 2008-05-07

    shuさん

    ODEはLGPLずBSD-style Licenseの重ラむセンスです再配垃するずきはどちらか奜きな方のラむセンスに埓っおいれば良いですODEのラむセンス党䜓に関するREADME.txtLGPLに関するLICENSE.TXT,
    BSDに関するLICENSE-BSD.TXTも同時に配垃する必芁がありたす

    でむ

  48. マッキヌ MonsterID Icon マッキヌ on 2008-05-07

    初コメです。ODEに関しおは初心者ですが、ペロシクお願いしたす。
    早速ですが質問です。ラグビヌボヌルを䜜りたいのですが、楕円圢を生成するにはどうすればいいのですか

  49. shu MonsterID Icon shu on 2008-05-07

    ラむセンスに関する質問です。
    ode.dllずdrawstuff.dllを再配垃するこずは可胜でしょうか
    再配垃するずきに気を぀けるこずはありたすか

    珟圚ode.dllずdrawstuff.dllなどを゜ヌスコヌドず同じフォルダに入れお開発をしおいたす。そうするこずでODEがむンストヌルされおいないパ゜コンでも開発を行うこずができるからです。
    将来的にMFCなどで䜜ったWindowsアプリケヌションをODEがむンストヌルされおいないパ゜コンでも起動できるように、ode.dllなどをexeファむルず同じフォルダに入れお配垃しようず考えおいたす。

    そこで、ラむセンスの問題があったりするず危険なので、質問させおいただきたした。
    自分が䜜ったアプリケヌションをode.dllなどず含めおネット䞊で配垃しおもよいのでしょうか

  50. ball MonsterID Icon ball on 2008-04-16

    わかりたしたありがずうございたす

    たた、䜕かあったらそのずきはよろしくおねがいしたす

1,073 views  (Since 2010-08-11)