8. ERPã¨CFM

sample4a

ODE (Open Dynamics Engine) åˆç´šè¬›åº§ã®ç¬¬ï¼˜å›žç›®ã§ã™ã€‚

今回ã¯ï¼¯ï¼¤ï¼¥ã‚’使ã†ã†ãˆã§è¦šãˆã¦ãŠã‹ãªã‘れã°ãªã‚‰ãªã„パラメータERP (Error Reduction Parameter,ジョイント誤差修正パラメータ)ã¨CFM(Constraint Force Mixing,拘æŸåŠ›æ··åˆãƒ‘ラメータ)ã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚

1. ERP (Error Reduction Parameter)

ERPã¯ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã®èª¤å·®ã‚’修正ã™ã‚‹ãƒ‘ラメータã§ã™ã€‚シミュレーションを繰り返ã—ã¦ã„ãã¨ã€ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã®ä¸­å¿ƒãŒè¨ˆç®—誤差ãªã©ã§ãšã‚Œã¦ã„ãã¾ã™ã€‚ãれを修正 ã™ã‚‹ã®ãŒERPã§ï¼ä»¥ä¸Šï¼‘以下ã®å€¤ã‚’ã¨ã‚Šã¾ã™ã€‚ï¼ã¯èª¤å·®ã‚’å…¨ã修正ã—ãªã„ã®ã«å¯¾ã—ã€1ã¯æ¬¡ã®ã‚¹ãƒ†ãƒƒãƒ—ã§èª¤å·®ã‚’ï¼ã«ä¿®æ­£ã—ã¾ã™ã€‚推奨値ã¯0.1ã‹ã‚‰0.8ã¨ãªã£ ã¦ã„ã¾ã™ãŒã€ãƒ‡ãƒ•ォルト値(è¦å®šå€¤ï¼‰ã¯0.2ã§ã™ã€‚今ã¾ã§ã®ã‚µãƒ³ãƒ—ルプログラムã§ã¯è¨­å®šã—ã¦ã„ãªã‹ã£ãŸã®ã§ERPã¯0.2ã¨ã—ã¦è¨ˆç®—ã•れã¦ã„ã¾ã™ã€‚ERPを1ã«è¨­å®šã™ã‚‹ã“ã¨ã¯ã€ã‚ã¾ã‚ŠãŠå‹§ã‚ã§ãã¾ã›ã‚“。

ERPを設定ã™ã‚‹å ´åˆã¯ä»¥ä¸‹ã®APIを使ã„ã¾ã™ã€‚ãªãŠã€ã“れã¯ã‚°ãƒ­ãƒ¼ãƒãƒ«ï¼ˆå¤§åŸŸçš„)ã«åƒãå…¨ã¦ã®ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã®èª¤å·®ã‚’修正ã—ã¾ã™ã€‚

  • dWorldSetERP(dWorldID, dReal erp)
    ã“ã“ã§ã€dWorldIDã¯ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ï¼©ï¼¤ç•ªå·ã€erpã¯0.0ã‹ã‚‰1.0ã¾ã§ã®å®Ÿæ•°ã¨ãªã‚Šã¾ã™ã€‚

ã§ã¯ã€å®Ÿç¿’ã¨ã—ã¦dWorldSetERP(world, 0.0);ã‚’sample3ã®dWorldSetGravityã®ä¸‹ã«æŒ¿å…¥ã—ã¦å®Ÿè¡Œã—ã¦ã¿ã¦ãã ã•ã„。ERPãŒï¼ã®å ´åˆã¯ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã®ãšã‚Œã‚’修正ã—ãªã„ã®ã§ä¸Šå›³ã®ã‚ˆã†ã«ãƒãƒ©ãƒãƒ©äº‹ä»¶ãŒç™ºç”Ÿã—ã¾ã™ã€‚

2. CFM (Constraint Force Mixing)

次ã«ã€ã‚‚ã†ä¸€ã¤ã®ODE特有ãªãƒ‘ラメータCFM(Constraint Force Mixing)ã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚日本語ã«ã¯è¨³ã—ã¥ã‚‰ã„ã§ã™ãŒç›´è¨³ã™ã‚‹ã¨æ‹˜æŸåŠ›æ··åˆãƒ‘ラメータã¨ãªã‚Šã¾ã™ã€‚

