Skip to content

Latest commit

 

History

History
103 lines (73 loc) · 5.51 KB

GaussianNoise.md

File metadata and controls

103 lines (73 loc) · 5.51 KB

Gaussian noise

Robotec GPU Lidar (RGL) allows introducing Gaussian noise, which models the naturally present noise of the physical devices.

The following formula describes Gaussian noise:

Gausian_noise_formula

It is parametrized by these two values:

  • μ - mean value
  • σ - standard deviation

Supported noise types

The following table presents all kinds of Gaussian noise available in RGL concisely. The next chapters describe them in greater detail.

Noise type Visualization
Ray-based angular noise:
  • Rotate rays around the selected axis of the lidar
  • This kind of noise intends to model the noise in the lidar's rotational speed
  • Angular ray 2
    Hitpoint-based angular noise
  • Rotate hitpoints around the selected axis of the lidar
  • This is different from rotating rays! Think of the effect on hitpoints on surfaces near-parallel to the ray
  • This kind of noise could model, e.g., an error in the reading position of the rotated laser or sensor
  • Angular hitpoint 3
    Distance noise
  • This kind of noise can model, e.g., an error in measuring the time-of-flight
  • Distance noise 3

    Ray-based angular noise

    This type of noise applies angular noise to the rays before raycasting. When this type of noise is applied, points stay on the obstacle surface

    Step Visualization
    Rays are provided by the user via RGL API Angular ray
    Angular noise is applied to rays Angular ray
    Raytracing is performed using noised rays. Hitpoints are produced Angular ray
    Hitpoints with ray-based noise are sent for further processing Angular ray

    Usage

    Create GaussianNoiseAngularRaysNode using API call rgl_node_gaussian_noise_angular_ray. Next, add this node to the RGL pipeline before RaytraceNode.

    Parameter name Type Description
    mean float Angular noise mean in radians
    st_dev float Angular noise standard deviation in radians
    axis rgl_axis_t Axis on which angular noise will be performed

    Hitpoint-based angular noise

    This type of noise adds angular noise to already computed hitpoints. In other words, it is a rotation of each hitpoint around LiDAR's origin. When this type of noise is applied, points may no longer be on the obstacle surface

    Step Visualization
    Rays are provided by the user via RGL API Angular hitpoint
    Raycasting is performed using user-provided rays. Hitpoints are produced Angular hitpoint
    Hitpoints are rotated by the noise value Angular hitpoint
    Hitpoints with hitpoint-based noise are sent for further processing Angular hitpoint

    Usage

    Create GaussianNoiseAngularHitpointNode using API call rgl_node_gaussian_noise_angular_hitpoint. Next, add this node to the RGL pipeline right after RaytraceNode.

    Parameter name Type Description
    mean float Angular noise mean in radians
    st_dev float Angular noise standard deviation in radians
    axis rgl_axis_t Axis on which angular noise will be performed

    Distance noise

    This noise changes the distance between the hitpoint and the lidar's origin.

    Standard deviation can depend (increase linearly) on the point's distance from the sensor origin.

    The overall standard deviation of the distance error is computed as follows:

    distance sigma formula

    where

    symbol description
    sigma_distance computed distance standard deviation applied to hitpoints
    sigma_base base value of distance standard deviation (configurable)
    d current points distance from sensor origin
    sigma_slope rise of the standard deviation per 1 meter of distance (configurable)
    Step Visualization
    Rays are provided by the user via RGL API Distance
    Raycasting is performed. Hitpoints are produced Distance
    Hitpoints distance is changed by noise value Distance
    Hitpoints with distance noise are sent for further processing Distance

    Usage

    Create GaussianNoiseDistanceNode using API call rgl_node_gaussian_noise_distance. Next, add this node to the RGL pipeline right after RaytraceNode.

    Parameter name Type Description
    mean float Distance noise mean in meters
    st_dev_base float Distance noise standard deviation base in meters. Represented as sigma_base in the Distance noise chapter
    st_dev_rise_per_meter float Distance noise standard deviation rise per meter. Represented as sigma_slope in the Distance noise chapter