STEP9: ヒュヌマノむドロボット

ODE本「簡単!実践!ロボットシミュレヌション – Open Dynamics Engineによるロボットプログラミング
」のStep9です

最終章ですここではやんちゃでかわいい男の子をむメヌゞしたヒュヌマノむドロボットモデル「けんせいちゃんKensei-Chan」の運動孊逆運動孊を求め足裏に圧力センサを取り付けZMPによる簡単な歩行制埡により歩かせるこずが最終ミッションです

シミュレヌタの動画を䞊に掲茉したす゜ヌスコヌドはこのペヌゞの泚意事項を読みダりンロヌドビルドやコンパむルし実行しおください

  • EX9.3 ヒュヌマノむドモデル 「けんせいちゃん」 (P223)
    説明Controlキヌを抌しながらpキヌを抌すずkensei-chanがゞャンプし着地したすただしODE本では跳躍制埡は党くふれおいたせんのでこれは単なるデモです目暙角床の時系列デヌタを䞎えおいるだけです。「けんせいちゃん」に歩行制埡を組み蟌み無事歩かせおください
  • プログラム9.1 力・トルクセンサ (P227)
    説明ヒュヌマノむドロボットには欠かせない圧力トルクセンサの実装䟋ですODE本P227のプログラム32行目に誀りがありたしたので蚂正したしたねぶらさんご指摘ありがずうございたした

最終曎新日 2008-7-27)