拘æŸã«ã¯ 大ãã分ã‘ã¦ãƒãƒ¼ãƒ‰(hard)拘æŸã¨ã‚½ãƒ•ト(soft)拘æŸã® 2種類ã‚りã¾ã™ã€‚ãƒãƒ¼ãƒ‰æ‹˜æŸã§ã¯æ‹˜æŸæ¡ä»¶ã‚’律儀ã«å¿…ãšå®ˆã‚‰ãªã‘れã°ã„ã‘ã¾ã›ã‚“。一方ã€ã‚½ãƒ•ト拘æŸã¯èžé€šãŒãã„ã¦å¤šå°‘ã®ãšã‚Œã¯ï¼¯ï¼«ãªã®ã§ã™ã€‚一般的ã«ã¯ãƒãƒ¼ ド拘æŸãŒå¤šã„ã®ã§ã™ãŒã€ODEã§ã¯CFMã‚’å°Žå…¥ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã‚½ãƒ•ト拘æŸã¨ãªã‚Šã¾ã™ã€‚CFMãŒ0ã®ã¨ãã¯ãƒãƒ¼ãƒ‰æ‹˜æŸã€å¤§ãããªã‚‹ã«å¾“ã„ソフト拘æŸã«ãªã‚Šã¾ ã™ã€‚

ã¾ãŸã€ODEã§ã¯æ‹˜æŸã¨ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã‚’åŒã˜æ„味ã§ä½¿ã†å ´åˆãŒå¤šã„ã®ã§ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã‚’ä¾‹ã«æŒ™ã’ã‚‹ã¨ã€ãƒãƒ¼ãƒ‰æ‹˜æŸã§ã¯ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã®æ‹˜æŸæ¡ä»¶ã‚’一切破ã£ã¦ã¯ã„ ã‘ã¾ã›ã‚“。 ã¤ã¾ã‚Šã€ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã®å›žè»¢è»¸ã®ä½ç½®ã‚„å‘ããŒçµåˆã•れã¦ã„ã‚‹ï¼’ã¤ã®ãƒªãƒ³ã‚¯ãŒå°‘ã—ã‚‚ãšã‚Œã¦ã¯ã„ã‘ã¾ã›ã‚“。一方ã€ã‚½ãƒ•ト拘æŸã§ã¯å¤šå°‘関節中心や軸ã®å‘ããŒãšã‚Œã¦ もよã„ã®ã§ç‰©ç†çš„ã«ã¯ç”Ÿç‰©ã®ã‚ˆã†ã«æŸ”らã‹ã„関節をシミュレートå¯èƒ½ã§ã™ã€‚

ãªãŠã€å‰å›žã®ERPã¨ä»Šå›žã®CFMã‚’ 使ã†ã“ã¨ã«ã‚ˆã£ã¦ãƒãƒãƒ»ãƒ€ãƒ³ãƒ‘システムã®ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆã‚‚å¯èƒ½ã§ã™ã€‚ヒューマノイドã®ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã§åœ°é¢ã¨è¶³ã®æŽ¥è§¦ã‚’ãƒãƒãƒ»ãƒ€ãƒ³ãƒ‘モデルã¨ã™ã‚‹å ´åˆãŒå¤šã„ã®ã§ã€ãã†ã„ã£ãŸã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚‚ODEã§å分å¯èƒ½ã§ã™ã€‚詳ã—ãã¯ODEマニュアルをã”覧ãã ã•ã„。

次ã«ã€CFMã®å…·ä½“çš„ãªä½¿ã„方を説明ã—ã¾ã™ã€‚

CFMを設定ã™ã‚‹å ´åˆã¯ä»¥ä¸‹ã®APIを使ã„ã¾ã™ã€‚ãªãŠã€ã“れã¯ã‚°ãƒ­ãƒ¼ãƒãƒ«ã«åƒãå…¨ã¦ã®ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã«ä½œç”¨ã—ã¾ã™ã€‚å˜ç²¾åº¦ã®å ´åˆã®CFMã®ãƒ‡ãƒ•ォルト値ã¯10E-5ã€å€ç²¾åº¦ã®å ´åˆã¯10E-10ã¨ãªã‚Šã¾ã™ã€‚

  • dWorldSetCFM(dWorldID, dReal cfm)
    ã“ã“ã§ã€dWorldIDã¯ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ï¼©ï¼¤ç•ªå·ã€cfmã¯CFMã®å€¤ã€‚

