<mujoco> <size nkey="1" /> <asset> <texture type="skybox" builtin="gradient" rgb1="1 1 1" rgb2="0.6 0.8 1" width="256" height="1536"/> </asset> <worldbody> <light dir="0 0 -1" pos="0 0 3" diffuse=".5 .5 .5"/> <!-- light --> <geom type="plane" size="4 4 0.1" rgba="0.8 0.8 0.8 0.8"/> <!-- plane --> <body name ="trunk" pos="0 0 1.35" euler="0 0 0"> <!-- base body --> <freejoint/> <inertial pos="0 0 0" mass="12" diaginertia="0.01 0.01 0.01"/> <geom type="box" size="0.1 0.3 0.2" rgba="1 0 0 1"/> <body name="left_thigh" pos="0 -0.325 -0.45" euler="0 0 0"> <inertial pos="0 0 0" mass="3" diaginertia="0.01 0.01 0.01"/> <geom type="capsule" size="0.025 0.22" rgba=" 0 0 1 1"/> <joint name="L_hip" type="hinge" pos="0 0 0.25" axis="1 0 0" range='-180 180' stiffness='1' armature='0.0060'/> <joint name="L_upper" type="hinge" pos="0 0 0.25" axis="0 1 0" range='-180 180' stiffness='1' armature='0.0060'/> <body name="left_shank" pos="0 0 -0.5" euler="0 0 0"> <inertial pos="0 0 0" mass="3" diaginertia="0.01 0.01 0.01"/> <geom type="capsule" size="0.025 0.22" rgba=" 0 0 1 1"/> <joint name="L_lower" type="hinge" pos="0 0 0.25" axis="0 1 0" range='-180 180' stiffness='1' armature='0.0060'/> <body name="left_wheel" pos="0 -0.05 -0.25" euler="90 0 0"> <inertial pos="0 0 0" mass="3" diaginertia="0.01 0.01 0.01"/> <geom type="ellipsoid" size="0.15 0.15 0.02" rgba=" 0 1 0 1"/> <joint name="L_wheel" type="hinge" pos="0 0 0" axis="0 0 -1"/> </body> </body> </body> <body name="right_thigh" pos="0 0.325 -0.45" euler="0 0 0"> <inertial pos="0 0 0" mass="3" diaginertia="0.01 0.01 0.01"/> <geom type="capsule" size="0.025 0.22" rgba=" 0 0 1 1"/> <joint name="R_hip" type="hinge" pos="0 0 0.25" axis="1 0 0" range='-180 180' stiffness='1' armature='0.0060'/> <joint name="R_upper" type="hinge" pos="0 0 0.25" axis="0 1 0" range='-180 180' stiffness='1' armature='0.0060'/> <body name="right_shank" pos="0 0 -0.5" euler="0 0 0"> <inertial pos="0 0 0" mass="3" diaginertia="0.01 0.01 0.01"/> <geom type="capsule" size="0.025 0.22" rgba=" 0 0 1 1"/> <joint name="R_lower" type="hinge" pos="0 0 0.25" axis="0 1 0" range='-180 180' stiffness='1' armature='0.0060'/> <body name="right_wheel" pos="0 0.05 -0.25" euler="90 0 0"> <inertial pos="0 0 0" mass="3" diaginertia="0.01 0.01 0.01"/> <geom type="ellipsoid" size="0.15 0.15 0.02" rgba=" 0 1 0 1"/> <joint name="R_wheel" type="hinge" pos="0 0 0" axis="0 0 -1"/> </body> </body> </body> </body> </worldbody> <actuator> <motor name="M_L_hip" gear="1" joint="L_hip"/> <motor name="M_L_upper" gear="1" joint="L_upper"/> <motor name="M_L_lower" gear="1" joint="L_lower"/> <motor name="M_L_wheel" gear="1" joint="L_wheel"/> <motor name="M_R_hip" gear="1" joint="R_hip"/> <motor name="M_R_upper" gear="1" joint="R_upper"/> <motor name="M_R_lower" gear="1" joint="R_lower"/> <motor name="M_R_wheel" gear="1" joint="R_wheel"/> </actuator> <sensor> <jointpos name="S_R_upper" joint="R_upper"/> <framepos name="F_R_wheel" objtype="body" objname="right_wheel"/> </sensor> <keyframe> <key time="0" qpos="0 0.524 -1.047 0 0 0.524 -1.047 0" /> </keyframe> </mujoco> Hi, I am trying to research a biped on the wheel. For the initial joint values, I defined a keyframe at time="0" and get the initial pose by mju_copy(d->qpos, m->key_qpos, m->nq*1) But, it does not work and send message that Unhandled exception at 0x00afb9c0 in simulation_cpp.exe: 0xC0000005: Access violation reading location 0x00000004. I think the problem is around the free joint. If I erase "<freejoint />" , then the simulation is run. (I guess that the dimension of "qpos" is not 8 with the freejoint.) Please let me figure out the problem. Thank you.
The free joint has 7 numbers for qpos: 3D position followed by 4D unit quaternion. Note that if you are also specifying velocities in keyframes, the free joint has 6 numbers: 3D translational velocity followed by 3D rotational velocity.