Generic 2D Lidar
The main purpose of this prefab is to let the user define their own specifications for a standard mechanical 2D lidar. The term mechanical here means that it's a laser rotated by a dc motor. A 2D lidar is a lidar that scans only one plane with a single beam.
Implementation details
Warning
This sensor has a node that uses DXR and will not function without a compatible graphics card. See requirements for more details.
This lidar samples the scene using path tracing. The initial position (0 degree) of the lidar is toward its positive Z axis. The rays orientation is interpolated using the previous rotation and the current rotation. This interpolation is driven by the sampling rate. The heuristic in the shader assumes the photosensor will rotate on itself.
When the scene is sampled, the photosensor rotates on itself but everything else is static (including the photosensor position). To avoid having too many samples sampling a static scene, it's important to keep the simulation update time (dt) as small as possible.
Inputs
Input | Description |
---|---|
SamplingRate | This defines the number of samples per second the photosensor must take. |
RotationSpeedHz | The photosensor rotation speed represents the number of turns. per second the object will rotate on itself around the Y axis. |
MinRange | Sets the minimum range registered by the device. |
MaxRange | Sets the maximum range registered by the device. Every sample outside the max range will have a distance of 0 meters. |
RelativeDepthError | The curve representing the relative depth error as a normal distribution. 0 means no relative error. |
SpeedVariation | The standard deviation of the motor speed. |
TurnCW | When selected, indicates the motor turns clockwise. |
TimeConstant | The time required to reach 63% of the max RPM for the motor. |
Outputs
Output | Description |
---|---|
PointCloud | A render texture with the (x, y, z) position for each pixel. The lidar frame is spread from left to right in the texture. To know the point count, one can look at the count value in this structure. |
Intensity | A corresponding render texture with the perceived intensity for each pixel. |
OutTranscode | Provides a context for executing sampling custom passes, which then passes through the GPU processing pipeline. |