Generate lidar point cloud data for a scene (2023)

Generate lidar point cloud data for a scene

Since R2023a

expand all in page

  • Generate lidar point cloud data for a scene (1)

Libraries:
Lidar Toolbox

Description

The Lidar Sensor block generates point cloud data from the measurements recorded by a lidar sensor mounted on an ego vehicle. The generated data is in the ego vehicle coordinate system.

To generate point cloud data for a scene, you can configure the sensor and actor poses by using this block. The block also outputs the intensity and segmentation values for the generated points.

Additionally, you can use this block to

  • configure the lidar sensor parameters such as range, azimuth angles, and elevation angles.

  • add random Gaussian noise to the points in the point cloud.

  • simulate weather conditions such as fog and rain.

You can use the drivingScenario (Automated Driving Toolbox) object to create a scenario containing actors and trajectories, import this data into Simulink® by using the Scenario Reader (Automated Driving Toolbox) block and then generate the point cloud data for the scenario by using the Lidar Sensor block.

Ports

Input

expand all

Actor poses, specified as a Simulink bus containing MATLAB structure. The structure must contain these two fields.

  1. Target poses of the actors in the scene, specified as an L- element array of structures. Each structure corresponds to an actor. L is the number of actors used.

    You can generate this structure programmatically using the actorPoses (Automated Driving Toolbox) function. You can also create these structures manually. Each structure must contain these fields.

    FieldDescriptionValue
    ActorIDUnique identifier for the actor.Positive scalar
    PositionPosition of the actor with respect to the ego vehicle coordinate system, in meters.Three-element vector of the form [x y z]
    VelocityVelocity (V) of the actor, in meters per second, along the x-, y-, and z- directions.

    Three-element vector of the form [Vx Vy Vz]

    RollRoll angle of the actor in degrees.

    Numeric scalar

    PitchPitch angle of the actor in degrees.

    Numeric scalar

    YawYaw angle of the actor in degrees.

    Numeric scalar

    AngularVelocityAngular velocity (ω) of the actor, in degrees per second, along the x-, y-, and z- directions.

    Three-element vector of the form [ωx ωy ωz]

  2. Simulation time for generating new point clouds, specified as a positive scalar.

You can output the scene actors poses from a Scenario Reader (Automated Driving Toolbox) block.

Output

expand all

Valid simulation time, returned as a logical 0 (false) or 1 (true). This value is 0 for the updates requested at times between the update interval specified by the Required interval between sensor updates (s) parameter.

Data Types: Boolean

Location values of points in the point cloud, returned as an M-by-N-by-3 matrix. M, N are the number of rows and columns in the organized point cloud, respectively.

(Video) Making a DEM from LiDAR point-cloud data in ArcMap

Intensity values of points in the point cloud, returned as an M-by-N matrix. M, N are the number of rows and columns in the organized point cloud, respectively.

Classification data of actors in the scene, returned as an M-by-N-by-2 matrix. The first column contains the ActorIDs and the second column contains the ClassIDs of the target actors.M, N are the number of rows and columns in the organized point cloud, respectively.

Parameters

expand all

Parameters

Sensor Identification

Unique identifier for the sensor, specified as a positive integer. In a multisensor system, this index distinguishes different sensors from one another.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Time interval between two consecutive sensor updates, specified as a positive scalar. The block generates new detections at the interval specified by this parameter. The value must be an integer multiple of the simulation time. Updates requested from the sensor in between the update intervals contain no detections. Units are in seconds.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Sensor Mounting

