Spaces:
Runtime error
Runtime error
| <mujoco model="drone_forest"> | |
| <compiler angle="radian"/> | |
| <option timestep="0.002" gravity="0 0 -9.81" integrator="RK4"/> | |
| <default> | |
| <geom contype="1" conaffinity="1" condim="3" friction="1 0.5 0.5"/> | |
| <joint damping="0.01"/> | |
| </default> | |
| <asset> | |
| <texture name="grid" type="2d" builtin="checker" rgb1="0.3 0.6 0.3" rgb2="0.2 0.5 0.2" | |
| width="512" height="512"/> | |
| <material name="ground_mat" texture="grid" texrepeat="10 10" texuniform="true" | |
| reflectance="0.1"/> | |
| <material name="drone_body_mat" rgba="0.2 0.2 0.2 1"/> | |
| <material name="drone_arm_mat" rgba="0.4 0.4 0.4 1"/> | |
| <material name="rotor_mat" rgba="0.1 0.1 0.8 1"/> | |
| <material name="target_mat" rgba="1.0 0.0 0.0 0.6"/> | |
| </asset> | |
| <worldbody> | |
| <!-- Ground plane --> | |
| <geom name="ground" type="plane" size="25 25 0.1" material="ground_mat" | |
| contype="1" conaffinity="1"/> | |
| <!-- Drone --> | |
| <body name="drone" pos="0 0 1.5"> | |
| <freejoint name="drone_joint"/> | |
| <inertial pos="0 0 0" mass="0.4" diaginertia="0.003 0.003 0.005"/> | |
| <!-- Central body --> | |
| <geom name="drone_body" type="box" size="0.06 0.06 0.025" material="drone_body_mat" | |
| mass="0.2" contype="1" conaffinity="1"/> | |
| <!-- Arm +X (front-right) --> | |
| <geom name="arm_fr" type="capsule" fromto="0.04 -0.04 0 0.14 -0.14 0" | |
| size="0.01" material="drone_arm_mat" mass="0.02" contype="0" conaffinity="0"/> | |
| <site name="rotor_fr" pos="0.14 -0.14 0.01" size="0.04 0.005" type="cylinder" | |
| rgba="0.1 0.1 0.8 0.5"/> | |
| <!-- Arm +X +Y (front-left) --> | |
| <geom name="arm_fl" type="capsule" fromto="0.04 0.04 0 0.14 0.14 0" | |
| size="0.01" material="drone_arm_mat" mass="0.02" contype="0" conaffinity="0"/> | |
| <site name="rotor_fl" pos="0.14 0.14 0.01" size="0.04 0.005" type="cylinder" | |
| rgba="0.1 0.1 0.8 0.5"/> | |
| <!-- Arm -X -Y (back-right) --> | |
| <geom name="arm_br" type="capsule" fromto="-0.04 -0.04 0 -0.14 -0.14 0" | |
| size="0.01" material="drone_arm_mat" mass="0.02" contype="0" conaffinity="0"/> | |
| <site name="rotor_br" pos="-0.14 -0.14 0.01" size="0.04 0.005" type="cylinder" | |
| rgba="0.1 0.1 0.8 0.5"/> | |
| <!-- Arm -X +Y (back-left) --> | |
| <geom name="arm_bl" type="capsule" fromto="-0.04 0.04 0 -0.14 0.14 0" | |
| size="0.01" material="drone_arm_mat" mass="0.02" contype="0" conaffinity="0"/> | |
| <site name="rotor_bl" pos="-0.14 0.14 0.01" size="0.04 0.005" type="cylinder" | |
| rgba="0.1 0.1 0.8 0.5"/> | |
| <!-- FPV camera (front-facing, slightly down) --> | |
| <camera name="drone_fpv" pos="0.08 0 -0.01" xyaxes="0 -1 0 0.1 0 1" | |
| fovy="90"/> | |
| </body> | |
| <!-- Target (visual only) --> | |
| <body name="target" pos="3 0 1.5"> | |
| <geom name="target_geom" type="sphere" size="0.3" material="target_mat" | |
| contype="0" conaffinity="0"/> | |
| </body> | |
| <!-- Static overhead camera (does not track drone) --> | |
| <camera name="tracking" pos="0 0 15" xyaxes="1 0 0 0 1 0" mode="fixed" | |
| fovy="70"/> | |
| </worldbody> | |
| <!-- Site-based thrust actuators: force applied in site-local z (tilts with drone) --> | |
| <actuator> | |
| <general name="thrust_fr" site="rotor_fr" gear="0 0 1 0 0 0" ctrllimited="true" | |
| ctrlrange="0 3" gainprm="1" biasprm="0 0 0"/> | |
| <general name="thrust_fl" site="rotor_fl" gear="0 0 1 0 0 0" ctrllimited="true" | |
| ctrlrange="0 3" gainprm="1" biasprm="0 0 0"/> | |
| <general name="thrust_br" site="rotor_br" gear="0 0 1 0 0 0" ctrllimited="true" | |
| ctrlrange="0 3" gainprm="1" biasprm="0 0 0"/> | |
| <general name="thrust_bl" site="rotor_bl" gear="0 0 1 0 0 0" ctrllimited="true" | |
| ctrlrange="0 3" gainprm="1" biasprm="0 0 0"/> | |
| </actuator> | |
| </mujoco> | |