Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Google deepmind Mujoco MJWarp Sensor

From Leeroopedia
Revision as of 12:46, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Google_deepmind_Mujoco_MJWarp_Sensor.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains Physics_Simulation, GPU_Computing, NVIDIA_Warp
Last Updated 2026-02-15 04:00 GMT

Overview

MJWarp Sensor evaluates all sensor types (position, velocity, acceleration, touch, energy) on the GPU and writes values to the sensor data array.

Description

This module implements GPU-accelerated sensor evaluation for all MuJoCo sensor types organized by computation stage: position-dependent sensors (sensor_pos), velocity-dependent sensors (sensor_vel), and acceleration-dependent sensors (sensor_acc). It supports joint, tendon, actuator, body frame, site frame, subtree, contact, touch, tactile, rangefinder, magnetometer, camera projection, and clock sensors. The module also computes potential and kinetic energy. Sensor values are written with optional cutoff clamping based on sensor data type.

Usage

Called at multiple stages during forward dynamics: sensor_pos after position computations, sensor_vel after velocity computations, and sensor_acc after acceleration and constraint computations. Energy functions energy_pos and energy_vel are called for energy monitoring.

Code Reference

Source Location

Key Functions

# Primary entry points by computation stage
def sensor_pos(m: Model, d: Data)
def sensor_vel(m: Model, d: Data)
def sensor_acc(m: Model, d: Data)

# Energy computation
def energy_pos(m: Model, d: Data)
def energy_vel(m: Model, d: Data)

# Output helpers
def _write_scalar(sensor_type, sensor_datatype, sensor_adr, sensor_cutoff, sensorid, sensor, out)
def _write_vector(...)

# Sensor evaluation functions (selection)
def _joint_pos(...)
def _tendon_pos(...)
def _actuator_pos(...)
def _ball_quat(...)
def _frame_pos(...)
def _frame_axis(...)
def _frame_quat(...)
def _accelerometer(...)
def _gyro(...)
def _velocimeter(...)
def _magnetometer(...)
def _sensor_rangefinder_init(...)
def _sensor_touch(...)
def _sensor_tactile(...)

Import

from mujoco.mjx.third_party.mujoco_warp._src.sensor import sensor_pos
from mujoco.mjx.third_party.mujoco_warp._src.sensor import sensor_vel
from mujoco.mjx.third_party.mujoco_warp._src.sensor import sensor_acc
from mujoco.mjx.third_party.mujoco_warp._src.sensor import energy_pos
from mujoco.mjx.third_party.mujoco_warp._src.sensor import energy_vel

I/O Contract

Inputs

Name Type Required Description
m Model Yes Warp model with sensor definitions, types, addresses, and cutoffs
d Data Yes Warp simulation data with positions, velocities, accelerations, and contacts

Outputs

Name Type Description
d.sensordata wp.array2d Sensor values written at addresses specified by sensor_adr
d.energy wp.array2d Potential and kinetic energy values

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment