ODE講座10:CFM (拘æŸåŠ›æ··åˆãƒ‘ラメータ)

2006-11-29
By

ゲーム開発やロボットã®ç ”究者ã«ã‚‚使ã‚れã¦ã„るオープンソースã®ç‰©ç†è¨ˆç®—エンジンODE(Open Dynamics  Engineã€ã‚ªãƒ¼ãƒ—ン ダイナミクスエンジン)を学ã¶ODE講座ã®ç¬¬ï¼‘ï¼å›žç›®ã§ã™ã€‚

ã•ã¦ã€ä»Šå›žã‚‚ODEã«ç‰¹æœ‰ãªãƒ‘ラメータã®èª¬æ˜Žã‚’ã—ã¾ã™ã€‚ODEã§ã¯ERPã®ä»–ã«CFM(Constraint Force Mixing)ã¨ã„ã†ãƒ‘ラメータãŒã‚りã¾ã™ã€‚日本語ã«ã¯è¨³ã—ã¥ã‚‰ã„ã§ã™ãŒç›´è¨³ã™ã‚‹ã¨æ‹˜æŸåŠ›æ··åˆãƒ‘ラメータã¨ãªã‚Šã¾ã™ã€‚

拘æŸã«ã¯ 大ãã分ã‘ã¦ãƒãƒ¼ãƒ‰(hard)拘æŸã¨ã‚½ãƒ•ト(soft)拘æŸã®ï¼’種類ã‚りã¾ã™ã€‚ãƒãƒ¼ãƒ‰æ‹˜æŸã§ã¯æ‹˜æŸæ¡ä»¶ã‚’律儀ã«å¿…ãšå®ˆã‚‰ãªã‘れã°ã„ã‘ã¾ã›ã‚“。一方ã€ã‚½ãƒ•ト拘æŸã¯èžé€šãŒãã„ã¦å¤šå°‘ã®ãšã‚Œã¯ï¼¯ï¼«ãªã®ã§ã™ã€‚一般的ã«ã¯ãƒãƒ¼ãƒ‰æ‹˜æŸãŒå¤šã„ã®ã§ã™ãŒã€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ã‚’sample4aã®WorldSetERP ã®ä¸‹ã®è¡Œã«æŒ¿å…¥ã—ã€cfmã®å€¤ã‚’ã„ã‚ã„ã‚変更ã—ã¦éŠã‚“ã§ã¿ã¦ãã ã•ã„。CFMã®å€¤ã‚’大ããã™ã‚‹ã¨ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆãŒæŸ”らã‹ããªã‚Šã¾ã™ã€‚å°ã•ãã™ã‚‹å ´åˆã¯ï¼ãŒæœ€å° ã§ã“ã®å ´åˆã¯ãƒãƒ¼ãƒ‰æ‹˜æŸã¨ãªã‚Šã¾ã™ã€‚CFMãŒè² ã®å€¤ã¯ã‚·ã‚¹ãƒ†ãƒ ãŒä¸å®‰å®šã«ãªã‚‹ã®ã§æ­¢ã‚ã¦ãã ã•ã„。

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

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

コメントをã©ã†ãž

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

846 views  (Since 2010-08-11)