Interface class that allows for communication with a single Lidar instance.
More...
#include <LidarRaycasterBus.h>
|
static void | ValidateRayRange ([[maybe_unused]] float range) |
|
static void | ValidateRayOrientations ([[maybe_unused]] const AZStd::vector< AZ::Vector3 > &orientations) |
|
Interface class that allows for communication with a single Lidar instance.
virtual void ROS2::LidarRaycasterRequests::ConfigureLayerIgnoring |
( |
[[maybe_unused] ] bool |
ignoreLayer, |
|
|
[[maybe_unused] ] AZ::u32 |
layerIndex |
|
) |
| |
|
inlinevirtual |
Configures Layer ignoring parameters
- Parameters
-
ignoreLayer | Should a specified collision layer be ignored? |
layerIndex | Index of collision layer to be ignored. |
virtual void ROS2::LidarRaycasterRequests::ConfigureMaxRangePointAddition |
( |
[[maybe_unused] ] bool |
addMaxRangePoints | ) |
|
|
inlinevirtual |
Configures max range point addition.
- Parameters
-
includeMaxRange | Should the raycaster add points at max range for rays that exceeded their range? |
virtual void ROS2::LidarRaycasterRequests::ConfigureNoiseParameters |
( |
[[maybe_unused] ] float |
angularNoiseStdDev, |
|
|
[[maybe_unused] ] float |
distanceNoiseStdDevBase, |
|
|
[[maybe_unused] ] float |
distanceNoiseStdDevRisePerMeter |
|
) |
| |
|
inlinevirtual |
Configures ray Gaussian Noise parameters. Each call overrides the previous configuration. This type of noise is especially useful when trying to simulate real-life lidars, since its noise mimics the imperfections arising due to various physical factors e.g. fluctuations in rotary motion of the lidar (angular noise) or distance accuracy (distance noise). For the the details about Gaussian noise, please refer to https://en.wikipedia.org/wiki/Gaussian_noise.
- Parameters
-
angularNoiseStdDev | Angular noise standard deviation. |
distanceNoiseStdDevBase | Base value for Distance noise standard deviation. |
distanceNoiseStdDevRisePerMeter | Value by which the distance noise standard deviation increases per meter length from the lidar. |
virtual void ROS2::LidarRaycasterRequests::ConfigureRayOrientations |
( |
const AZStd::vector< AZ::Vector3 > & |
orientations | ) |
|
|
pure virtual |
Configures ray orientations.
- Parameters
-
orientations | Vector of orientations as Euler angles in radians. Each ray direction is computed by transforming a unit vector in the positive z direction first by the y, next by the z axis. The x axis is currently not included in calculations. |
virtual void ROS2::LidarRaycasterRequests::ConfigureRayRange |
( |
float |
range | ) |
|
|
pure virtual |
Configures ray maximum travel distance.
- Parameters
-
range | Ray range in meters. |
virtual void ROS2::LidarRaycasterRequests::ExcludeEntities |
( |
[[maybe_unused] ] const AZStd::vector< AZ::EntityId > & |
excludedEntities | ) |
|
|
inlinevirtual |
Excludes entities with given EntityIds from raycasting.
- Parameters
-
excludedEntities | List of entities marked for exclusion. |
virtual AZStd::vector<AZ::Vector3> ROS2::LidarRaycasterRequests::PerformRaycast |
( |
const AZ::Transform & |
lidarTransform | ) |
|
|
pure virtual |
Schedules a raycast that originates from the point described by the lidarTransform.
- Parameters
-
lidarTransform | Current transform from global to lidar reference frame. |
- Returns
- Results of the raycast in form of coordinates in 3D space. The returned vector size can be anything between zero and size of directions. No hits further than distance will be reported.
The documentation for this class was generated from the following file:
- Gems/ROS2/Code/Include/ROS2/Lidar/LidarRaycasterBus.h