Description
Lidar class. This corresponds to a scanning lidar.
#include <ChLidarSensor.h>


| Public Member Functions | |
| ChLidarSensor (std::shared_ptr< chrono::ChBody > parent, float updateRate, chrono::ChFrame< double > offsetPose, unsigned int w, unsigned int h, float hfov, float max_vertical_angle, float min_vertical_angle, float max_distance, unsigned int sample_radius=1, float divergence_angle=0.003f, LidarReturnMode return_mode=LidarReturnMode::STRONGEST_RETURN, LidarModelType lidar_model=LidarModelType::RAYCAST, float clip_near=1e-3f) | |
| Constructor for the base lidar class, defaulting to using a single ray per beam.  More... | |
| ~ChLidarSensor () | |
| Class destructor. | |
| float | GetHFOV () const | 
| Gives the horizontal field of view of the lidar (angle between right-most and left-most ray for a "frame").  More... | |
| float | GetMaxVertAngle () const | 
| returns the lidar's horizontal field of view  More... | |
| float | GetMinVertAngle () const | 
| Returns the lowest vertical angle of any ray in the lidar.  More... | |
| LidarModelType | GetModelType () const | 
| Returns the model type being used by the lidar for generating data.  More... | |
|  Public Member Functions inherited from chrono::sensor::ChOptixSensor | |
| ChOptixSensor (std::shared_ptr< chrono::ChBody > parent, float updateRate, chrono::ChFrame< double > offsetPose, unsigned int w, unsigned int h) | |
| Constructor for the base camera class that defaults to a pinhole lens model.  More... | |
| virtual | ~ChOptixSensor () | 
| camera class destructor | |
| ProgramString & | RenderProgramString () | 
| virtual function for getting the string used for generating the ray-laucnh program  More... | |
| RTformat & | RenderBufferFormat () | 
| virtual function of getting the format for the output buffer  More... | |
| std::vector< std::tuple< std::string, RTobjecttype, void * > > & | RayLaunchParameters () | 
| virtual function for getting any additional render parameters need by the sensor  More... | |
|  Public Member Functions inherited from chrono::sensor::ChSensor | |
| ChSensor (std::shared_ptr< chrono::ChBody > parent, float updateRate, chrono::ChFrame< double > offsetPose) | |
| Constructor for the base sensor class.  More... | |
| virtual | ~ChSensor () | 
| Class destructor. | |
| void | SetOffsetPose (chrono::ChFrame< double > pose) | 
| Set the sensor's relative position and orientation.  More... | |
| ChFrame< double > | GetOffsetPose () | 
| Get the sensor's relative position and orientation.  More... | |
| std::shared_ptr< ChBody > | GetParent () const | 
| Get the object to which the sensor is attached.  More... | |
| void | SetName (std::string name) | 
| Set the sensor's name.  More... | |
| std::string | GetName () const | 
| Get the name of the sensor.  More... | |
| float | GetUpdateRate () const | 
| Get the sensor update rate (Hz)  More... | |
| void | SetLag (float t) | 
| Set the lag parameter.  More... | |
| float | GetLag () const | 
| Get the sensor lag (seconds)  More... | |
| void | SetCollectionWindow (float t) | 
| Set the collection window.  More... | |
| float | GetCollectionWindow () const | 
| Get the sensor data collection window (seconds)  More... | |
| void | SetUpdateRate (float updateRate) | 
| Set the sensor update rate (Hz)  More... | |
| unsigned int | GetNumLaunches () | 
| Get the number of times the sensor has been updated.  More... | |
| void | IncrementNumLaunches () | 
| Increments the count of number of updates. | |
| std::list< std::shared_ptr< ChFilter > > | GetFilterList () const | 
| Get the sensor's list of filters.  More... | |
| void | PushFilter (std::shared_ptr< ChFilter > filter) | 
| Add a filter to the sensor.  More... | |
| void | LockFilterList () | 
| Gives ability to lock the filter list to prevent race conditions.  More... | |
| template<class UserBufferType > | |
| UserBufferType | GetMostRecentBuffer () | 
| Get the last filter in the list that matches the template type.  More... | |
| template<> | |
| CH_SENSOR_API UserR8BufferPtr | GetMostRecentBuffer () | 
| template<> | |
| CH_SENSOR_API UserRGBA8BufferPtr | GetMostRecentBuffer () | 
| template<> | |
| CH_SENSOR_API UserDIBufferPtr | GetMostRecentBuffer () | 
| template<> | |
| CH_SENSOR_API UserXYZIBufferPtr | GetMostRecentBuffer () | 
| template<> | |
| CH_SENSOR_API UserIMUBufferPtr | GetMostRecentBuffer () | 
| template<> | |
| CH_SENSOR_API UserGPSBufferPtr | GetMostRecentBuffer () | 
| Additional Inherited Members | |
|  Protected Attributes inherited from chrono::sensor::ChOptixSensor | |
| ProgramString | m_program_string | 
| the string tuple that specifies the file and name of the ray generation program | |
| RTformat | m_buffer_format | 
| the format of the output buffer | |
| std::vector< std::tuple< std::string, RTobjecttype, void * > > | m_ray_launch_params | 
| holder of any additional ray generation parameters we need to pass to OptiX | |
|  Protected Attributes inherited from chrono::sensor::ChSensor | |
| float | m_updateRate | 
| sensor update rate | |
| float | m_lag | 
| sensor lag from the time all scene information is available (sensor processing time) | |
| float | m_collection_window | 
| time over which data is collected.  More... | |
| float | m_timeLastUpdated | 
| time since previous update | |
| std::shared_ptr< chrono::ChBody > | m_parent | 
| object to which the sensor is attached | |
| chrono::ChFrame< double > | m_offsetPose | 
| position and orientation of the sensor relative to its parent | |
| std::string | m_name | 
| name of the sensor | |
| unsigned int | m_num_launches | 
| number of times the sensor has been updated | |
| std::list< std::shared_ptr< ChFilter > > | m_filters | 
| filter list for post-processing sensor data | |
| bool | m_filter_list_locked = false | 
| gives ability to lock the filter list to prevent race conditions | |
Constructor & Destructor Documentation
◆ ChLidarSensor()
| CH_SENSOR_API chrono::sensor::ChLidarSensor::ChLidarSensor | ( | std::shared_ptr< chrono::ChBody > | parent, | 
| float | updateRate, | ||
| chrono::ChFrame< double > | offsetPose, | ||
| unsigned int | w, | ||
| unsigned int | h, | ||
| float | hfov, | ||
| float | max_vertical_angle, | ||
| float | min_vertical_angle, | ||
| float | max_distance, | ||
| unsigned int | sample_radius = 1, | ||
| float | divergence_angle = 0.003f, | ||
| LidarReturnMode | return_mode = LidarReturnMode::STRONGEST_RETURN, | ||
| LidarModelType | lidar_model = LidarModelType::RAYCAST, | ||
| float | clip_near = 1e-3f | ||
| ) | 
Constructor for the base lidar class, defaulting to using a single ray per beam.
- Parameters
- 
  parent Body to which the sensor is attached. updateRate Rate at which the sensor should update. offsetPose Relative position and orientation of the sensor with respect to its parent object. w Width in number of samples of a lidar scan h Height in number of sample of a lidar scan (typical the same as laser channels) hfov Horizontal field of view of the lidar max_vertical_angle Maximum vertical angle of the lidar min_vertical_angle Minimum vertical angle of the lidar max_distance Maximum range of lidar sample_radius The radius in samples for multisampling beams (total samples per beam is 2*radius-1) divergence_angle The divergence angle of the lidar's laser beam return_mode The return mode for lidar data when multiple objects are visible lidar_model The model to be used for generating lidar data clip_near Near clipping distance so that lidar sensor can be easily placed inside a visualization object (sensor housing) 
Member Function Documentation
◆ GetHFOV()
| 
 | inline | 
Gives the horizontal field of view of the lidar (angle between right-most and left-most ray for a "frame").
Horizontal field of view should be 360-(angular resulution) in degrees for a full 360 degree scanning lidar.
- Returns
- The horizontal field of view of the lidar sensor
◆ GetMaxVertAngle()
| 
 | inline | 
returns the lidar's horizontal field of view
Returns the highest vertical angle of any ray in the lidar
- Returns
- The angle of the highest ray
◆ GetMinVertAngle()
| 
 | inline | 
Returns the lowest vertical angle of any ray in the lidar.
- Returns
- The angle of the lowest ray
◆ GetModelType()
| 
 | inline | 
Returns the model type being used by the lidar for generating data.
- Returns
- The type of model that is being used for generating lidar data
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_sensor/ChLidarSensor.h
- /builds/uwsbel/chrono/src/chrono_sensor/ChLidarSensor.cpp