ã§ã¯ã€å®Ÿç¿’ã¨ã—ã¦dWorldSetCFMã‚’å…ˆã»ã©ä¿®æ­£ã—ãŸsample3ã®WorldSetERP ã®ä¸‹ã®è¡Œã«æŒ¿å…¥ã—ã€cfmã®å€¤ã‚’ã„ã‚ã„ã‚変更ã—ã¦éŠã‚“ã§ã¿ã¦ãã ã•ã„。CFMã®å€¤ã‚’大ããã™ã‚‹ã¨ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆãŒæŸ”らã‹ããªã‚Šã¾ã™ã€‚å°ã•ãã™ã‚‹å ´åˆã¯ï¼ãŒæœ€å° ã§ã“ã®å ´åˆã¯ãƒãƒ¼ãƒ‰æ‹˜æŸã¨ãªã‚Šã¾ã™ã€‚CFMãŒè² ã®å€¤ã¯ã‚·ã‚¹ãƒ†ãƒ ãŒä¸å®‰å®šã«ãªã‚‹ã®ã§æ­¢ã‚ã¦ãã ã•ã„。

ãªãŠã€CFMã«ã¯ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’安定ã•ã›ã‚‹åƒããŒã‚りã¾ã™ã®ã§ã€ç‰©ä½“ã®æŒ™å‹•ãŒãŠã‹ã—ãªå ´åˆã¯å€¤ã‚’å°‘ã—ãšã¤å¤§ããã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ãŒã€é€šå¸¸ã®ç”¨é€”ã§ã¯å¤§ãã„å ´åˆã§ã‚‚1e-3(10ã®-3ä¹—)程度ãŒè‰¯ã„ã§ã—ょã†ã€‚大ãã™ãŽã‚‹ã¨ã‚¹ãƒ©ã‚¤ãƒ ã®ã‚ˆã†ã«æŸ”らã‹ããªã‚Šã™ãŽã¾ã™ã€‚

ã§ã¯ã€ã¾ãŸæ¬¡å›žã€‚

3 Responses to 8. ERPã¨CFM

  1. match MonsterID Icon match on 2011-08-18

    ä¸Šè¨˜ã®æ–¹æ³•ã«æ²¿ã£ã¦sample3ã®ãƒ—ログラムã®
    dWorldSetGravityã®ä¸‹ã«dWorldSetERP(world,0.0);を入れã¦å®Ÿè¡Œã—ãŸã®ã§ã™ãŒã€
    ã„ã¤ã¾ã§å¾…ã£ã¦ã‚‚ãƒãƒ©ãƒãƒ©äº‹ä»¶ã«ã¯ãªã‚Šã¾ã›ã‚“。
    プログラムã®ä»–ã®éƒ¨åˆ†ã«ã‚‚手を加ãˆã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã§ã—ょã†ã‹ã€‚

  2. 誤æ¤ï¼Ÿ MonsterID Icon 誤æ¤ï¼Ÿ on 2010-05-09

    >1. ERP (Error Reduction Parameter)
    >推奨値ã¯0.8ã‹ã‚‰1ã¨ãªã£ ã¦ã„ã¾ã™ãŒã€

    >Typical values are in the range 0.1–0.8. The default is 0.2.
    http://opende.sourceforge.net/wiki/index.php/Manual_%28All%29

    • demu MonsterID Icon demu on 2010-05-10

      åç„¡ã—ã®æ¨©å…µè¡›ã•ã‚“ã€

      誤æ¤ã§ã™ã€‚訂正ã—ã¾ã—ãŸã€‚
      御指摘ã‚りãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚助ã‹ã‚Šã¾ã™ã€‚
      マニュアルã€ï¼¯ï¼¤ï¼¥æœ¬ã§ã‚‚基準値ã¯0.1-0.8ã€ãƒ‡ãƒ•ォルト値ã¯0.2ã¨ãªã£ã¦ã„ã¾ã™ã€‚

      ã§ã‚€

コメントをã©ã†ãž

メールアドレスãŒå…¬é–‹ã•れるã“ã¨ã¯ã‚りã¾ã›ã‚“。

2,815 views