Skip to content

Class nebula::drivers::AngleCorrectorCalibrationBased

template <size_t ChannelN, size_t AngleUnit>

ClassList > nebula > drivers > AngleCorrectorCalibrationBased

  • #include <angle_corrector_calibration_based.hpp>

Inherits the following classes: nebula::drivers::AngleCorrector

Public Types inherited from nebula::drivers::AngleCorrector

See nebula::drivers::AngleCorrector

Type Name
typedef CorrectionDataT correction_data_t

Public Functions

Type Name
AngleCorrectorCalibrationBased (const std::shared_ptr< const HesaiCalibrationConfiguration > & sensor_calibration)
Construct an AngleCorrectorCalibrationBased and pre-compute trigonometry lookup tables.
virtual CorrectedAngleData get_corrected_angle_data (uint32_t encoder_azimuth, uint32_t channel_id) override const
Get the corrected azimuth and elevation for a given block and channel, along with their sin/cos values.
virtual CorrectedAzimuths< ChannelN, float > get_corrected_azimuths (uint32_t block_azimuth) override const

Public Functions inherited from nebula::drivers::AngleCorrector

See nebula::drivers::AngleCorrector

Type Name
virtual CorrectedAngleData get_corrected_angle_data (uint32_t encoder_azimuth, uint32_t channel_id) const = 0
Get the corrected azimuth and elevation for a given block and channel, along with their sin/cos values.
virtual CorrectedAzimuths< ChannelN, float > get_corrected_azimuths (uint32_t block_azimuth) const = 0
virtual ~AngleCorrector () = default

Public Functions Documentation

function AngleCorrectorCalibrationBased

Construct an AngleCorrectorCalibrationBased and pre-compute trigonometry lookup tables.

inline explicit nebula::drivers::AngleCorrectorCalibrationBased::AngleCorrectorCalibrationBased (
    const std::shared_ptr< const HesaiCalibrationConfiguration > & sensor_calibration
) 

Parameters:

  • sensor_calibration The sensor calibration data
  • fov_start_azimuth_deg The start of the FoV in spatial degrees
  • fov_end_azimuth_deg The end of the FoV in spatial degrees
  • scan_cut_azimuth_deg The angle at which the scan is cut in spatial degrees

Exception:

  • std::runtime_error if the sensor calibration data is nullptr

Returns:

The constructed AngleCorrectorCalibrationBased


function get_corrected_angle_data

Get the corrected azimuth and elevation for a given block and channel, along with their sin/cos values.

inline virtual CorrectedAngleData nebula::drivers::AngleCorrectorCalibrationBased::get_corrected_angle_data (
    uint32_t encoder_azimuth,
    uint32_t channel_id
) override const

Parameters:

  • block_azimuth The block's azimuth (including optional fine azimuth), in the sensor's angle unit
  • channel_id The laser channel's id

Returns:

The corrected angles (azimuth, elevation) in radians and their sin/cos values

Implements nebula::drivers::AngleCorrector::get_corrected_angle_data


function get_corrected_azimuths

inline virtual CorrectedAzimuths< ChannelN, float > nebula::drivers::AngleCorrectorCalibrationBased::get_corrected_azimuths (
    uint32_t block_azimuth
) override const

Implements nebula::drivers::AngleCorrector::get_corrected_azimuths



The documentation for this class was generated from the following file src/nebula_hesai/nebula_hesai_decoders/include/nebula_hesai_decoders/decoders/angle_corrector_calibration_based.hpp