Sensor center position, specified as a three-element vector of the form [X Y Height]. The values of X and Y represent the location of the sensor center with respect to the X- and Y-axes of the ego vehicle coordinate system. Height is the height of the sensor above the ground. The default value defines a lidar sensor mounted on the front edge of the roof of a sedan. Units are in meters.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Sensor orientation, specified as a three-element vector of the form, [Roll Pitch Yaw]. These values are with respect to the ego vehicle coordinate system. Units are in degrees.

  • Roll — The roll angle is the angle of rotation around the front-to-back axis, which is the x-axis of the ego vehicle coordinate system. A positive roll angle corresponds to a clockwise rotation when looking in the positive direction of the x-axis.

  • Pitch — The pitch angle is the angle of rotation around the side-to-side axis, which is the y-axis of the ego vehicle coordinate system. A positive roll angle corresponds to a clockwise rotation when looking in the positive direction of the y-axis.

  • Yaw — The yaw angle is the angle of rotation around the vertical axis,which is the z-axis of the ego vehicle coordinate system. A positive roll angle corresponds to a clockwise rotation when looking in the positive direction of the z-axis. This rotation appears counter-clockwise when viewing the vehicle from above.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

(Video) Creating Point Clouds from LIDAR on Your Phone: A Step-by-Step Tutorial with Open3D and Python

Actor Profiles

Variable name for actor profiles, specified as the name of a MATLAB or model workspace variable containing actor profiles.

Actor profiles are the physical characteristics of the actors in the scene, specified as a structure or as an L-element array of structures. L is the number of actors in the scene.

If the actor profiles variable has a single structure, then all actors specified at the ActorPoses input port use the same profile.

To generate an array of actor profile structures for your driving scenario drivingScenario (Automated Driving Toolbox), use the actorProfiles (Automated Driving Toolbox) function. You can also create these structures manually. This table shows the valid structure fields.

FieldDescriptionValue
ActorIDUnique identifier for the actor. In a scene with multiple actors, this value distinguishes different actors from one another.Positive integer
ClassID

User-defined classification ID for the actor.

ClassIDClass Name
1Car
2Truck
3Bicycle
4Pedestrian
5Jersey Barrier
6Guardrail
Positive scalar
LengthLength of the actor in meters.Positive scalar
WidthWidth of the actor in meters.Positive scalar
HeightHeight of the actor in meters.Positive scalar
OriginOffset

Offset of the rotational center of the actor from its geometric center. The rotational center, or origin, is located at the bottom center of the actor. For vehicles, the rotational center is the point on the ground beneath the center of the rear axle.

A three-element vector of the form [x y z]. Units are in meters.

MeshVerticesVertices of the actor in mesh representation.N-by-3 numeric matrix, where each row defines a vertex in 3-D space.
MeshFacesFace of the actor in mesh representation.M-by-3 integer matrix, where each row represents a triangle defined by vertex IDs, which are the row numbers of MeshVertices.
MeshTargetReflectancesMaterial reflectance for each triangular face of the actor.M-by-1 numeric vector, where M is the number of triangle faces of the actor. Each value must be in the range [0, 1].

For more information about these structure fields, see the actor (Automated Driving Toolbox) and vehicle (Automated Driving Toolbox) functions.

ActorID value of the ego vehicle, specified as a positive integer. ActorID is the unique identifier for an actor. This parameter must be a valid ActorID specified at the ActorPoses input port.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Sensor FOV

Settings

Maximum detection range of the sensor specified as a positive scalar. The sensor cannot scan for the points beyond this range. Units are in meters.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Azimuth limits of the lidar sensor, specified as a two-element vector of the form [min max]. The values must be in the range [-180, 180], max must be greater than min. Units are in degrees.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Azimuthal resolution of the lidar sensor, specified as a positive scalar. Units are in degrees.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Select this parameter to use custom elevation angles.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Custom elevation angles of the lidar sensor, specified as an N-element real-valued vector. N is the number of elevation channels. The elements of the vector must be in the increasing order. Units are in degrees.

Dependencies

To enable this parameter, select the Use custom elevation angles parameter.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Elevation limits of the lidar sensor, specified as a two-element vector of the form [min max]. The values must be in the range [-180, 180], max must be greater than min. Units are in degrees.

Note

The block disables this parameter, when you select the Use custom elevation angles parameter.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Elevation resolution of the lidar sensor, specified as a positive scalar in degrees.

Note

The block disables this parameter, when you select the Use custom elevation angles parameter.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Advance Settings

Noise Simulation

When you select this parameter, the block adds random Gaussian noise to each point in the point cloud using the Range accuracy (m) parameter as one standard deviation. Otherwise, the data has no noise.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Accuracy of the sensor range measurement, specified as a positive scalar. Units are in meters.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Weather Simulation

