mjlab/tests/fixtures/quadcopter.xml
Upstream Snapshot 32a241c28f
Some checks failed
nightly / Test against latest dependencies (py3.10) (push) Has been cancelled
nightly / Test against latest dependencies (py3.13) (push) Has been cancelled
tests / tests (3.13, locked) (push) Has been cancelled
tests / tests (3.13, unlocked) (push) Has been cancelled
tests / pyright (3.10) (push) Has been cancelled
tests / lint-format (push) Has been cancelled
tests / tests (3.10, locked) (push) Has been cancelled
tests / tests (3.11, locked) (push) Has been cancelled
tests / tests (3.12, locked) (push) Has been cancelled
tests / pyright (3.11) (push) Has been cancelled
tests / pyright (3.12) (push) Has been cancelled
tests / pyright (3.13) (push) Has been cancelled
tests / ty-check (3.10) (push) Has been cancelled
tests / ty-check (3.11) (push) Has been cancelled
tests / ty-check (3.12) (push) Has been cancelled
tests / ty-check (3.13) (push) Has been cancelled
tests / stubs (push) Has been cancelled
tests / smoke-test (push) Has been cancelled
Docker / check_paths (push) Has been cancelled
docs / build (push) Has been cancelled
Docker / build (push) Has been cancelled
Import upstream snapshot c19f713c415a699a79d71cd96aa13c3104a05047
Upstream: https://github.com/michaelgillett/mjlab
Upstream-Commit: c19f713c415a699a79d71cd96aa13c3104a05047
Upstream-Branch: main
2026-08-28 15:42:17 +08:00

44 lines
1.8 KiB
XML

<mujoco model="quadcopter">
<compiler angle="radian" autolimits="true"/>
<option timestep="0.002" integrator="implicitfast" gravity="0 0 -9.81"/>
<default>
<geom rgba="0.5 0.5 0.5 1"/>
<site size="0.01" rgba="1 0 0 1"/>
</default>
<worldbody>
<light pos="0 0 3" dir="0 0 -1" diffuse="0.8 0.8 0.8"/>
<geom type="plane" size="5 5 0.1" rgba="0.9 0.9 0.9 1"/>
<body name="base" pos="0 0 0.5">
<freejoint name="root"/>
<inertial pos="0 0 0" mass="1.0" diaginertia="0.01 0.01 0.02"/>
<!-- Central body -->
<geom type="box" size="0.1 0.1 0.02" rgba="0.3 0.3 0.8 1"/>
<!-- Rotor sites at corners -->
<site name="rotor_fl" pos="0.1 0.1 0"/>
<site name="rotor_fr" pos="0.1 -0.1 0"/>
<site name="rotor_rl" pos="-0.1 0.1 0"/>
<site name="rotor_rr" pos="-0.1 -0.1 0"/>
<!-- Visual rotor geoms (non-collision) -->
<geom name="rotor_fl_vis" type="cylinder" size="0.05 0.005" pos="0.1 0.1 0" rgba="1 0 0 0.5" contype="0" conaffinity="0"/>
<geom name="rotor_fr_vis" type="cylinder" size="0.05 0.005" pos="0.1 -0.1 0" rgba="1 0 0 0.5" contype="0" conaffinity="0"/>
<geom name="rotor_rl_vis" type="cylinder" size="0.05 0.005" pos="-0.1 0.1 0" rgba="1 0 0 0.5" contype="0" conaffinity="0"/>
<geom name="rotor_rr_vis" type="cylinder" size="0.05 0.005" pos="-0.1 -0.1 0" rgba="1 0 0 0.5" contype="0" conaffinity="0"/>
</body>
</worldbody>
<actuator>
<!-- Site actuators applying vertical thrust forces -->
<motor name="thrust_fl" site="rotor_fl" gear="0 0 1 0 0 0" ctrlrange="0 20"/>
<motor name="thrust_fr" site="rotor_fr" gear="0 0 1 0 0 0" ctrlrange="0 20"/>
<motor name="thrust_rl" site="rotor_rl" gear="0 0 1 0 0 0" ctrlrange="0 20"/>
<motor name="thrust_rr" site="rotor_rr" gear="0 0 1 0 0 0" ctrlrange="0 20"/>
</actuator>
</mujoco>