[[Tutorial]]

&endpage("World file configuration");
&engpage("World file configuration");

**テンプレート [#h300d79c]
世界ファイルで以下のパラメータが設定可能です。(※v2.2.0以降)

#highlight(xml){{
<?xml version="1.0" encoding="utf8"?>
<world name="myworld1">
  <gravity x="0.0" y="-980.7" z="0.0"/>
  <instanciate class="seToy_D.xml">
    <set-attr-value name="name" value="toy_D"/>
    <set-attr-value name="x" value="0.0"/>
    <set-attr-value name="y" value="60.0"/>
    <set-attr-value name="z" value="0.0"/>
    <set-attr-value name="scalex" value="1.0"/>
    <set-attr-value name="scaley" value="1.0"/>
    <set-attr-value name="scalez" value="1.0"/>
    <set-attr-value name="qw" value="1.0"/>
    <set-attr-value name="qx" value="0.0"/>
    <set-attr-value name="qy" value="0.0"/>
    <set-attr-value name="qz" value="0.0"/>
    <set-attr-value name="mass" value="1.0"/>
    <set-attr-value name="dynamics" value="true"/>
    <set-attr-value name="collision" value="true"/>
    <set-attr-value name="graspable" value="true"/>
    <set-attr-value name="graspRadius" value="40.0"/>
    <set-attr-value name="language" value="c++"/>
    <set-attr-value name="implementation"
                    value="./ControllerSample.so"/>
    <camera id="1"
            link="body"
            fov="45"
            aspectRatio="1.5"
            direction="0.0 0.0 1.0"
            quaternion="1.0 .0. 0.0 0.0"/>
  </instanciate>
  <worldParam erp="0.5" cfm="1e-8" autostep="true" quickstep="false" stepsize="0.01"/>
  <collisionParam mu="0.9" mu2="0.02" slip1="0.01" slip2="0.01"
                  soft_erp="0.8" soft_cfm="0.00001" bounce="0.9" bounce_vel="5.0"/>
</world>
}}


**エンティティ属性 [#c925d913]

|属性名|型|デフォルト値|説明|
|name|string|- |エンティティ名。他のエンティティとの重複する名前はつけられない。|
|x|double|0.0|初期位置x|
|y|double|0.0|初期位置y|
|z|double|0.0|初期位置z|
|qw|double|1.0|初期回転(クオータニオン)qw|
|qx|double|0.0|初期回転(クオータニオン)qx|
|qy|double|0.0|初期回転(クオータニオン)qy|
|qz|double|0.0|初期回転(クオータニオン)qz|
|scalex|double|1.0|オブジェクトのx方向スケール|
|scaley|double|1.0|オブジェクトのy方向スケール|
|scalez|double|1.0|オブジェクトのz方向スケール|
|mass|double|1.0|質量(kg)|
|dynamics|bool|true|物理演算フラグ|
|collision|bool|false|衝突判定フラグ|
|graspable|bool|true|grasp可能フラグ|
|graspRadius|double|40.0|grasp可能範囲半径|
|language|string|-|コントローラ言語(現状c++のみサポート)|
|implementation|string|-|コントローラファイル指定|

**カメラパラメータ [#s61f21bf]
|パラメータ名|型|デフォルト値|説明|
|id|int|-|ID番号|
|link|string|-|リンク名|
|fov|double|45|y方向視野角(degree)|
|aspectRatio|double|1.5|アスペクト比(横/縦)|
|direction|double*3|"0.0 0.0 1.0" | カメラが向く方向ベクトル|
|quaternion|double*4|"1.0 0.0 0.0 0.0" |カメラの回転|

**世界パラメータ [#ndefd6df]

|パラメータ名|型|デフォルト値|説明|
|erp|double|0.5|関節誤差を修正するパラメータ. 誤差を全く修正しない場合は0. 誤差を完全に修正する場合は1|
|cfm|double|1e-8|関節や地面などの柔らかさを決めるパラメータ.大きいほど柔らかい. 最大値は1.0|
|autostep|bool|true|自動ステップモード.trueのときはstepsizeの値で時間を刻み、現実世界とシミュレーション世界の時間を自動で一致させる。falseにした場合はエージェントコントローラでworldStep(もしくはworldQuickStep)を使ってSIGVerse時間を進める必要がある。|
|quickstep|bool|false|quick step モードでSIGVerse時間を進める。高速だが物理演算シミュレーションの精度が悪い autostep=trueのときのみ有効|
|stepsize|double|0.01|ステップ幅(秒). autostep=trueのときのみ有効|

**衝突パラメータ [#x43a5e3c]
|パラメータ名|型|デフォルト値|説明|
|mu|double|0.9|摩擦係数 0~無限の値をとり0の場合摩擦がない|
|mu2|double|0.02|摩擦力がかかった方向と垂直な方向の摩擦係数|
|slip1|double|0.01|摩擦方向1における force-dependent-slip係数|
|slip2|double|0.01|摩擦方向2における force-dependent-slip係数|
|soft_erp|double|0.8|接触法線方向の柔らかさ|
|soft_cfm|double|0.0001|接触法線方向の柔らかさ|
|bounce|double|0.3|反発係数 (0~1)|
|bounce_vel|double|5.0|跳ね返るために必要な最小速度(cm/s)|

※注意) これらの衝突パラメータはすべてのオブジェクトの衝突に適用されます。

#highlight(end)

Front page   Edit Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes