Class nebula::drivers::AngleCorrector
template <typename CorrectionDataT>
ClassList > nebula > drivers > AngleCorrector
Handles angle correction for given azimuth/channel combinations, as well as trigonometry lookup tables.
#include <angle_corrector.hpp>
Inherited by the following classes: nebula::drivers::AngleCorrectorCalibrationBased
Public Types
Type | Name |
---|---|
typedef CorrectionDataT | correction_data_t |
Public Functions
Type | Name |
---|---|
AngleCorrector (const std::shared_ptr< const RobosenseCalibrationConfiguration > & sensor_calibration) |
|
virtual CorrectedAngleData | getCorrectedAngleData (uint32_t block_azimuth, uint32_t channel_id) = 0 Get the corrected azimuth and elevation for a given block and channel, along with their sin/cos values. |
virtual CorrectedAngleData | getCorrectedAngleData (uint32_t block_azimuth, uint32_t channel_id) = 0 Get the corrected azimuth and elevation for a given block and channel, along with their sin/cos values. |
virtual bool | hasScanned (int current_azimuth, int last_azimuth) = 0 Returns true if the current azimuth lies in a different (new) scan compared to the last azimuth. |
virtual bool | isInsideFoV (uint32_t last_azimuth, uint32_t current_azimuth) = 0 |
virtual bool | isInsideOverlap (uint32_t last_azimuth, uint32_t current_azimuth) = 0 |
virtual bool | passedEmitAngle (uint32_t last_azimuth, uint32_t current_azimuth) = 0 |
virtual bool | passedTimestampResetAngle (uint32_t last_azimuth, uint32_t current_azimuth) = 0 |
Protected Attributes
Type | Name |
---|---|
const std::shared_ptr< const RobosenseCalibrationConfiguration > | sensor_calibration_ |
Public Types Documentation
typedef correction_data_t
using nebula::drivers::AngleCorrector< CorrectionDataT >::correction_data_t = CorrectionDataT;
Public Functions Documentation
function AngleCorrector
inline explicit nebula::drivers::AngleCorrector::AngleCorrector (
const std::shared_ptr< const RobosenseCalibrationConfiguration > & sensor_calibration
)
function getCorrectedAngleData [1/2]
Get the corrected azimuth and elevation for a given block and channel, along with their sin/cos values.
virtual CorrectedAngleData nebula::drivers::AngleCorrector::getCorrectedAngleData (
uint32_t block_azimuth,
uint32_t channel_id
) = 0
Parameters:
block_azimuth
The block's azimuth (including optional fine azimuth), in the sensor's angle unitchannel_id
The laser channel's id
Returns:
The corrected angles (azimuth, elevation) in radians and their sin/cos values
function getCorrectedAngleData [1/2]
Get the corrected azimuth and elevation for a given block and channel, along with their sin/cos values.
virtual CorrectedAngleData nebula::drivers::AngleCorrector::getCorrectedAngleData (
uint32_t block_azimuth,
uint32_t channel_id
) = 0
Parameters:
block_azimuth
The block's azimuth (including optional fine azimuth), in the sensor's angle unitchannel_id
The laser channel's id
Returns:
The corrected angles (azimuth, elevation) in radians and their sin/cos values
function hasScanned
Returns true if the current azimuth lies in a different (new) scan compared to the last azimuth.
virtual bool nebula::drivers::AngleCorrector::hasScanned (
int current_azimuth,
int last_azimuth
) = 0
Parameters:
current_azimuth
The current azimuth value in the sensor's angle resolutionlast_azimuth
The last azimuth in the sensor's angle resolution
Returns:
true if the current azimuth is in a different scan than the last one, false otherwise
function isInsideFoV
virtual bool nebula::drivers::AngleCorrector::isInsideFoV (
uint32_t last_azimuth,
uint32_t current_azimuth
) = 0
function isInsideOverlap
virtual bool nebula::drivers::AngleCorrector::isInsideOverlap (
uint32_t last_azimuth,
uint32_t current_azimuth
) = 0
function passedEmitAngle
virtual bool nebula::drivers::AngleCorrector::passedEmitAngle (
uint32_t last_azimuth,
uint32_t current_azimuth
) = 0
function passedTimestampResetAngle
virtual bool nebula::drivers::AngleCorrector::passedTimestampResetAngle (
uint32_t last_azimuth,
uint32_t current_azimuth
) = 0
Protected Attributes Documentation
variable sensor_calibration_
const std::shared_ptr<const RobosenseCalibrationConfiguration> nebula::drivers::AngleCorrector< CorrectionDataT >::sensor_calibration_;
The documentation for this class was generated from the following file nebula_decoders/include/nebula_decoders/nebula_decoders_hesai/decoders/angle_corrector.hpp