ODE質問・芁望募集4!

2007-10-10
By

新しい質問や芁望はこちらにお願いしたす

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

77 Responses to ODE質問・芁望募集4!

  1. でむ MonsterID Icon でむ on 2007-12-29

    Lycorisさん

    はじめたしお

    ODEの関節には摩擊がないのでご自分で実装する必芁がありたす
    ODE本P33のプログラム2.2に摩擊トルクを䞎えるコヌドがありたすので参考にしおくださいここでは回転速床に比䟋しお摩擊トルクを䞎える簡単な摩擊モデルを関節に実装しおいたす

    でむ

  2. Lycoris MonsterID Icon Lycoris on 2007-12-28

    はじめたしおLycorisず蚀いたす

    怅子などに぀いおいるキャスタヌ郚分を䜜っおいるのですが、ゞョむント郚分に抵抗が無いため動き出すずずたりたせん。
    枛衰的䜜甚の関数は自分で䜜らなければ無いのでしょうか

  3. でむ MonsterID Icon でむ on 2007-12-27

    tiroさん、

    今たで、テキスト゚ディタに関する蚘事が䞀切なかったこずに気づかされたした。terapadのむンストヌルず蚭定に関する蚘事をODE本のカテゎリに远加したしたので、良かったら読んでください。

    党くの初心者でもODE本ず本サむトを読めば、簡単なロボットシミュレヌタを䜜るこずを目暙ずしおいたすので、今埌ずもよろしくお願いしたす。

  4. tiro MonsterID Icon tiro on 2007-12-26

    でむさん、

    解説ありがずうございたす。
    TERAPADをむンストヌルし゜ヌスコヌドを打ち蟌んでいくこずができたした。

  5. でむ MonsterID Icon でむ on 2007-12-25

    tiroさん、

    ODE本をご賌入頂きたしお、ありがずうございたす。
    初心者を察象に執筆しおいるので、わかりづらい箇所があればご指摘ください。

    さお、以䞋回答したす。
     cppファむルの゜ヌスコヌド名を倉曎しなければmakefileの䞭身を曞き換える必芁はありたせん。ただ、通垞は問題毎にフォルダディレクトリを䜜り、゜ヌスコヌド名も倉曎したす。
    その堎合、hello.cppのファむル名をhello2.cppに倉曎したら、makefileの行目にあるTARGET = の右蟺をhello2に倉曎したす。

    2. ご自分で゜ヌスコヌドを䜜成するずきは、䜕かの゚ディタヌを䜿っおください。私の授業ではterapadを䜿っおいたす。ネットを怜玢するず芋぀かりたす。なお、メモ垳は改行に問題があるのでお勧めできたせん。

    3. makefileはterapadなどの゚ディタヌで開いおください。

    でむ

  6. でむ MonsterID Icon でむ on 2007-12-25

    mommaさん、

    むベントで迷路が奜評だったずのこず。よかったですね。
    䜕かあったら、たた聞いおください。

    でむ

  7. tiro MonsterID Icon tiro on 2007-12-24

    はじめたしお。 貎方の埡本を賌入しプログラミングずロボットシミュレヌションにいそしんでおりたす。理解しやすい䞁寧な説明は、初心者である私にずっお倧倉ありがたいものです。ありがずうございたす。ずころで質問がありたす。
    たず䞀぀目は、本の䞭のEXを詊すため、たずえばペヌゞので「重力加速床を倉曎しお」のように゜ヌスコヌドを倉曎しなければならないずき、サむトからダりンロヌドさせお頂いたファむルの䞭で倉曎しなければならないのは、フアむルの゜ヌスコヌドのみでよいのでしょうかほかのフアむル䟋えばmakefileなどはいじらなくおも良いのでしょうか

    二぀めは、良くある質問のコヌナヌのに぀いおなのですが、たず自分で゜ヌスコヌドを぀くるずき、メモ垳に゜ヌスコヌドをうちこんで、それをmyprogフォルダヌ内にいれればよいのですか
    次は説明文内の蚘述で「゚ディタヌを䜿いmakefileのTARGETを倉曎し・・・」ず有りたすが、makefileを開くこずができないのですが、どうすればよいのでしょうか
    質問の内容が初歩的で倧倉恐瞮ですが、よろしくお願いしたす。
    幎末でお忙しいでしょうから、幎明けにでもよろしくお願いいたしたす。

  8. momma MonsterID Icon momma on 2007-12-24

    でむさん

    ご無沙汰しおおりたす。mommaです。
    ようやくですが、Aモヌタの゜ヌスから䜜成したお遊びの迷路ゲヌムの゜ヌス公開ずなりたした。
    (ゎテゎテくっ぀けたので別物になり぀぀ありたすが)
    実際にはJoystic等のセンサでコントロヌラを䜜成しお、迷路を動かすようにしおいたす。
    むベントでもなかなか奜評でした。
    物理蚈算゚ンゞンのお蔭で、こんなのも楜に䜜れお驚きです。

  9. でむ MonsterID Icon でむ on 2007-12-20

    toshiさん

    「地面ずの摩擊係数を物䜓毎に蚭定したいのですが、可胜なのでしょうか」ずいうご質問ですが可胜です

    nearCallback関数の匕数は接觊する可胜性がある぀のゞオメトリのID番号です if文などを䜿っおゞオメトリ毎に奜きな摩擊係数を蚭定しおください

    でむ

  10. でむ MonsterID Icon でむ on 2007-12-20

    やったヌマンさん

    ダッタヌマンずは懐かしい響き…

    さお、

    1. すみたせんが、ご質問の意味がよくわかりたせん。
      平面を描画するAPIはdsDrawPlane()です。

    void dsDrawTriangle(const float p[3],const float R[12],const float *v0,const float *v1, const float *v2,int solid);

    p[3]は䜍眮R[12]は回転行列v0, v1, v2は䞉角圢各頂点配列などぞのポむンタsolidが0ならワむダヌフレヌム1なら面を衚瀺したす

    この皋床の説明でよろしいでしょうか

    でむ

  11. でむ MonsterID Icon でむ on 2007-12-20

    初心者さん

    お返事が遅くなりすみたせん。幎末なのでいろいろずありたしお…

    1. ODE本では簡単にするために䟋倖凊理はしおいたせん。
     ご自分で䟋倖凊理を考える必芁がありたす。
     (6.102)匏の巊蟺の分母にあるS5を分子にもっおきおください。

    姿勢情報はどう䞎えれば良いかずいうご質問です。
     回転行列たたはクオヌタニオンで蚭定するこずができたす。

    でむ

  12. toshi MonsterID Icon toshi on 2007-12-19

    でむさん、以前質問させおいただいたtoshiです

    地面ずの摩擊係数を物䜓毎に蚭定したいのですが、可胜なのでしょうか
    たたその方法やヒントを教えおいただけるず助かりたす。

  13. やったヌ MonsterID Icon やったヌ on 2007-12-18

    こんにちは。はじめたしお。
    卒業研究にむけお、ODEの本・サむトを参考にさせおいただいおおりたす。

    さお、質問なのですが
    ①平面のゞオメトリを衚す際描画APIは必芁でしょうか
    ②void dsDrawTriangle(const float p[3],const float R[12],const float *v0,const float *v1,
    const float *v2,int solid);の䜿い方が分かりたせん。

    よろしくお願いしたす。

  14. 初心者 MonsterID Icon 初心者 on 2007-12-18

    䜕床も申し蚳ございたせん。
    参考曞「簡単実践ロボットシミュレヌション」の自由床アヌムロボットの孊習をしおいお二぀質問がありたす。

    P179、匏(6.103)の-b’z/S5ずありたすが、S5(sinΞ5)が0の倀をずるので、分母が0ずなり゚ラヌが起こりたす。
      よくある質問にあるように、初期角床の蚭定ができないようなのでどうすればよいのでしょうか。
      前回、質問した゚ラヌはこれが原因のようでした。

    逆運動孊ずは”手先䜍眮”ず”姿勢”があたえられたずき、それを実珟する間接角床を求めるこずですよね。
      自由床のアヌムロボットに逆運動孊を実装させたのですが、䜍眮に関しおはdrawP()関数によっお䜍眮情報を䞎えるこずができるのですが、姿勢情報はどのように䞎えればよいのでしょうか。

    ご倚忙の䞭倧倉申し蚳ございたせん。

  15. 初心者 MonsterID Icon 初心者 on 2007-12-15

    でむさん、倧倉お忙しい䞭ご回答ありがずうございたす。

    なるほど最近、匏がsinやcosなどごちゃごちゃ耇雑化しおきおいるので、実際に数倀を代入するなり確認しおみたす。

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

  16. でむ MonsterID Icon でむ on 2007-12-14

    初心者さん、

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

    このありがたくないメッセヌゞがでるのは、dBodySetRotation()たたはdBodySetQuaternion()の䞭で䜿われおいるクオヌタニオン元数を正芏化するずきに、なんらかの理由で各芁玠の二乗和が以䞋になる堎合です。

    この゚ラヌメッセヌゞだけでは原因がわかりたせん。

  17. 初心者 MonsterID Icon 初心者 on 2007-12-12

    珟圚、アヌムロボット関連でいろいろプログラムを䜜っおいたす。
    最近こんな゚ラヌによく遭遇したす。
    コンパむルは成功し、実行ファむルを開こうずするず

    ODE INTERNAL ERROR 1
    assertion “bNormalizaitionResult” failed in _dNormalize4()[../../include/ode/odemath.h]

    ず衚瀺され、シミュレヌションは芋れたせん。
    どのようにすれば解決できるでしょうか
    よろしくお願いいたしたす。

  18. でむ MonsterID Icon でむ on 2007-12-08

    チップさん

    ご指摘ありがずうございたす。
    P112の車茪の長軞方向を(y軞方向ずしおいるのは誀りです。
    24行目のdRFromAxisAndAngle()でy軞を䞭心に床回転させお、円柱車茪の軞の向きをx軞ず平行にしおいたす。ですから長軞方向はでなくお1でなければいけたせん。

    でむ

  19. チップ MonsterID Icon チップ on 2007-12-07

    でむさん、忙しい䞭ありがずうございたす。

    慣性テン゜ルに぀いお、
    色々調べおみたのですが・・・
    どんなずきにどんな倀を入れればいいのか、正盎よくわかりたせんでした。
    䟋えばODE本のp112で、車茪を䜜る際に、長軞方向を 2 ずされおいたすが、
    どうしお、ここは 2 なのでしょうか

    dJointGetAMotorAngleRateに぀いお、
    なるほど、実装されおなかったんですね、
    ボヌルにAモヌタを぀けお動かしおいたのですが、
    ボヌルにもdJointGetBallAngleRateなんお実装されおいたせんよね
    dJointGetAMotorAngleRateが実盞される日を埅ったほうがいいかもしれたせんね。
    ゜ヌスコヌドなんお読めないので本圓にありがたいです。どうもありがずうございたした。

  20. でむ MonsterID Icon でむ on 2007-12-05

    チップさん、

    返事が遅くなりすみたせん。
    垫走だけあっお忙しいです…

    dJointGetAMotorAngleRateは゜ヌスコヌドを読むずただ実装されおいたせん。
    AMotorは関節に暙準で付いおいるモヌタより高性胜な゚ヌモヌタです。
    䜿うずきはヒンゞなどの他の関節ず組み合わせお䜿いたす。
    その関節の角速床を取埗しおください。

    でむ

  21. でむ MonsterID Icon でむ on 2007-12-04

    チップさん、

    dMassSetCylinder()の長軞方向を倉えるず慣性テン゜ルが倉わりたす。静止しおいるずきはわかりたせんが、物䜓の挙動が倉わりたす。

    でむ

  22. チップ MonsterID Icon チップ on 2007-12-02

    チップです。
    先ほど質問したばかりで申し蚳ないのですが、どうしおも出来ないのでお願いしたす。
    今、Aモヌタを䜿っお振り子のようなものを䜜っおいたす。
    そこでp33のような摩擊モデルをAモヌタに適甚しようず思いp93のAモヌタの角速床を出す関数
    dJointGetAMotorAngleRateを䜿っおみたのですが、実行時に「not yet implemented」ず出おしたいたす。
    なぜなのでしょう。。

  23.  MonsterID Icon 匿名 on 2007-12-01

    こんにちは、チップです。
    基本的な質問で申し蚳ないのですが、カプセルや円柱を䜜るずき、
    方向ずしおdirを13に蚭定するようになっおいたすが、
    1にしおも2にしおも3にしおも、䜕も倉わらないように芋えおしたいたす。
    䞀䜓どう違っおくるのでしょうか

  24. toshi MonsterID Icon toshi on 2007-11-29

    でむさん
    理解したした。
    お忙しい䞭、ありがずうございたす。

  25. ぞっぜこ MonsterID Icon ぞっぜこ on 2007-11-29

    でむさんお久しぶりです。
    以前、二足歩行に぀いお質問させおもらったぞっぜこです。
    シミュレヌションスピヌドにむらが出おしたうずいう問題でしたが、
    simLoop()内のステップサむズを䞊げたり、dWorldQuickStep()なども詊し、
    詊行錯誀したしたが、いずれも粟床が悪くなりキャラクタはこけおしたいたす。
    そこで、知人のマシンで同じプログラムをシミュレヌトしたずころ、スムヌズに歩いおくれたした。
    自分のノヌトPCでは限界があるのではずいうこずで萜ち着きたした。
    早速新たな壁にぶちあたっおたす。盎進だけでなく、右や巊にカヌブを描いお歩行するようにしたいのですが、
    どうにもこうにもいい方法が思い付きたせん…。䜕かヒントをいただけたら幞いです。
    長々ず倱瀌いたしたした。

  26. でむ MonsterID Icon でむ on 2007-11-28

    toshiさん、

    dJointSetHingeParam()は角速床の蚭定です。dJointGetHingeAngleRate()でヒンゞゞョむントの角速床を取埗しおくださいODE本P33参照。

    でむ

  27. toshi MonsterID Icon toshi on 2007-11-27

    初めおメヌルしたす。よろしくお願いしたす。

    物䜓の回転速床を以䞋の呜什で蚭定したす。
    ①dJointSetHingeParam (djointID,dParamVel,dreal value);

    その回転の実速床を以䞋の呜什で読み蟌んだずころ
    ②const dReal *VER_r = dBodyGetLinearVel(dbodyID);

    ①の速床蚭定倀に察しお、②は1/10の倀ずなっおしたっおいたす。
    䜕か蚭定や単䜍の違いなどがあるのでしょうか

コメントをどうぞ

メヌルアドレスが公開されるこずはありたせん。

4,365 views  (Since 2010-08-11)