Skip to content

[Discussion] Default to noisy sensor measurements #48

Description

@Danfoa

For our machine learning and control experiments, we should be using noisy observations for all relevant observables. Currently, we use ground truth data from the simulator, which biases our learning and control algorithms to operate only on perfect, unbiased, and noiseless observations.

I would like to transition the entire quadruped_env API so that all observations returned via the step function include parametric control over the variance and bias of the sensor noise. It seems that MuJoCo leaves this functionality to users, which is the approach I suggest we adopt.

This would mean that during environment initialization, we would pass optional parameters to model the noise acting on the sensor observations (e.g., joint position, joint velocity, IMU, contact forces, joint torques, joint accelerations, etc.). The idea is to return these noisy observations by default and optionally return the ground truth observations. Something like this:

state, reward, is_terminated, is_truncated, info = env.step(action=action)
joint_pos_noisy = state['joint_pos']      # Sensor measurement with noise, bias, etc.
joint_pos_gt = state['joint_pos_gt']      # Ground truth sensor measurement

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions