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, nebula::drivers::AngleCorrector

Public Types inherited from nebula::drivers::AngleCorrector

See nebula::drivers::AngleCorrector

Type Name
typedef CorrectionDataT correction_data_t

Public Types inherited from nebula::drivers::AngleCorrector

See nebula::drivers::AngleCorrector

Type Name
typedef CorrectionDataT correction_data_t

Public Attributes

Type Name
uint32_t emit_angle_raw_
uint32_t fov_end_raw_
uint32_t fov_start_raw_
bool is_360_
uint32_t timestamp_reset_angle_raw_

Public Functions

Type Name
AngleCorrectorCalibrationBased (const std::shared_ptr< const HesaiCalibrationConfiguration > & sensor_calibration, double fov_start_azimuth_deg, double fov_end_azimuth_deg, double scan_cut_azimuth_deg)
AngleCorrectorCalibrationBased (const std::shared_ptr< const RobosenseCalibrationConfiguration > & sensor_calibration)
virtual CorrectedAngleData getCorrectedAngleData (uint32_t block_azimuth, uint32_t channel_id) override
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) override
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) override
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) override
virtual bool isInsideOverlap (uint32_t last_azimuth, uint32_t current_azimuth) override
virtual bool passedEmitAngle (uint32_t last_azimuth, uint32_t current_azimuth) override
virtual bool passedTimestampResetAngle (uint32_t last_azimuth, uint32_t current_azimuth) override

Public Functions inherited from nebula::drivers::AngleCorrector

See nebula::drivers::AngleCorrector

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

Public Functions inherited from nebula::drivers::AngleCorrector

See nebula::drivers::AngleCorrector

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 inherited from nebula::drivers::AngleCorrector

See nebula::drivers::AngleCorrector

Type Name
const std::shared_ptr< const RobosenseCalibrationConfiguration > sensor_calibration_

Protected Attributes inherited from nebula::drivers::AngleCorrector

See nebula::drivers::AngleCorrector

Type Name
const std::shared_ptr< const RobosenseCalibrationConfiguration > sensor_calibration_

Public Attributes Documentation

variable emit_angle_raw_

uint32_t nebula::drivers::AngleCorrectorCalibrationBased< ChannelN, AngleUnit >::emit_angle_raw_;

variable fov_end_raw_

uint32_t nebula::drivers::AngleCorrectorCalibrationBased< ChannelN, AngleUnit >::fov_end_raw_;

variable fov_start_raw_

uint32_t nebula::drivers::AngleCorrectorCalibrationBased< ChannelN, AngleUnit >::fov_start_raw_;

variable is_360_

bool nebula::drivers::AngleCorrectorCalibrationBased< ChannelN, AngleUnit >::is_360_;

variable timestamp_reset_angle_raw_

uint32_t nebula::drivers::AngleCorrectorCalibrationBased< ChannelN, AngleUnit >::timestamp_reset_angle_raw_;

Public Functions Documentation

function AngleCorrectorCalibrationBased [1/2]

inline explicit nebula::drivers::AngleCorrectorCalibrationBased::AngleCorrectorCalibrationBased (
    const std::shared_ptr< const HesaiCalibrationConfiguration > & sensor_calibration,
    double fov_start_azimuth_deg,
    double fov_end_azimuth_deg,
    double scan_cut_azimuth_deg
) 

function AngleCorrectorCalibrationBased [2/2]

inline explicit nebula::drivers::AngleCorrectorCalibrationBased::AngleCorrectorCalibrationBased (
    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.

inline virtual CorrectedAngleData nebula::drivers::AngleCorrectorCalibrationBased::getCorrectedAngleData (
    uint32_t block_azimuth,
    uint32_t channel_id
) override

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::getCorrectedAngleData


function getCorrectedAngleData [1/2]

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

inline virtual CorrectedAngleData nebula::drivers::AngleCorrectorCalibrationBased::getCorrectedAngleData (
    uint32_t block_azimuth,
    uint32_t channel_id
) override

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::getCorrectedAngleData


function hasScanned

Returns true if the current azimuth lies in a different (new) scan compared to the last azimuth.

inline virtual bool nebula::drivers::AngleCorrectorCalibrationBased::hasScanned (
    int current_azimuth,
    int last_azimuth
) override

Parameters:

  • current_azimuth The current azimuth value in the sensor's angle resolution
  • last_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

Implements nebula::drivers::AngleCorrector::hasScanned


function isInsideFoV

inline virtual bool nebula::drivers::AngleCorrectorCalibrationBased::isInsideFoV (
    uint32_t last_azimuth,
    uint32_t current_azimuth
) override

Implements nebula::drivers::AngleCorrector::isInsideFoV


function isInsideOverlap

inline virtual bool nebula::drivers::AngleCorrectorCalibrationBased::isInsideOverlap (
    uint32_t last_azimuth,
    uint32_t current_azimuth
) override

Implements nebula::drivers::AngleCorrector::isInsideOverlap


function passedEmitAngle

inline virtual bool nebula::drivers::AngleCorrectorCalibrationBased::passedEmitAngle (
    uint32_t last_azimuth,
    uint32_t current_azimuth
) override

Implements nebula::drivers::AngleCorrector::passedEmitAngle


function passedTimestampResetAngle

inline virtual bool nebula::drivers::AngleCorrectorCalibrationBased::passedTimestampResetAngle (
    uint32_t last_azimuth,
    uint32_t current_azimuth
) override

Implements nebula::drivers::AngleCorrector::passedTimestampResetAngle



The documentation for this class was generated from the following file nebula_decoders/include/nebula_decoders/nebula_decoders_hesai/decoders/angle_corrector_calibration_based.hpp