Visible distance in fog, specified as a positive scalar, in meters. The value of this parameter must not be greater than 1000. A higher value indicates a better visibility and a lower fog impact. The default value of 1000 indicates clear visibility, or no fog.

Note

When you specify both Fog visibility in meters and Rainrate in mm/hour parameters, the block simulates only the foggy weather.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

(Video) LiDAR point cloud support | Feature Highlight | Unreal Engine

Rate of rainfall, specified as a positive scalar in millimeter per hour. The value of this parameter must not be greater than 200. Increasing this value increases the impact of rain on the generated point cloud. The default value is 0, indicating no rainfall.

Note

When you specify both Fog visibility in meters and Rainrate in mm/hour parameters, the block simulates only the foggy weather.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Output Port Settings

Select this parameter to enable the Intensity output port.

Select this parameter to enable the Clusters output port.

Version History

Introduced in R2023a

See Also

Apps

  • Driving Scenario Designer (Automated Driving Toolbox) | Lidar Viewer | Lidar Labeler

Blocks

  • Scenario Reader (Automated Driving Toolbox) | Point Cloud Viewer

Functions

  • actorProfiles (Automated Driving Toolbox) | actorPoses (Automated Driving Toolbox)

Objects

  • lidarSensor | drivingScenario (Automated Driving Toolbox)

Topics

  • Coordinate Systems in Lidar Toolbox
  • Generate Lidar Point Cloud Data for Driving Scenario with Multiple Actors

MATLAB-Befehl

Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:

 

Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.

Generate lidar point cloud data for a scene (2)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本 (日本語)
  • 한국 (한국어)

Contact your local office

(Video) Point Cloud (LIDAR) Processing Demonstration

FAQs

How do I create a point cloud data LiDAR? ›

Different LiDAR units have different methods, but generally they sweep in a circle like a RADAR dish, while simultaneously moving the laser up and down. Once the individual readings are processed and organised, the LiDAR data becomes point cloud data.

How do I get data from LiDAR? ›

Access lidar data using:
  1. 3DEP LidarExplorer – Point cloud data and lidar-derived DEMs.
  2. The National Map Download Client.
  3. The National Map Services.

How do I download LiDAR data from USGS? ›

Third, in the right menu panel, open the “Lidar within AOI” drop-down and click on the “LiDAR Point Cloud (LPC)” folder. Finally, select download the individual LiDAR (LAS) files that you need from the folder. The map viewer will show where each tile is relative to your area of interest.

What are three ways that LiDAR data can be collected? ›

ArcGIS provides several complimentary options for accessing lidar. There are three primary data access mechanisms: the LAS dataset, the terrain dataset, and the mosaic dataset. Knowing about these data types will let you determine which type to use.

Videos

1. Preparing Point Cloud Scene Layers in ArcGIS Pro
(ArcGIS)
2. How To Download Lidar Point Clouds for the CONUS FOR FREE
(Ryan Prasad)
3. UE4 4.24 Super Quick LIDAR point cloud data import!
(The Unreal Takeaway)
4. SCENE 2019.2 Create Project Point Cloud
(ScanTraining.com)
5. Generating Point Clouds Using DJI Terra
(DJI Enterprise)
6. ArcGIS Pro: 3D Visualization of LiDAR Point Clouds
(Aaron Maxwell)

References

Top Articles
Latest Posts
Article information

Author: The Hon. Margery Christiansen

Last Updated: 19/07/2023

Views: 5525

Rating: 5 / 5 (70 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: The Hon. Margery Christiansen

Birthday: 2000-07-07

Address: 5050 Breitenberg Knoll, New Robert, MI 45409

Phone: +2556892639372

Job: Investor Mining Engineer

Hobby: Sketching, Cosplaying, Glassblowing, Genealogy, Crocheting, Archery, Skateboarding

Introduction: My name is The Hon. Margery Christiansen, I am a bright, adorable, precious, inexpensive, gorgeous, comfortable, happy person who loves writing and wants to share my knowledge and understanding with you.