86 lines
3.9 KiB
XML
Executable File
86 lines
3.9 KiB
XML
Executable File
<mujoco model="fish">
|
|
<include file="./common/visual.xml"/>
|
|
<include file="./common/materials.xml"/>
|
|
<asset>
|
|
<texture name="skybox" type="skybox" builtin="gradient" rgb1=".4 .6 .8" rgb2="0 0 0" width="800" height="800" mark="random" markrgb="1 1 1"/>
|
|
</asset>
|
|
|
|
|
|
<option timestep="0.004" density="5000">
|
|
<flag gravity="disable" constraint="disable"/>
|
|
</option>
|
|
|
|
<default>
|
|
<general ctrllimited="true"/>
|
|
<default class="fish">
|
|
<joint type="hinge" limited="false" range="-60 60" damping="2e-5" solreflimit=".1 1" solimplimit="0 .8 .1"/>
|
|
<geom material="self"/>
|
|
</default>
|
|
</default>
|
|
|
|
<worldbody>
|
|
<camera name="tracking_top" pos="0 0 1" xyaxes="1 0 0 0 1 0" mode="trackcom"/>
|
|
<camera name="tracking_x" pos="-.3 0 .2" xyaxes="0 -1 0 0.342 0 0.940" fovy="60" mode="trackcom"/>
|
|
<camera name="tracking_y" pos="0 -.3 .2" xyaxes="1 0 0 0 0.342 0.940" fovy="60" mode="trackcom"/>
|
|
<camera name="fixed_top" pos="0 0 5.5" fovy="10"/>
|
|
<geom name="ground" type="plane" size=".5 .5 .1" material="grid"/>
|
|
<geom name="target" type="sphere" pos="0 .4 .1" size=".04" material="target"/>
|
|
<body name="torso" pos="0 0 .1" childclass="fish">
|
|
<light name="light" diffuse=".6 .6 .6" pos="0 0 0.5" dir="0 0 -1" specular=".3 .3 .3" mode="track"/>
|
|
<joint name="root" type="free" damping="0" limited="false"/>
|
|
<site name="torso" size=".01" rgba="0 0 0 0"/>
|
|
<geom name="eye" type="ellipsoid" pos="0 .055 .015" size=".008 .012 .008" euler="-10 0 0" material="eye" mass="0"/>
|
|
<camera name="eye" pos="0 .06 .02" xyaxes="1 0 0 0 0 1"/>
|
|
<geom name="mouth" type="capsule" fromto="0 .079 0 0 .07 0" size=".005" material="effector" mass="0"/>
|
|
<geom name="lower_mouth" type="capsule" fromto="0 .079 -.004 0 .07 -.003" size=".0045" material="effector" mass="0"/>
|
|
<geom name="torso" type="ellipsoid" size=".01 .08 .04" mass="0"/>
|
|
<geom name="back_fin" type="ellipsoid" size=".001 .03 .015" pos="0 -.03 .03" material="effector" mass="0"/>
|
|
<geom name="torso_massive" type="box" size=".002 .06 .03" group="4"/>
|
|
<body name="tail1" pos="0 -.09 0">
|
|
<joint name="tail1" axis="0 0 1" pos="0 .01 0"/>
|
|
<joint name="tail_twist" axis="0 1 0" pos="0 .01 0" range="-30 30"/>
|
|
<geom name="tail1" type="ellipsoid" size=".001 .008 .016"/>
|
|
<body name="tail2" pos="0 -.028 0">
|
|
<joint name="tail2" axis="0 0 1" pos="0 .02 0" stiffness="8e-5"/>
|
|
<geom name="tail2" type="ellipsoid" size=".001 .018 .035"/>
|
|
</body>
|
|
</body>
|
|
<body name="finright" pos=".01 0 0">
|
|
<joint name="finright_roll" axis="0 1 0"/>
|
|
<joint name="finright_pitch" axis="1 0 0" pos="0 .005 0"/>
|
|
<geom name="finright" type="ellipsoid" pos=".015 0 0" size=".02 .015 .001" />
|
|
</body>
|
|
<body name="finleft" pos="-.01 0 0">
|
|
<joint name="finleft_roll" axis="0 1 0"/>
|
|
<joint name="finleft_pitch" axis="1 0 0" pos="0 .005 0"/>
|
|
<geom name="finleft" type="ellipsoid" pos="-.015 0 0" size=".02 .015 .001"/>
|
|
</body>
|
|
</body>
|
|
</worldbody>
|
|
|
|
<tendon>
|
|
<fixed name="fins_flap">
|
|
<joint joint="finleft_roll" coef="-.5"/>
|
|
<joint joint="finright_roll" coef=".5"/>
|
|
</fixed>
|
|
<fixed name="fins_sym" stiffness="1e-4">
|
|
<joint joint="finleft_roll" coef=".5"/>
|
|
<joint joint="finright_roll" coef=".5"/>
|
|
</fixed>
|
|
</tendon>
|
|
|
|
<actuator>
|
|
<position name="tail" joint="tail1" ctrlrange="-1 1" kp="5e-4"/>
|
|
<position name="tail_twist" joint="tail_twist" ctrlrange="-1 1" kp="1e-4"/>
|
|
<position name="fins_flap" tendon="fins_flap" ctrlrange="-1 1" kp="3e-4"/>
|
|
<position name="finleft_pitch" joint="finleft_pitch" ctrlrange="-1 1" kp="1e-4"/>
|
|
<position name="finright_pitch" joint="finright_pitch" ctrlrange="-1 1" kp="1e-4"/>
|
|
</actuator>
|
|
|
|
<sensor>
|
|
<velocimeter name="velocimeter" site="torso"/>
|
|
<gyro name="gyro" site="torso"/>
|
|
</sensor>
|
|
</mujoco>
|
|
|