The fields of mjData, read one at a time.
Each function is one call into MuJoCo that copies the field out, so the answer is a value: it does not change under you when the next step runs.
- a scalar answers a number —
narena/1answers an integer; - an array answers an
ExMujoco.Tensor, with the element type and the shape, because a bare binary would have lost both; - a field MuJoCo gives no extent to is not here at all, and
docs/coverage.mdsays which, and why.
The names are MuJoCo's own — geom_pos, qpos, efc_force — so the
documentation for a field is MuJoCo's documentation for that field.
Summary
Functions
act — actuator activation (na x 1)
act_dot — time-derivative of actuator activation (na x 1)
actuator_force — actuator force in actuation space (nout x 1)
actuator_length — actuator lengths, one per force output (nout x 1)
actuator_moment — actuator moments (nJmom x 1)
actuator_velocity — actuator velocities, one per force output (nout x 1)
body_awake — body sleep state (mjtSleepState) (nbody x 1)
body_awake_ind — indices of awake and static bodies (nbody x 1)
bvh_aabb_dyn — global bounding box (center, size) (nbvhdynamic x 6)
bvh_active — was bounding volume checked for collision (nbvh x 1)
cacc — com-based acceleration (nbody x 6)
cam_xmat — Cartesian camera orientation (ncam x 9)
cam_xpos — Cartesian camera position (ncam x 3)
cdof — com-based motion axis of each dof (rot:lin) (nv x 6)
cdof_dot — time-derivative of cdof (rot:lin) (nv x 6)
cfrc_ext — com-based external force on body (nbody x 6)
cfrc_int — com-based interaction force with parent (nbody x 6)
cinert — com-based body inertia and mass (nbody x 10)
crb — com-based composite inertia and mass (nbody x 10)
ctrl — control (nu x 1)
cvel — com-based velocity (rot:lin) (nbody x 6)
dof_awake_ind — indices of awake dofs (nv x 1)
dof_island — island id of this dof; -1: none (nv x 1)
efc_AR — Jinv(M)J' + R (nA x 1)
efc_AR_colind — column indices in sparse AR (nA x 1)
efc_AR_rowadr — row start address in AR colind array (nefc x 1)
efc_AR_rownnz — number of non-zeros in AR (nefc x 1)
efc_aref — reference pseudo-acceleration (nefc x 1)
efc_b — linear cost term: J*qacc_smooth - aref (nefc x 1)
efc_D — constraint mass (nefc x 1)
efc_diagA — diagonal of A matrix, approximate or exact (nefc x 1)
efc_force — constraint force in constraint space (nefc x 1)
efc_frictionloss — frictionloss (friction) (nefc x 1)
efc_id — id of object of specified type (nefc x 1)
efc_island — island id of this constraint (nefc x 1)
efc_J — constraint Jacobian (nJ x 1)
efc_J_colind — column indices in constraint Jacobian (nJ x 1)
efc_J_rowadr — row start address in colind array (nefc x 1)
efc_J_rownnz — number of non-zeros in constraint Jacobian row (nefc x 1)
efc_J_rowsuper — number of subsequent rows in supernode (nefc x 1)
efc_KBIP — stiffness, damping, impedance, imp' (nefc x 4)
efc_margin — inclusion margin (contact) (nefc x 1)
efc_pos — constraint position (equality, contact) (nefc x 1)
efc_R — inverse constraint mass (nefc x 1)
efc_state — constraint state (mjtConstraintState) (nefc x 1)
efc_type — constraint type (mjtConstraint) (nefc x 1)
efc_vel — velocity in constraint space: J*qvel (nefc x 1)
efc_Y — whitened Jacobian Y = J*M^(-1/2) (nY x 1)
efc_Y_colind — column indices in sparse Y (nY x 1)
efc_Y_rowadr — row start address in Y colind array (nefc x 1)
efc_Y_rownnz — number of non-zeros in Y row (nefc x 1)
efm_active — effective metric M+K: 0 off, 1 on, 2 on with general flex CSR
efm_aid — ids of actuators with terms in the metric (nactuator x 1)
efm_ak — actuator stiffness h*gp, aid indexed (nactuator x 1)
efm_as — actuator metric scale h^2gp + hgv, aid indexed (nactuator x 1)
efm_c — smooth-force shift hKqvel (nv x 1)
efm_ca — actuation-stage smooth-force shift (nv x 1)
efm_ck — diagonal stiffness h*k, for the smooth shift (nv x 1)
efm_con_ind — contact rows, packed [nnz, conid, colind...] (nefmcon x 1)
efm_con_val — contact rows, packed [scale, force, val...] (nefmcon x 1)
efm_diag — effective-metric diagonal hD + h^2K (nv x 1)
efm_dofid — block k -> dof address of its vertex triple (nefmdof x 1)
efm_fluid — fluid drag blocks in M's sparsity pattern (nC x 1)
efm_K_colind — effective-stiffness CSR column indices (nefmK x 1)
efm_K_rowadr — effective-stiffness CSR row addresses (nv x 1)
efm_K_rownnz — effective-stiffness CSR row nonzeros (nv x 1)
efm_K_val — effective-stiffness CSR values (nefmK x 1)
efm_L — packed Cholesky factor of M+K or island lists (nefmL x 1)
efm_sdiag — diagonal additions to M in the backbone (nv x 1)
efm_tid — ids of tendons with terms in the metric (ntendon x 1)
efm_tk — tendon stiffness h*k for shift, tid indexed (ntendon x 1)
efm_ts — tendon metric scale h^2k + hb, tid indexed (ntendon x 1)
energy — potential, kinetic energy
eq_active — enable/disable constraints (neq x 1)
flex_hessian_valid — Cartesian stretch Hessian cache is current (nflex x 1)
flexedge_hessian — oriented off-diagonal Hessian blocks (nflexedge x 9)
flexedge_J — flex edge Jacobian (nJfe x 1)
flexedge_length — flex edge lengths (nflexedge x 1)
flexedge_velocity — flex edge velocities (nflexedge x 1)
flexelem_aabb — flex element bounding boxes (center, size) (nflexelem x 6)
flexelem_krot — corotated element stiffness (implicit only) (nflexstiffness x 1)
flexvert_conage — flex contact age: <0 loaded, >0 steps since (nflexvert x 1)
flexvert_hessian — symmetric diagonal Hessian blocks (nflexvert x 6)
flexvert_lambda — flex contact multiplier (nflexvert x 1)
flexvert_xpos — Cartesian flex vertex positions (nflexvert x 3)
flg_energypos — has mj_energyPos been called
flg_energyvel — has mj_energyVel been called
flg_rnepost — has mj_rnePostConstraint been called
flg_subtreevel — has mj_subtreeVel been called
geom_xmat — Cartesian geom orientation (ngeom x 9)
geom_xpos — Cartesian geom position (ngeom x 3)
geom_xquat — Cartesian geom orientation (ngeom x 4)
history — history buffer (nhistory x 1)
iacc — acceleration (nidof x 1)
iacc_smooth — unconstrained acceleration (nidof x 1)
iefc_aref — reference pseudo-acceleration (nefc x 1)
iefc_D — constraint mass (nefc x 1)
iefc_force — constraint force in constraint space (nefc x 1)
iefc_frictionloss — frictionloss (friction) (nefc x 1)
iefc_id — id of object of specified type (nefc x 1)
iefc_R — inverse constraint mass (nefc x 1)
iefc_state — constraint state (mjtConstraintState) (nefc x 1)
iefc_type — constraint type (mjtConstraint) (nefc x 1)
ifrc_constraint — constraint force (nidof x 1)
ifrc_smooth — net unconstrained force (nidof x 1)
island_dofadr — island start address in dof vector (nisland x 1)
island_idofadr — island start address in idof vector (nisland x 1)
island_iefcadr — start address in iefc vector (nisland x 1)
island_itreeadr — island start address in itree vector (nisland x 1)
island_ne — number of equality constraints in island (nisland x 1)
island_nefc — number of constraints in island (nisland x 1)
island_nf — number of friction constraints in island (nisland x 1)
island_ntree — number of trees in this island (nisland x 1)
island_nv — number of dofs in this island (nisland x 1)
light_xdir — Cartesian light direction (nlight x 3)
light_xpos — Cartesian light position (nlight x 3)
M — inertia (sparse) (nC x 1)
map_dof2idof — map from dof to idof (nv x 1)
map_efc2iefc — map from efc to iefc (nefc x 1)
map_idof2dof — map from idof to dof; >= nidof: unconstrained (nv x 1)
map_iefc2efc — map from iefc to efc (nefc x 1)
map_itree2tree — map from itree to tree (ntree x 1)
maxuse_arena — maximum arena allocation in bytes
maxuse_con — maximum number of contacts
maxuse_efc — maximum number of scalar constraints
maxuse_stack — maximum stack allocation in bytes (mutable)
mocap_pos — positions of mocap bodies (nmocap x 3)
mocap_quat — orientations of mocap bodies (nmocap x 4)
moment_colind — column indices in sparse Jacobian (nJmom x 1)
moment_rowadr — row start address in colind array (nout x 1)
moment_rownnz — number of non-zeros in actuator_moment row (nout x 1)
nA — number of non-zeros in constraint inverse inertia matrix
narena — size of the arena in bytes (inclusive of the stack)
nbody_awake — number of awake dynamic and static bodies
nbuffer — size of main buffer in bytes
ncon — number of detected contacts
ne — number of equality constraints
nefc — number of constraints
nefmA — number of actuators with terms in the metric
nefmcon — packed length of the contact rank-1 rows
nefmdof — number of covered vertex triples in the effective metric
nefmK — number of non-zeros in effective-stiffness CSR
nefmL — size of efm_L (packed Cholesky factor or island lists)
nefmT — number of tendons with terms in the metric
nf — number of friction constraints
nidof — number of dofs in all islands
nisland — number of detected constraint islands
nJ — number of non-zeros in constraint Jacobian
nl — number of limit constraints
nparent_awake — number of bodies with awake parents
nplugin — number of plugin instances
ntree_awake — number of awake trees
nv_awake — number of awake dofs
nY — number of non-zeros in constraint inverse inertia square root
parena — first available byte in arena
parent_awake_ind — indices of bodies with awake or static parents (nbody x 1)
pbase — value of pstack when mj_markStack was last called (mutable)
plastic — plastic state (nplastic x 1)
plugin — copy of m->plugin, required for deletion (nplugin x 1)
plugin_state — plugin state (npluginstate x 1)
pstack — first available byte in stack (mutable)
qacc — acceleration (nv x 1)
qacc_smooth — unconstrained acceleration (nv x 1)
qacc_warmstart — acceleration used for warmstart (nv x 1)
qDeriv — d (passive + actuator - bias) / d qvel (nD x 1)
qfrc_actuator — actuator force in joint space (nv x 1)
qfrc_adhesion — passive contact adhesion force (nv x 1)
qfrc_applied — applied generalized force (nv x 1)
qfrc_bias — C(qpos,qvel) (nv x 1)
qfrc_constraint — constraint force (flag ipc: incl. flex contact) (nv x 1)
qfrc_damper — passive damper force (nv x 1)
qfrc_fluid — passive fluid force (nv x 1)
qfrc_gravcomp — passive gravity compensation force (nv x 1)
qfrc_inverse — net external force; should equal
qfrc_passive — total passive force (nv x 1)
qfrc_smooth — net unconstrained force (nv x 1)
qfrc_spring — passive spring force (nv x 1)
qH — L'DL factorization of modified M (nC x 1)
qHDiagInv — 1/diag(D) of modified M (nv x 1)
qLD — L'DL factorization of M (sparse) (nC x 1)
qLDiagInv — 1/diag(D) (nv x 1)
qLU — sparse LU of (M - dt*qDeriv) (nD x 1)
qpos — position (nq x 1)
qvel — velocity (nv x 1)
sensordata — sensor data array (nsensordata x 1)
site_xmat — Cartesian site orientation (nsite x 9)
site_xpos — Cartesian site position (nsite x 3)
site_xquat — Cartesian site orientation (nsite x 4)
solver_fwdinv — forward-inverse comparison: qfrc, efc
solver_niter — number of solver iterations, per island
solver_nnz — number of nonzeros in solver matrix, per island
subtree_angmom — angular momentum about subtree com (nbody x 3)
subtree_com — center of mass of each subtree (nbody x 3)
subtree_linvel — linear velocity of subtree com (nbody x 3)
ten_J — tendon Jacobian (nJten x 1)
ten_length — tendon lengths (ntendon x 1)
ten_velocity — tendon velocities (ntendon x 1)
ten_wrapadr — start address of tendon's path (ntendon x 1)
ten_wrapnum — number of wrap points in path (ntendon x 1)
tendon_efcadr — first efc address involving tendon; -1: none (ntendon x 1)
threadlock — disable stack freeing during threaded execution
threadpool — thread pool pointer
time — simulation time
tree_asleep — <0: awake; >=0: index cycle of sleeping trees (ntree x 1)
tree_awake — is tree awake; 0: asleep; 1: awake (ntree x 1)
tree_island — island id of this tree; -1: none (ntree x 1)
userdata — user data, not touched by engine (nuserdata x 1)
wrap_obj — geom id; -1: site; -2: pulley (nwrap x 2)
wrap_xpos — Cartesian 3D points in all paths (nwrap x 6)
xanchor — Cartesian position of joint anchor (njnt x 3)
xaxis — Cartesian joint axis (njnt x 3)
xfrc_applied — applied Cartesian force/torque (nbody x 6)
ximat — Cartesian orientation of body inertia (nbody x 9)
xipos — Cartesian position of body com (nbody x 3)
xiquat — Cartesian orientation of body inertia (nbody x 4)
xmat — Cartesian orientation of body frame (nbody x 9)
xpos — Cartesian position of body frame (nbody x 3)
xquat — Cartesian orientation of body frame (nbody x 4)
Types
@type t() :: reference()
An mjData this process holds.
Functions
@spec act(t()) :: ExMujoco.Tensor.t()
act — actuator activation (na x 1)
mjtNum* in C, na × 1.
@spec act_dot(t()) :: ExMujoco.Tensor.t()
act_dot — time-derivative of actuator activation (na x 1)
mjtNum* in C, na × 1.
@spec actuator_force(t()) :: ExMujoco.Tensor.t()
actuator_force — actuator force in actuation space (nout x 1)
mjtNum* in C, nout × 1.
@spec actuator_length(t()) :: ExMujoco.Tensor.t()
actuator_length — actuator lengths, one per force output (nout x 1)
mjtNum* in C, nout × 1.
@spec actuator_moment(t()) :: ExMujoco.Tensor.t()
actuator_moment — actuator moments (nJmom x 1)
mjtNum* in C, nJmom × 1.
@spec actuator_velocity(t()) :: ExMujoco.Tensor.t()
actuator_velocity — actuator velocities, one per force output (nout x 1)
mjtNum* in C, nout × 1.
@spec body_awake(t()) :: ExMujoco.Tensor.t()
body_awake — body sleep state (mjtSleepState) (nbody x 1)
int* in C, nbody × 1.
@spec body_awake_ind(t()) :: ExMujoco.Tensor.t()
body_awake_ind — indices of awake and static bodies (nbody x 1)
int* in C, nbody × 1.
@spec bvh_aabb_dyn(t()) :: ExMujoco.Tensor.t()
bvh_aabb_dyn — global bounding box (center, size) (nbvhdynamic x 6)
mjtNum* in C, nbvhdynamic × 6.
@spec bvh_active(t()) :: ExMujoco.Tensor.t()
bvh_active — was bounding volume checked for collision (nbvh x 1)
mjtBool* in C, nbvh × 1.
@spec cacc(t()) :: ExMujoco.Tensor.t()
cacc — com-based acceleration (nbody x 6)
mjtNum* in C, nbody × 6.
@spec cam_xmat(t()) :: ExMujoco.Tensor.t()
cam_xmat — Cartesian camera orientation (ncam x 9)
mjtNum* in C, ncam × 9.
@spec cam_xpos(t()) :: ExMujoco.Tensor.t()
cam_xpos — Cartesian camera position (ncam x 3)
mjtNum* in C, ncam × 3.
@spec cdof(t()) :: ExMujoco.Tensor.t()
cdof — com-based motion axis of each dof (rot:lin) (nv x 6)
mjtNum* in C, nv × 6.
@spec cdof_dot(t()) :: ExMujoco.Tensor.t()
cdof_dot — time-derivative of cdof (rot:lin) (nv x 6)
mjtNum* in C, nv × 6.
@spec cfrc_ext(t()) :: ExMujoco.Tensor.t()
cfrc_ext — com-based external force on body (nbody x 6)
mjtNum* in C, nbody × 6.
@spec cfrc_int(t()) :: ExMujoco.Tensor.t()
cfrc_int — com-based interaction force with parent (nbody x 6)
mjtNum* in C, nbody × 6.
@spec cinert(t()) :: ExMujoco.Tensor.t()
cinert — com-based body inertia and mass (nbody x 10)
mjtNum* in C, nbody × 10.
@spec crb(t()) :: ExMujoco.Tensor.t()
crb — com-based composite inertia and mass (nbody x 10)
mjtNum* in C, nbody × 10.
@spec ctrl(t()) :: ExMujoco.Tensor.t()
ctrl — control (nu x 1)
mjtNum* in C, nu × 1.
@spec cvel(t()) :: ExMujoco.Tensor.t()
cvel — com-based velocity (rot:lin) (nbody x 6)
mjtNum* in C, nbody × 6.
@spec dof_awake_ind(t()) :: ExMujoco.Tensor.t()
dof_awake_ind — indices of awake dofs (nv x 1)
int* in C, nv × 1.
@spec dof_island(t()) :: ExMujoco.Tensor.t()
dof_island — island id of this dof; -1: none (nv x 1)
int* in C, nv@model × 1.
@spec efc_AR(t()) :: ExMujoco.Tensor.t()
efc_AR — Jinv(M)J' + R (nA x 1)
mjtNum* in C, nA@data × 1.
@spec efc_AR_colind(t()) :: ExMujoco.Tensor.t()
efc_AR_colind — column indices in sparse AR (nA x 1)
int* in C, nA@data × 1.
@spec efc_AR_rowadr(t()) :: ExMujoco.Tensor.t()
efc_AR_rowadr — row start address in AR colind array (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_AR_rownnz(t()) :: ExMujoco.Tensor.t()
efc_AR_rownnz — number of non-zeros in AR (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_aref(t()) :: ExMujoco.Tensor.t()
efc_aref — reference pseudo-acceleration (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_b(t()) :: ExMujoco.Tensor.t()
efc_b — linear cost term: J*qacc_smooth - aref (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_D(t()) :: ExMujoco.Tensor.t()
efc_D — constraint mass (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_diagA(t()) :: ExMujoco.Tensor.t()
efc_diagA — diagonal of A matrix, approximate or exact (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_force(t()) :: ExMujoco.Tensor.t()
efc_force — constraint force in constraint space (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_frictionloss(t()) :: ExMujoco.Tensor.t()
efc_frictionloss — frictionloss (friction) (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_id(t()) :: ExMujoco.Tensor.t()
efc_id — id of object of specified type (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_island(t()) :: ExMujoco.Tensor.t()
efc_island — island id of this constraint (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_J(t()) :: ExMujoco.Tensor.t()
efc_J — constraint Jacobian (nJ x 1)
mjtNum* in C, nJ@data × 1.
@spec efc_J_colind(t()) :: ExMujoco.Tensor.t()
efc_J_colind — column indices in constraint Jacobian (nJ x 1)
int* in C, nJ@data × 1.
@spec efc_J_rowadr(t()) :: ExMujoco.Tensor.t()
efc_J_rowadr — row start address in colind array (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_J_rownnz(t()) :: ExMujoco.Tensor.t()
efc_J_rownnz — number of non-zeros in constraint Jacobian row (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_J_rowsuper(t()) :: ExMujoco.Tensor.t()
efc_J_rowsuper — number of subsequent rows in supernode (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_KBIP(t()) :: ExMujoco.Tensor.t()
efc_KBIP — stiffness, damping, impedance, imp' (nefc x 4)
mjtNum* in C, nefc@data × 4.
@spec efc_margin(t()) :: ExMujoco.Tensor.t()
efc_margin — inclusion margin (contact) (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_pos(t()) :: ExMujoco.Tensor.t()
efc_pos — constraint position (equality, contact) (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_R(t()) :: ExMujoco.Tensor.t()
efc_R — inverse constraint mass (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_state(t()) :: ExMujoco.Tensor.t()
efc_state — constraint state (mjtConstraintState) (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_type(t()) :: ExMujoco.Tensor.t()
efc_type — constraint type (mjtConstraint) (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_vel(t()) :: ExMujoco.Tensor.t()
efc_vel — velocity in constraint space: J*qvel (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec efc_Y(t()) :: ExMujoco.Tensor.t()
efc_Y — whitened Jacobian Y = J*M^(-1/2) (nY x 1)
mjtNum* in C, nY@data × 1.
@spec efc_Y_colind(t()) :: ExMujoco.Tensor.t()
efc_Y_colind — column indices in sparse Y (nY x 1)
int* in C, nY@data × 1.
@spec efc_Y_rowadr(t()) :: ExMujoco.Tensor.t()
efc_Y_rowadr — row start address in Y colind array (nefc x 1)
int* in C, nefc@data × 1.
@spec efc_Y_rownnz(t()) :: ExMujoco.Tensor.t()
efc_Y_rownnz — number of non-zeros in Y row (nefc x 1)
int* in C, nefc@data × 1.
efm_active — effective metric M+K: 0 off, 1 on, 2 on with general flex CSR
int in C, read as an integer.
@spec efm_aid(t()) :: ExMujoco.Tensor.t()
efm_aid — ids of actuators with terms in the metric (nactuator x 1)
int* in C, nactuator@model × 1.
@spec efm_ak(t()) :: ExMujoco.Tensor.t()
efm_ak — actuator stiffness h*gp, aid indexed (nactuator x 1)
mjtNum* in C, nactuator@model × 1.
@spec efm_as(t()) :: ExMujoco.Tensor.t()
efm_as — actuator metric scale h^2gp + hgv, aid indexed (nactuator x 1)
mjtNum* in C, nactuator@model × 1.
@spec efm_c(t()) :: ExMujoco.Tensor.t()
efm_c — smooth-force shift hKqvel (nv x 1)
mjtNum* in C, nv@model × 1.
@spec efm_ca(t()) :: ExMujoco.Tensor.t()
efm_ca — actuation-stage smooth-force shift (nv x 1)
mjtNum* in C, nv@model × 1.
@spec efm_ck(t()) :: ExMujoco.Tensor.t()
efm_ck — diagonal stiffness h*k, for the smooth shift (nv x 1)
mjtNum* in C, nv@model × 1.
@spec efm_con_ind(t()) :: ExMujoco.Tensor.t()
efm_con_ind — contact rows, packed [nnz, conid, colind...] (nefmcon x 1)
int* in C, nefmcon@data × 1.
@spec efm_con_val(t()) :: ExMujoco.Tensor.t()
efm_con_val — contact rows, packed [scale, force, val...] (nefmcon x 1)
mjtNum* in C, nefmcon@data × 1.
@spec efm_diag(t()) :: ExMujoco.Tensor.t()
efm_diag — effective-metric diagonal hD + h^2K (nv x 1)
mjtNum* in C, nv@model × 1.
@spec efm_dofid(t()) :: ExMujoco.Tensor.t()
efm_dofid — block k -> dof address of its vertex triple (nefmdof x 1)
int* in C, nefmdof@data × 1.
@spec efm_fluid(t()) :: ExMujoco.Tensor.t()
efm_fluid — fluid drag blocks in M's sparsity pattern (nC x 1)
mjtNum* in C, nC@model × 1.
@spec efm_K_colind(t()) :: ExMujoco.Tensor.t()
efm_K_colind — effective-stiffness CSR column indices (nefmK x 1)
int* in C, nefmK@data × 1.
@spec efm_K_rowadr(t()) :: ExMujoco.Tensor.t()
efm_K_rowadr — effective-stiffness CSR row addresses (nv x 1)
int* in C, nv@model × 1.
@spec efm_K_rownnz(t()) :: ExMujoco.Tensor.t()
efm_K_rownnz — effective-stiffness CSR row nonzeros (nv x 1)
int* in C, nv@model × 1.
@spec efm_K_val(t()) :: ExMujoco.Tensor.t()
efm_K_val — effective-stiffness CSR values (nefmK x 1)
mjtNum* in C, nefmK@data × 1.
@spec efm_L(t()) :: ExMujoco.Tensor.t()
efm_L — packed Cholesky factor of M+K or island lists (nefmL x 1)
mjtNum* in C, nefmL@data × 1.
@spec efm_sdiag(t()) :: ExMujoco.Tensor.t()
efm_sdiag — diagonal additions to M in the backbone (nv x 1)
mjtNum* in C, nv@model × 1.
@spec efm_tid(t()) :: ExMujoco.Tensor.t()
efm_tid — ids of tendons with terms in the metric (ntendon x 1)
int* in C, ntendon@model × 1.
@spec efm_tk(t()) :: ExMujoco.Tensor.t()
efm_tk — tendon stiffness h*k for shift, tid indexed (ntendon x 1)
mjtNum* in C, ntendon@model × 1.
@spec efm_ts(t()) :: ExMujoco.Tensor.t()
efm_ts — tendon metric scale h^2k + hb, tid indexed (ntendon x 1)
mjtNum* in C, ntendon@model × 1.
@spec energy(t()) :: ExMujoco.Tensor.t()
energy — potential, kinetic energy
mjtNum in C, 2 × 1.
@spec eq_active(t()) :: ExMujoco.Tensor.t()
eq_active — enable/disable constraints (neq x 1)
mjtBool* in C, neq × 1.
@spec flex_hessian_valid(t()) :: ExMujoco.Tensor.t()
flex_hessian_valid — Cartesian stretch Hessian cache is current (nflex x 1)
mjtBool* in C, nflex × 1.
@spec flexedge_hessian(t()) :: ExMujoco.Tensor.t()
flexedge_hessian — oriented off-diagonal Hessian blocks (nflexedge x 9)
mjtNum* in C, nflexedge × 9.
@spec flexedge_J(t()) :: ExMujoco.Tensor.t()
flexedge_J — flex edge Jacobian (nJfe x 1)
mjtNum* in C, nJfe × 1.
@spec flexedge_length(t()) :: ExMujoco.Tensor.t()
flexedge_length — flex edge lengths (nflexedge x 1)
mjtNum* in C, nflexedge × 1.
@spec flexedge_velocity(t()) :: ExMujoco.Tensor.t()
flexedge_velocity — flex edge velocities (nflexedge x 1)
mjtNum* in C, nflexedge × 1.
@spec flexelem_aabb(t()) :: ExMujoco.Tensor.t()
flexelem_aabb — flex element bounding boxes (center, size) (nflexelem x 6)
mjtNum* in C, nflexelem × 6.
@spec flexelem_krot(t()) :: ExMujoco.Tensor.t()
flexelem_krot — corotated element stiffness (implicit only) (nflexstiffness x 1)
mjtNum* in C, nflexstiffness × 1.
@spec flexvert_conage(t()) :: ExMujoco.Tensor.t()
flexvert_conage — flex contact age: <0 loaded, >0 steps since (nflexvert x 1)
int* in C, nflexvert × 1.
@spec flexvert_hessian(t()) :: ExMujoco.Tensor.t()
flexvert_hessian — symmetric diagonal Hessian blocks (nflexvert x 6)
mjtNum* in C, nflexvert × 6.
@spec flexvert_lambda(t()) :: ExMujoco.Tensor.t()
flexvert_lambda — flex contact multiplier (nflexvert x 1)
mjtNum* in C, nflexvert × 1.
@spec flexvert_xpos(t()) :: ExMujoco.Tensor.t()
flexvert_xpos — Cartesian flex vertex positions (nflexvert x 3)
mjtNum* in C, nflexvert × 3.
flg_energypos — has mj_energyPos been called
mjtBool in C, read as an integer.
flg_energyvel — has mj_energyVel been called
mjtBool in C, read as an integer.
flg_rnepost — has mj_rnePostConstraint been called
mjtBool in C, read as an integer.
flg_subtreevel — has mj_subtreeVel been called
mjtBool in C, read as an integer.
@spec geom_xmat(t()) :: ExMujoco.Tensor.t()
geom_xmat — Cartesian geom orientation (ngeom x 9)
mjtNum* in C, ngeom × 9.
@spec geom_xpos(t()) :: ExMujoco.Tensor.t()
geom_xpos — Cartesian geom position (ngeom x 3)
mjtNum* in C, ngeom × 3.
@spec geom_xquat(t()) :: ExMujoco.Tensor.t()
geom_xquat — Cartesian geom orientation (ngeom x 4)
mjtNum* in C, ngeom × 4.
@spec history(t()) :: ExMujoco.Tensor.t()
history — history buffer (nhistory x 1)
mjtNum* in C, nhistory × 1.
@spec iacc(t()) :: ExMujoco.Tensor.t()
iacc — acceleration (nidof x 1)
mjtNum* in C, nidof@data × 1.
@spec iacc_smooth(t()) :: ExMujoco.Tensor.t()
iacc_smooth — unconstrained acceleration (nidof x 1)
mjtNum* in C, nidof@data × 1.
@spec iefc_aref(t()) :: ExMujoco.Tensor.t()
iefc_aref — reference pseudo-acceleration (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec iefc_D(t()) :: ExMujoco.Tensor.t()
iefc_D — constraint mass (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec iefc_force(t()) :: ExMujoco.Tensor.t()
iefc_force — constraint force in constraint space (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec iefc_frictionloss(t()) :: ExMujoco.Tensor.t()
iefc_frictionloss — frictionloss (friction) (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec iefc_id(t()) :: ExMujoco.Tensor.t()
iefc_id — id of object of specified type (nefc x 1)
int* in C, nefc@data × 1.
@spec iefc_R(t()) :: ExMujoco.Tensor.t()
iefc_R — inverse constraint mass (nefc x 1)
mjtNum* in C, nefc@data × 1.
@spec iefc_state(t()) :: ExMujoco.Tensor.t()
iefc_state — constraint state (mjtConstraintState) (nefc x 1)
int* in C, nefc@data × 1.
@spec iefc_type(t()) :: ExMujoco.Tensor.t()
iefc_type — constraint type (mjtConstraint) (nefc x 1)
int* in C, nefc@data × 1.
@spec ifrc_constraint(t()) :: ExMujoco.Tensor.t()
ifrc_constraint — constraint force (nidof x 1)
mjtNum* in C, nidof@data × 1.
@spec ifrc_smooth(t()) :: ExMujoco.Tensor.t()
ifrc_smooth — net unconstrained force (nidof x 1)
mjtNum* in C, nidof@data × 1.
@spec island_dofadr(t()) :: ExMujoco.Tensor.t()
island_dofadr — island start address in dof vector (nisland x 1)
int* in C, nisland@data × 1.
@spec island_idofadr(t()) :: ExMujoco.Tensor.t()
island_idofadr — island start address in idof vector (nisland x 1)
int* in C, nisland@data × 1.
@spec island_iefcadr(t()) :: ExMujoco.Tensor.t()
island_iefcadr — start address in iefc vector (nisland x 1)
int* in C, nisland@data × 1.
@spec island_itreeadr(t()) :: ExMujoco.Tensor.t()
island_itreeadr — island start address in itree vector (nisland x 1)
int* in C, nisland@data × 1.
@spec island_ne(t()) :: ExMujoco.Tensor.t()
island_ne — number of equality constraints in island (nisland x 1)
int* in C, nisland@data × 1.
@spec island_nefc(t()) :: ExMujoco.Tensor.t()
island_nefc — number of constraints in island (nisland x 1)
int* in C, nisland@data × 1.
@spec island_nf(t()) :: ExMujoco.Tensor.t()
island_nf — number of friction constraints in island (nisland x 1)
int* in C, nisland@data × 1.
@spec island_ntree(t()) :: ExMujoco.Tensor.t()
island_ntree — number of trees in this island (nisland x 1)
int* in C, nisland@data × 1.
@spec island_nv(t()) :: ExMujoco.Tensor.t()
island_nv — number of dofs in this island (nisland x 1)
int* in C, nisland@data × 1.
@spec light_xdir(t()) :: ExMujoco.Tensor.t()
light_xdir — Cartesian light direction (nlight x 3)
mjtNum* in C, nlight × 3.
@spec light_xpos(t()) :: ExMujoco.Tensor.t()
light_xpos — Cartesian light position (nlight x 3)
mjtNum* in C, nlight × 3.
@spec m(t()) :: ExMujoco.Tensor.t()
M — inertia (sparse) (nC x 1)
mjtNum* in C, nC × 1.
@spec map_dof2idof(t()) :: ExMujoco.Tensor.t()
map_dof2idof — map from dof to idof (nv x 1)
int* in C, nv@model × 1.
@spec map_efc2iefc(t()) :: ExMujoco.Tensor.t()
map_efc2iefc — map from efc to iefc (nefc x 1)
int* in C, nefc@data × 1.
@spec map_idof2dof(t()) :: ExMujoco.Tensor.t()
map_idof2dof — map from idof to dof; >= nidof: unconstrained (nv x 1)
int* in C, nv@model × 1.
@spec map_iefc2efc(t()) :: ExMujoco.Tensor.t()
map_iefc2efc — map from iefc to efc (nefc x 1)
int* in C, nefc@data × 1.
@spec map_itree2tree(t()) :: ExMujoco.Tensor.t()
map_itree2tree — map from itree to tree (ntree x 1)
int* in C, ntree@model × 1.
maxuse_arena — maximum arena allocation in bytes
mjtSize in C, read as an integer.
maxuse_con — maximum number of contacts
int in C, read as an integer.
maxuse_efc — maximum number of scalar constraints
int in C, read as an integer.
maxuse_stack — maximum stack allocation in bytes (mutable)
mjtSize in C, read as an integer.
@spec mocap_pos(t()) :: ExMujoco.Tensor.t()
mocap_pos — positions of mocap bodies (nmocap x 3)
mjtNum* in C, nmocap × 3.
@spec mocap_quat(t()) :: ExMujoco.Tensor.t()
mocap_quat — orientations of mocap bodies (nmocap x 4)
mjtNum* in C, nmocap × 4.
@spec moment_colind(t()) :: ExMujoco.Tensor.t()
moment_colind — column indices in sparse Jacobian (nJmom x 1)
int* in C, nJmom × 1.
@spec moment_rowadr(t()) :: ExMujoco.Tensor.t()
moment_rowadr — row start address in colind array (nout x 1)
int* in C, nout × 1.
@spec moment_rownnz(t()) :: ExMujoco.Tensor.t()
moment_rownnz — number of non-zeros in actuator_moment row (nout x 1)
int* in C, nout × 1.
nA — number of non-zeros in constraint inverse inertia matrix
int in C, read as an integer.
narena — size of the arena in bytes (inclusive of the stack)
mjtSize in C, read as an integer.
nbody_awake — number of awake dynamic and static bodies
int in C, read as an integer.
nbuffer — size of main buffer in bytes
mjtSize in C, read as an integer.
ncon — number of detected contacts
int in C, read as an integer.
ne — number of equality constraints
int in C, read as an integer.
nefc — number of constraints
int in C, read as an integer.
nefmA — number of actuators with terms in the metric
int in C, read as an integer.
nefmcon — packed length of the contact rank-1 rows
int in C, read as an integer.
nefmdof — number of covered vertex triples in the effective metric
int in C, read as an integer.
nefmK — number of non-zeros in effective-stiffness CSR
int in C, read as an integer.
nefmL — size of efm_L (packed Cholesky factor or island lists)
int in C, read as an integer.
nefmT — number of tendons with terms in the metric
int in C, read as an integer.
nf — number of friction constraints
int in C, read as an integer.
nidof — number of dofs in all islands
int in C, read as an integer.
nisland — number of detected constraint islands
int in C, read as an integer.
nJ — number of non-zeros in constraint Jacobian
int in C, read as an integer.
nl — number of limit constraints
int in C, read as an integer.
nparent_awake — number of bodies with awake parents
int in C, read as an integer.
nplugin — number of plugin instances
int in C, read as an integer.
ntree_awake — number of awake trees
int in C, read as an integer.
nv_awake — number of awake dofs
int in C, read as an integer.
nY — number of non-zeros in constraint inverse inertia square root
int in C, read as an integer.
parena — first available byte in arena
size_t in C, read as an integer.
@spec parent_awake_ind(t()) :: ExMujoco.Tensor.t()
parent_awake_ind — indices of bodies with awake or static parents (nbody x 1)
int* in C, nbody × 1.
pbase — value of pstack when mj_markStack was last called (mutable)
size_t in C, read as an integer.
@spec plastic(t()) :: ExMujoco.Tensor.t()
plastic — plastic state (nplastic x 1)
mjtNum* in C, nplastic × 1.
@spec plugin(t()) :: ExMujoco.Tensor.t()
plugin — copy of m->plugin, required for deletion (nplugin x 1)
int* in C, nplugin × 1.
@spec plugin_state(t()) :: ExMujoco.Tensor.t()
plugin_state — plugin state (npluginstate x 1)
mjtNum* in C, npluginstate × 1.
pstack — first available byte in stack (mutable)
size_t in C, read as an integer.
@spec qacc(t()) :: ExMujoco.Tensor.t()
qacc — acceleration (nv x 1)
mjtNum* in C, nv × 1.
@spec qacc_smooth(t()) :: ExMujoco.Tensor.t()
qacc_smooth — unconstrained acceleration (nv x 1)
mjtNum* in C, nv × 1.
@spec qacc_warmstart(t()) :: ExMujoco.Tensor.t()
qacc_warmstart — acceleration used for warmstart (nv x 1)
mjtNum* in C, nv × 1.
@spec qDeriv(t()) :: ExMujoco.Tensor.t()
qDeriv — d (passive + actuator - bias) / d qvel (nD x 1)
mjtNum* in C, nD × 1.
@spec qfrc_actuator(t()) :: ExMujoco.Tensor.t()
qfrc_actuator — actuator force in joint space (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_adhesion(t()) :: ExMujoco.Tensor.t()
qfrc_adhesion — passive contact adhesion force (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_applied(t()) :: ExMujoco.Tensor.t()
qfrc_applied — applied generalized force (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_bias(t()) :: ExMujoco.Tensor.t()
qfrc_bias — C(qpos,qvel) (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_constraint(t()) :: ExMujoco.Tensor.t()
qfrc_constraint — constraint force (flag ipc: incl. flex contact) (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_damper(t()) :: ExMujoco.Tensor.t()
qfrc_damper — passive damper force (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_fluid(t()) :: ExMujoco.Tensor.t()
qfrc_fluid — passive fluid force (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_gravcomp(t()) :: ExMujoco.Tensor.t()
qfrc_gravcomp — passive gravity compensation force (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_inverse(t()) :: ExMujoco.Tensor.t()
qfrc_inverse — net external force; should equal:
mjtNum* in C, nv × 1.
@spec qfrc_passive(t()) :: ExMujoco.Tensor.t()
qfrc_passive — total passive force (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_smooth(t()) :: ExMujoco.Tensor.t()
qfrc_smooth — net unconstrained force (nv x 1)
mjtNum* in C, nv × 1.
@spec qfrc_spring(t()) :: ExMujoco.Tensor.t()
qfrc_spring — passive spring force (nv x 1)
mjtNum* in C, nv × 1.
@spec qH(t()) :: ExMujoco.Tensor.t()
qH — L'DL factorization of modified M (nC x 1)
mjtNum* in C, nC × 1.
@spec qHDiagInv(t()) :: ExMujoco.Tensor.t()
qHDiagInv — 1/diag(D) of modified M (nv x 1)
mjtNum* in C, nv × 1.
@spec qLD(t()) :: ExMujoco.Tensor.t()
qLD — L'DL factorization of M (sparse) (nC x 1)
mjtNum* in C, nC × 1.
@spec qLDiagInv(t()) :: ExMujoco.Tensor.t()
qLDiagInv — 1/diag(D) (nv x 1)
mjtNum* in C, nv × 1.
@spec qLU(t()) :: ExMujoco.Tensor.t()
qLU — sparse LU of (M - dt*qDeriv) (nD x 1)
mjtNum* in C, nD × 1.
@spec qpos(t()) :: ExMujoco.Tensor.t()
qpos — position (nq x 1)
mjtNum* in C, nq × 1.
@spec qvel(t()) :: ExMujoco.Tensor.t()
qvel — velocity (nv x 1)
mjtNum* in C, nv × 1.
@spec sensordata(t()) :: ExMujoco.Tensor.t()
sensordata — sensor data array (nsensordata x 1)
mjtNum* in C, nsensordata × 1.
@spec site_xmat(t()) :: ExMujoco.Tensor.t()
site_xmat — Cartesian site orientation (nsite x 9)
mjtNum* in C, nsite × 9.
@spec site_xpos(t()) :: ExMujoco.Tensor.t()
site_xpos — Cartesian site position (nsite x 3)
mjtNum* in C, nsite × 3.
@spec site_xquat(t()) :: ExMujoco.Tensor.t()
site_xquat — Cartesian site orientation (nsite x 4)
mjtNum* in C, nsite × 4.
@spec solver_fwdinv(t()) :: ExMujoco.Tensor.t()
solver_fwdinv — forward-inverse comparison: qfrc, efc
mjtNum in C, 2 × 1.
@spec solver_niter(t()) :: ExMujoco.Tensor.t()
solver_niter — number of solver iterations, per island
int in C, mjNISLAND × 1.
@spec solver_nnz(t()) :: ExMujoco.Tensor.t()
solver_nnz — number of nonzeros in solver matrix, per island
int in C, mjNISLAND × 1.
@spec subtree_angmom(t()) :: ExMujoco.Tensor.t()
subtree_angmom — angular momentum about subtree com (nbody x 3)
mjtNum* in C, nbody × 3.
@spec subtree_com(t()) :: ExMujoco.Tensor.t()
subtree_com — center of mass of each subtree (nbody x 3)
mjtNum* in C, nbody × 3.
@spec subtree_linvel(t()) :: ExMujoco.Tensor.t()
subtree_linvel — linear velocity of subtree com (nbody x 3)
mjtNum* in C, nbody × 3.
@spec ten_J(t()) :: ExMujoco.Tensor.t()
ten_J — tendon Jacobian (nJten x 1)
mjtNum* in C, nJten × 1.
@spec ten_length(t()) :: ExMujoco.Tensor.t()
ten_length — tendon lengths (ntendon x 1)
mjtNum* in C, ntendon × 1.
@spec ten_velocity(t()) :: ExMujoco.Tensor.t()
ten_velocity — tendon velocities (ntendon x 1)
mjtNum* in C, ntendon × 1.
@spec ten_wrapadr(t()) :: ExMujoco.Tensor.t()
ten_wrapadr — start address of tendon's path (ntendon x 1)
int* in C, ntendon × 1.
@spec ten_wrapnum(t()) :: ExMujoco.Tensor.t()
ten_wrapnum — number of wrap points in path (ntendon x 1)
int* in C, ntendon × 1.
@spec tendon_efcadr(t()) :: ExMujoco.Tensor.t()
tendon_efcadr — first efc address involving tendon; -1: none (ntendon x 1)
int* in C, ntendon@model × 1.
threadlock — disable stack freeing during threaded execution
mjtBool in C, read as an integer.
threadpool — thread pool pointer
uintptr_t in C, read as an integer.
time — simulation time
mjtNum in C, read as a float.
@spec tree_asleep(t()) :: ExMujoco.Tensor.t()
tree_asleep — <0: awake; >=0: index cycle of sleeping trees (ntree x 1)
int* in C, ntree × 1.
@spec tree_awake(t()) :: ExMujoco.Tensor.t()
tree_awake — is tree awake; 0: asleep; 1: awake (ntree x 1)
int* in C, ntree × 1.
@spec tree_island(t()) :: ExMujoco.Tensor.t()
tree_island — island id of this tree; -1: none (ntree x 1)
int* in C, ntree@model × 1.
@spec userdata(t()) :: ExMujoco.Tensor.t()
userdata — user data, not touched by engine (nuserdata x 1)
mjtNum* in C, nuserdata × 1.
@spec wrap_obj(t()) :: ExMujoco.Tensor.t()
wrap_obj — geom id; -1: site; -2: pulley (nwrap x 2)
int* in C, nwrap × 2.
@spec wrap_xpos(t()) :: ExMujoco.Tensor.t()
wrap_xpos — Cartesian 3D points in all paths (nwrap x 6)
mjtNum* in C, nwrap × 6.
@spec xanchor(t()) :: ExMujoco.Tensor.t()
xanchor — Cartesian position of joint anchor (njnt x 3)
mjtNum* in C, njnt × 3.
@spec xaxis(t()) :: ExMujoco.Tensor.t()
xaxis — Cartesian joint axis (njnt x 3)
mjtNum* in C, njnt × 3.
@spec xfrc_applied(t()) :: ExMujoco.Tensor.t()
xfrc_applied — applied Cartesian force/torque (nbody x 6)
mjtNum* in C, nbody × 6.
@spec ximat(t()) :: ExMujoco.Tensor.t()
ximat — Cartesian orientation of body inertia (nbody x 9)
mjtNum* in C, nbody × 9.
@spec xipos(t()) :: ExMujoco.Tensor.t()
xipos — Cartesian position of body com (nbody x 3)
mjtNum* in C, nbody × 3.
@spec xiquat(t()) :: ExMujoco.Tensor.t()
xiquat — Cartesian orientation of body inertia (nbody x 4)
mjtNum* in C, nbody × 4.
@spec xmat(t()) :: ExMujoco.Tensor.t()
xmat — Cartesian orientation of body frame (nbody x 9)
mjtNum* in C, nbody × 9.
@spec xpos(t()) :: ExMujoco.Tensor.t()
xpos — Cartesian position of body frame (nbody x 3)
mjtNum* in C, nbody × 3.
@spec xquat(t()) :: ExMujoco.Tensor.t()
xquat — Cartesian orientation of body frame (nbody x 4)
mjtNum* in C, nbody × 4.