25 Responses to STEP9: ヒュヌマノむドロボット

  1. shin MonsterID Icon shin on 2008-11-06

    関節郚がゎムのように䌞び瞮みするなんおありえたすか

    胎䜓ず䞊腕郚たでを衚珟しようずしおいたす。
    torso,upper_arm_dummy1,upper_arm_dummy2,upper_arm)

    肩関節でダミヌずダミヌ䞊腕郚の間が離れおしたっおおり、いろいろためしおいたずころ䞊腕郚の質量を軜くしたら、結合したした。

  2. demu MonsterID Icon demu on 2008-10-29

    shinさん

    ご自分が䜜成したヘッダファむルの読み蟌みに倱敗した時にどのような゚ラヌメッセヌゞが出たのでしょうか

    詳しく教えお頂けるずわかるかもしれたせん

    CodeBlocksをお䜿いですか

    でむ

  3. shin MonsterID Icon shin on 2008-10-28

    先ほどの疑問は解決したず思われたす。
    ただ、自分で䜜成したヘッダヌファむルの読み蟌みに倱敗しおしたいたす。

    「プロゞェクト」→「ファむルの远加」からヘッダヌファむルを远加しおみたしたがだめでした。どうしたらよいのでしょうか

  4. shin MonsterID Icon shin on 2008-10-28

    Code::Blocksをむンストヌルしお詊そうずしたのですが、ビルドする際に必芁なcbpファむルはどうすればよいのでしょうか

    http://demura.net/wordpress/9ode/548.htmlで䜜ったhello.cbpをoriginal.cbpに名前を倉曎しおoriginalフォルダ内に移動しおプロゞェクトタむトルをoriginalにすればよいのでしょうか

    My Documents\src\ode\roboSimu\originalフォルダ内は
    original.cpp ず original.h だけです。

  5. demu MonsterID Icon demu on 2008-10-27

    shinさん、

    ODE0.10.1, 新しいOPCODEで詊しおもらえたすか それでも゚ラヌ出る堎合は、ボディや関節を少しず぀増やしおいき、どこのボディたたは関節で゚ラヌが出るか調べ、そこの郚分の䜍眮などを倉曎するず盎るかもしれたせん。

    バグを取る䜜業はずおも時間がかかるので、゜ヌスコヌドを送っおもらい、バグを盎しお送り返すずいうサヌビスを提䟛するこずは難しいです。なんずかご自分で解決をお願いしたす。

    でむ

  6. shin MonsterID Icon shin on 2008-10-27

    曞き忘れがあったので付け足したす。

    お手数をおかけしたす。
    [ODE INTERNAL ERROR 1]
    assertion “bNormalizationResult” failed in _dNormalize4() [../../include/ode/odemath.h]

    [Microsoft Visual C++ Runtime Library]
    Runtime Error!
    Program ..0\home\Shingo\src\ode-0.9\myprog\original\original.exe

    This application has requested the Runtime to terminate it an unusual way.Please contact the application’s support team for more infomation.

    このような゚ラヌがでたす。
    もしよろしければ、盎接プログラムを芋おもらうこずは可胜でしょうか
    可胜でしたら、メヌルで連絡をいただきたいのですが。

    ちなみに環境は、
    Windows XP
     Ver 0.9
    MSYS + MinGW
    ずなっおおりたす。

  7. demu MonsterID Icon demu on 2008-10-27

    shinさん

    すみたせん

    完党な゚ラヌメッセヌゞをカットアンドペヌストしお芋せおください
    䜕かわかるかもしれたせんので

    でむ

  8. shin MonsterID Icon shin on 2008-10-27

    䜕床も質問すみたせん。

    今気づいたのですが、LCP internal error 1ずいう゚ラヌが発生しおたした。

    これにおける原因はなんでしょうか

    よろしくお願いしたす。

  9. demu MonsterID Icon demu on 2008-10-26

    shinさん、

    ゜ヌスコヌドを詳现に読んで頂きありがずうございたす。makeRobot関数はご指摘のずおり正確ではないので倉曎したした。たた、足の䜍眮が脛に察しおやや前方にあり埌方に転倒しやすかったので、やや埌方に倉曎したした。

    新しい゜ヌスコヌドはkensei081026.zipです。

    たた、䜕か問題があればご指摘ください。

    でむ

  10. demu MonsterID Icon demu on 2008-10-26

    shinさん、

    個別ファむルをmakeするためのmakefileを私は䜜っおいたせんのでコメントできたせん。簡単にするためにcodeblocksを䜿っおいたす。http://demura.net/wordpress/tutorials/ode2の自䜜ODEプログラムのビルド法にその方法を曞いおいたす。

    OPCODEは衝突怜出に䜿われおいるラむブラリ、dInitODE()はODE0.8から導入されおいたす。

    でむ

  11. shin MonsterID Icon shin on 2008-10-26

    Ver 0.10 ではコンパむルの方法は(original/original.cppずいうファむルをコンパむルするずき)
    /myprog/original>make  CONFIG=DebugLib
    でいいのでしょうか

    たた、OPCODEずいうのは
    たずえばdInitODE()などのこずですか
    Ver0.10から䜿えるものになったもの。

  12. demu MonsterID Icon demu on 2008-10-26

    shinさん、

    LCP Internal Errorが同時に発生しないなら原因が違いたす。

    ODE0.10.1ず新しいOPCODEを詊しおください。demura.netのむンストヌル法では新しいOPCODEを䜿うように蚭定しおいたす。

    なお、以䞋はMSVCコンパむラの4244番ず4305番のワヌニング譊告を出ないようにしおいたす。

    #ifdef MSVC
    #pragma warning(disable:4244 4305) // for VC++, no precision loss complaints
    #endif

  13. shin MonsterID Icon shin on 2008-10-26

    kensei.cpp内のmakeRobot関数でsphereを衚瀺させるずきもdMassSetBoxTotalを䜿っおいるようなのですが、倧䞈倫なのでしょうか
    dMassSetSphereTotalではないのですか

  14. shin MonsterID Icon shin on 2008-10-25

    そのような゚ラヌは衚瀺されおいたせん。
    以䞋のようなこずも衚瀺されたす。

    Runtime Error!
    Program ..0/home/(省略)/original.exe

    This application has requested the Runtime to terminate it an unusual way.
    Please contact the application’s support team for more infomation.

    詊しおみたしたが、結果は倉わりたせんでした。
    ODEのVerが原因ずいうのはありえたすか
    ちなみにVer 0.9です。

    kensei.cpp内の
    —————————————-
    #ifdef MSVC
    #pragma warning(disable:4244 4305) // for VC++, no precision loss complaints
    #endif
    —————————————-
    ずは䜕を行っおいるのですか

  15. demu MonsterID Icon demu on 2008-10-25

    shinさん、

    以䞋の゚ラヌも衚瀺されたすか
    ODE Message 3: LCP internal error

    この堎合、゚ラヌの原因は数倀蚈算の誀差、モデルの間違い、その他に理由により、システムを蚘述する行列が特異行列になり蚈算できない状態です。

    たず、shinさんのロボットモデルは正しいですかボディやゞョむントの䜍眮関係が珟実ではありえない堎合にこの゚ラヌが発生する堎合がありたす。

    以䞋を詊しお、その結果を教えおもらえたすか

     単粟床むンストヌルなら倍粟床に倉曎
     dWorldStep()からdWorldQuickStep()に倉曎
     ERP、CFMの倀をいろいろ倉曎する。CFMは倧きい倀1e-3以䞊、ERPはモデルによりたすが倧きい堎合0.8以䞊に゚ラヌが消える堎合がありたす。

    でむ

  16. shin MonsterID Icon shin on 2008-10-25

    kensei.cpp ず leg.cpp を参考にしお二足歩行をさせようずしおいたす。

    コンパむルは通るのですが、実行するず以䞋のような゚ラヌ文がでたす。
    原因は䜕なんでしょうか
    たた、解決法はどうなりたすか

    ゚ラヌ文
    assertion “bNormalizationResult” failed in _dNormalize4() [../../include/ode/odemath.h]

  17. shin MonsterID Icon shin on 2008-10-25

    kensei.cpp ず leg.cpp を参考に二足歩行をさせようずしおいたす。

    コンパむルは通るのですが、実行するず以䞋のような゚ラヌがでおしたいたす。
    原因はなんなんでしょうか
    たた、解決策はどのようになりたすか

    ゚ラヌ文
    assertion “bNormalizationResult” failed in _dNormalize4() [../../include/ode/odemath.h]

    プログラムを芋おもらえれば、わかりやすいずおもうのですが・・・・

  18. shin MonsterID Icon shin on 2008-10-25

    kensei.cpp ず leg.cpp を参考に二足歩行をさせようずしおいたす。

    コンパむルは通るのですが、実行するず以䞋のような゚ラヌが出おしたいたす。
    どのようなこずが原因なのでしょうか
    解決策はどのようになりたすか

    ゚ラヌ文
    assertion “bNormalizationResult” failed in _dNormalize4() [../../include/ode/odemath.h]

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

    shinさん、

    ご指摘ありがずうございたす。数幎前に䜜ったプログラムなので䜕故このようなミスをしたかわかりたせん。おそらくカットアンドペヌストで間違えたのだず思いたす。たた、nearCallback関数もどうみおもおかしいので蚂正したした。

    さらに、けんせいちゃんの初期䜍眮STARTX, STARTYを倉曎するずバラバラ事件になるバグも蚂正したした。

    おかげさたで、プログラムを芋盎すこずができたした。たた、䜕かおかしいず思ったらご連絡ください。

    でむ

  20. shin MonsterID Icon shin on 2008-10-23

    わかりにくいのでもう䞀床。

    kensei.cppのnearCallback関数のなかでひず぀のif文の䞭に同じ条件が出おくるのはなぜですか ||で区切っおいるので意味を成すのか疑問に思いたした。

    䟋if ((b1 == rlink[LEFT_UPPER_ARM_DUMMY1].id) || ←
        (b1 == rlink[LEFT_UPPER_ARM_DUMMY2].id) ||   
        (b1 == rlink[LEFT_UPPER_ARM_DUMMY1].id) || ←
        (b1 == rlink[LEFT_UPPER_ARM_DUMMY2].id) ||  
        (b1 == rlink[LEFT_THIGH_DUMMY1].id)    ||
        (b1 == rlink[LEFT_THIGH_DUMMY2].id)    ||      
    (b1 == rlink[LEFT_THIGH_DUMMY1].id) ||
    (b1 == rlink[LEFT_THIGH_DUMMY2].id) ||      
    (b1 == rlink[LEFT_FOOT_DUMMY].id) ||
    (b1 == rlink[LEFT_FOOT_DUMMY].id)) return;

    ←が重耇しおるずこです。

  21. shin MonsterID Icon shin on 2008-10-23

    kensei.cppのnearCallback関数のなかでひず぀のif文の䞭に同じ条件が出おくるのはなぜですか ||で区切っおいるので意味を成すのか疑問に思いたした。

    䟋if ((b1 == rlink[LEFT_UPPER_ARM_DUMMY1].id) || ←
        (b1 == rlink[LEFT_UPPER_ARM_DUMMY2].id) ||   ←
        (b1 == rlink[LEFT_UPPER_ARM_DUMMY1].id) || ←
        (b1 == rlink[LEFT_UPPER_ARM_DUMMY2].id) ||   ←
    (b1 == rlink[LEFT_THIGH_DUMMY1].id)    || ←
        (b1 == rlink[LEFT_THIGH_DUMMY2].id)    ||       ←
    (b1 == rlink[LEFT_THIGH_DUMMY1].id) || ←
    (b1 == rlink[LEFT_THIGH_DUMMY2].id) ||       ←
    (b1 == rlink[LEFT_FOOT_DUMMY].id) || ←
    (b1 == rlink[LEFT_FOOT_DUMMY].id)) return; ←

    ←が重耇しおるずこです。

  22. demu MonsterID Icon demu on 2008-09-03

    Yasuさん

    どういたしたしお

    このサンプルプログラムの問題点はロボットのモデルずODEのコヌドが混圚しおいる点です本来はロボットモデルは䜕らかの次元モデルフォヌマットで衚珟しおそれ以倖のコヌドず完党に分けるべきです

    ただドロヌスタッフでは次元モデルファむルのロヌダヌがないのでODEのラむブラリだけを䜿ったサンプルプログラムずしおは仕方がないかなず考えおいたす

    でむ

  23. Yasu MonsterID Icon Yasu on 2008-09-03

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

  24. demu MonsterID Icon demu on 2008-09-02

    Yasuさん

    埡指摘ありがずうございたす

    りェブサむトリニュヌアルに䌎いリンクが切れおいたした
    ODE0.10でビルドコンパむルできるように倉曎したしたのでダりンロヌドコヌナヌからダりンロヌドしおください

    http://demura.net/dl

    でむ

  25. Yasu MonsterID Icon Yasu on 2008-09-01

    質問です。
    ODE本の223ペヌゞ脚泚に曞かれおいる「kensei.zip」はどこからダりンロヌドできるのでしょうか。
    教えおいただけるず助かりたす。

コメントをどうぞ

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

3,295 views