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 | get_corrected_angle_data (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 | get_corrected_angle_data (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 | has_scanned (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 | is_inside_fov (uint32_t last_azimuth, uint32_t current_azimuth) = 0 |
virtual bool | is_inside_overlap (uint32_t last_azimuth, uint32_t current_azimuth) = 0 |
virtual bool | passed_emit_angle (uint32_t last_azimuth, uint32_t current_azimuth) = 0 |
virtual bool | passed_timestamp_reset_angle (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 get_corrected_angle_data [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::get_corrected_angle_data (
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 get_corrected_angle_data [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::get_corrected_angle_data (
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 has_scanned
Returns true if the current azimuth lies in a different (new) scan compared to the last azimuth.
virtual bool nebula::drivers::AngleCorrector::has_scanned (
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 is_inside_fov
virtual bool nebula::drivers::AngleCorrector::is_inside_fov (
uint32_t last_azimuth,
uint32_t current_azimuth
) = 0
function is_inside_overlap
virtual bool nebula::drivers::AngleCorrector::is_inside_overlap (
uint32_t last_azimuth,
uint32_t current_azimuth
) = 0
function passed_emit_angle
virtual bool nebula::drivers::AngleCorrector::passed_emit_angle (
uint32_t last_azimuth,
uint32_t current_azimuth
) = 0
function passed_timestamp_reset_angle
virtual bool nebula::drivers::AngleCorrector::passed_timestamp_reset_angle (
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