Skip to content

Namespace nebula::drivers

Namespace List > nebula > drivers

Namespaces

Type Name
namespace continental_ars548
namespace continental_srr520
namespace loggers

Classes

Type Name
struct CANSensorConfigurationBase
Base struct for CAN-based Sensor configuration.
struct CalibrationConfigurationBase
Base struct for Calibration configuration (Requires extensions in child struct)
struct ChannelCorrection
struct EthernetSensorConfigurationBase
Base struct for Ethernet-based Sensor configuration.
struct HesaiCalibrationConfiguration
struct for Hesai calibration configuration
struct HesaiCalibrationConfigurationBase
struct HesaiCorrection
struct for Hesai correction configuration (for AT)
struct HesaiSensorConfiguration
struct for Hesai sensor configuration
struct LidarConfigurationBase
Base struct for Lidar configuration.
struct PointField
not used?
struct PointXYZICATR
struct PointXYZIR
struct PointXYZIRADT
struct PointXYZIRCAEDT
struct RobosenseCalibrationConfiguration
struct for Robosense calibration configuration
struct RobosenseSensorConfiguration
struct for Robosense sensor configuration
struct SensorConfigurationBase
Base struct for Sensor configuration.
class VelodyneCalibration
Calibration information for the entire device.
struct VelodyneCalibrationConfiguration
struct for Velodyne calibration configuration
struct VelodyneLaserCorrection
struct VelodyneSensorConfiguration
struct for Velodyne sensor configuration

Public Types

Type Name
enum CoordinateMode
Coordinate mode for Velodyne's setting (need to check)
typedef PointXYZIRCAEDT NebulaPoint
typedef pcl::PointCloud< NebulaPoint > NebulaPointCloud
typedef pcl::PointCloud< NebulaPoint >::Ptr NebulaPointCloudPtr
typedef std::shared_ptr< NebulaPoint > NebulaPointPtr
enum PtpProfile
enum PtpSwitchType
enum PtpTransportType
enum uint8_t ReturnMode
Return mode of each LiDAR.
enum uint8_t ReturnType
Return type of each scan.
enum SensorModel
Type of sensor.
typedef boost::crc_ccitt_false_t crc16_ccit_false_t
CRC-16/CCITT-FALSE algorithm.
typedef boost::crc_optimal< 32, 0x04C11DB7, 0xFFFFFFFF, 0x0, false, false > crc32_mpeg2_t
CRC-32/MPEG-2 algorithm.
typedef boost::crc_optimal< 8, 0x2F, 0xFF, 0xFF, false, false > crc8h2f_t
AUTOSAR CRC8H2F routine.
enum datatype
not used?

Public Attributes

Type Name
constexpr uint8_t bpearl_v4_flag = 0x04

Public Functions

Type Name
pcl::PointCloud< PointXYZIR >::Ptr convert_point_xyziradt_to_point_xyzir (const pcl::PointCloud< PointXYZIRADT >::ConstPtr & input_pointcloud)
pcl::PointCloud< PointXYZIR >::Ptr convert_point_xyzircaedt_to_point_xyzir (const pcl::PointCloud< PointXYZIRCAEDT >::ConstPtr & input_pointcloud)
pcl::PointCloud< PointXYZIRADT >::Ptr convert_point_xyzircaedt_to_point_xyziradt (const pcl::PointCloud< PointXYZIRCAEDT >::ConstPtr & input_pointcloud, double stamp)
crc_type::value_type crc (const T * begin, const U * end)
Given a memory range, calculates the CRC over its bytes.
int int_from_return_mode_hesai (const ReturnMode return_mode, const SensorModel & sensor_model)
Convert ReturnMode enum to return mode number.
std::ostream & operator<< (std::ostream & os, HesaiSensorConfiguration const & arg)
Convert HesaiSensorConfiguration to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, nebula::drivers::ReturnType const & arg)
Convert ReturnType enum to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, nebula::drivers::ReturnMode const & arg)
Convert ReturnMode enum to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, nebula::drivers::SensorModel const & arg)
Convert SensorModel enum to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, SensorConfigurationBase const & arg)
Convert SensorConfigurationBase to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, EthernetSensorConfigurationBase const & arg)
Convert EthernetSensorConfigurationBase to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, CANSensorConfigurationBase const & arg)
Convert CANSensorConfigurationBase to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, nebula::drivers::LidarConfigurationBase const & arg)
Convert LidarConfigurationBase to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, nebula::drivers::PtpProfile const & arg)
Convert PtpProfile enum to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, nebula::drivers::PtpTransportType const & arg)
Convert PtpTransportType enum to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, nebula::drivers::PtpSwitchType const & arg)
Convert PtpSwitchType enum to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, RobosenseSensorConfiguration const & arg)
Convert RobosenseSensorConfiguration to string (Overloading the << operator)
std::ostream & operator<< (std::ostream & os, VelodyneSensorConfiguration const & arg)
Convert VelodyneSensorConfiguration to string (Overloading the << operator)
PtpProfile ptp_profile_from_string (const std::string & ptp_profile)
Converts String to PTP Profile.
PtpSwitchType ptp_switch_type_from_string (const std::string & switch_type)
Converts String to PTP SwitchType.
PtpTransportType ptp_transport_type_from_string (const std::string & transport_type)
Converts String to PTP TransportType.
ReturnMode return_mode_from_int_hesai (const int return_mode, const SensorModel & sensor_model)
Convert return mode number to ReturnMode enum.
ReturnMode return_mode_from_string (const std::string & return_mode)
Convert return mode name to ReturnMode enum.
ReturnMode return_mode_from_string_hesai (const std::string & return_mode, const SensorModel & sensor_model)
Convert return mode name to ReturnMode enum (Hesai-specific return_mode_from_string)
ReturnMode return_mode_from_string_robosense (const std::string & return_mode)
Convert return mode name to ReturnMode enum (Robosense-specific return_mode_from_string)
ReturnMode return_mode_from_string_velodyne (const std::string & return_mode)
Convert return mode name to ReturnMode enum (Velodyne-specific return_mode_from_string)
uint8_t return_mode_to_int (const ReturnMode & mode)
Convert ReturnMode enum to integer.
ReturnType return_mode_to_return_type (const ReturnMode & mode)
Convert ReturnMode enum to ReturnType enum for Pandar AT, XTM (temporary, not used)
SensorModel sensor_model_from_string (const std::string & sensor_model)
Convert sensor name to SensorModel enum (Upper and lower case letters must match)
std::string sensor_model_to_string (const SensorModel & sensor_model)
bool supports_functional_safety (const SensorModel & sensor_model)
Whether the given sensor model supports functional safety.
bool supports_packet_loss_detection (const SensorModel & sensor_model)
Whether the given sensor model supports packet loss detection.

Public Static Functions

Type Name
float deg2rad (double degrees)
Converts degrees to radians.
float rad2deg (double radians)
Converts radians to degrees.
double rpm2hz (double rpm)
Converts RPM to Hertz.

Public Types Documentation

enum CoordinateMode

Coordinate mode for Velodyne's setting (need to check)

enum nebula::drivers::CoordinateMode {
    UNKNOWN = 0,
    CARTESIAN,
    SPHERICAL,
    CYLINDRICAL
};


typedef NebulaPoint

using nebula::drivers::NebulaPoint = typedef PointXYZIRCAEDT;

typedef NebulaPointCloud

using nebula::drivers::NebulaPointCloud = typedef pcl::PointCloud<NebulaPoint>;

typedef NebulaPointCloudPtr

using nebula::drivers::NebulaPointCloudPtr = typedef pcl::PointCloud<NebulaPoint>::Ptr;

typedef NebulaPointPtr

using nebula::drivers::NebulaPointPtr = typedef std::shared_ptr<NebulaPoint>;

enum PtpProfile

enum nebula::drivers::PtpProfile {
    IEEE_1588v2 = 0,
    IEEE_802_1AS,
    IEEE_802_1AS_AUTO,
    UNKNOWN_PROFILE
};

enum PtpSwitchType

enum nebula::drivers::PtpSwitchType {
    NON_TSN = 0,
    TSN,
    UNKNOWN_SWITCH
};

enum PtpTransportType

enum nebula::drivers::PtpTransportType {
    UDP_IP = 0,
    L2,
    UNKNOWN_TRANSPORT
};

enum ReturnMode

Return mode of each LiDAR.

enum nebula::drivers::ReturnMode {
    UNKNOWN = 0,
    SINGLE_STRONGEST,
    SINGLE_LAST,
    DUAL_FIRST,
    DUAL_LAST,
    DUAL_ONLY,
    SINGLE_FIRST,
    DUAL_STRONGEST_FIRST,
    DUAL_STRONGEST_LAST,
    DUAL_WEAK_FIRST,
    DUAL_WEAK_LAST,
    TRIPLE,
    LAST,
    STRONGEST,
    DUAL_LAST_STRONGEST,
    FIRST,
    DUAL_LAST_FIRST,
    DUAL_FIRST_STRONGEST,
    DUAL
};


enum ReturnType

Return type of each scan.

enum nebula::drivers::ReturnType {
    UNKNOWN = 0,
    LAST,
    FIRST,
    STRONGEST,
    FIRST_WEAK,
    LAST_WEAK,
    IDENTICAL,
    SECOND,
    SECONDSTRONGEST,
    FIRST_STRONGEST,
    LAST_STRONGEST
};


enum SensorModel

Type of sensor.

enum nebula::drivers::SensorModel {
    UNKNOWN = 0,
    HESAI_PANDAR64,
    HESAI_PANDAR40P,
    HESAI_PANDAR40M,
    HESAI_PANDARQT64,
    HESAI_PANDARQT128,
    HESAI_PANDARXT16,
    HESAI_PANDARXT32,
    HESAI_PANDARXT32M,
    HESAI_PANDARAT128,
    HESAI_PANDAR128_E3X,
    HESAI_PANDAR128_E4X,
    VELODYNE_VLS128,
    VELODYNE_HDL64,
    VELODYNE_VLP32,
    VELODYNE_VLP32MR,
    VELODYNE_HDL32,
    VELODYNE_VLP16,
    ROBOSENSE_HELIOS,
    ROBOSENSE_BPEARL_V3,
    ROBOSENSE_BPEARL_V4,
    CONTINENTAL_ARS548,
    CONTINENTAL_SRR520
};


typedef crc16_ccit_false_t

CRC-16/CCITT-FALSE algorithm.

using nebula::drivers::crc16_ccit_false_t = typedef boost::crc_ccitt_false_t;


typedef crc32_mpeg2_t

CRC-32/MPEG-2 algorithm.

using nebula::drivers::crc32_mpeg2_t = typedef boost::crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0x0, false, false>;

Bit Width Polynomial Initial Value Final XOR Reflect In Reflect Remainder
32 0x04C11DB7 0xFFFFFFFF 0x00000000 false false

typedef crc8h2f_t

AUTOSAR CRC8H2F routine.

using nebula::drivers::crc8h2f_t = typedef boost::crc_optimal<8, 0x2F, 0xFF, 0xFF, false, false>;

See AUTOSAR Specification of CRC Routines >=3.1.4, sec. 7.2.1.2.

Bit Width Polynomial Initial Value Final XOR Reflect In Reflect Remainder
8 0x2F 0xFF 0xFF false false

enum datatype

not used?

enum nebula::drivers::datatype {
    INT8 = 1,
    UINT8 = 2,
    INT16 = 3,
    UINT16 = 4,
    INT32 = 5,
    UINT32 = 6,
    FLOAT32 = 7,
    FLOAT64 = 8
};


Public Attributes Documentation

variable bpearl_v4_flag

constexpr uint8_t nebula::drivers::bpearl_v4_flag;

Public Functions Documentation

function convert_point_xyziradt_to_point_xyzir

pcl::PointCloud< PointXYZIR >::Ptr nebula::drivers::convert_point_xyziradt_to_point_xyzir (
    const pcl::PointCloud< PointXYZIRADT >::ConstPtr & input_pointcloud
) 

function convert_point_xyzircaedt_to_point_xyzir

pcl::PointCloud< PointXYZIR >::Ptr nebula::drivers::convert_point_xyzircaedt_to_point_xyzir (
    const pcl::PointCloud< PointXYZIRCAEDT >::ConstPtr & input_pointcloud
) 

function convert_point_xyzircaedt_to_point_xyziradt

pcl::PointCloud< PointXYZIRADT >::Ptr nebula::drivers::convert_point_xyzircaedt_to_point_xyziradt (
    const pcl::PointCloud< PointXYZIRCAEDT >::ConstPtr & input_pointcloud,
    double stamp
) 

function crc

Given a memory range, calculates the CRC over its bytes.

template<typename crc_type, typename T, typename U>
crc_type::value_type nebula::drivers::crc (
    const T * begin,
    const U * end
) 

Both begin and end can be pointers to arbitrary types. They will be cast to void *.

A common example looks like:

 ++
struct MyStruct {
  int a;
  float b;
  uint32_t crc;

  bool is_crc_valid() const {
    return crc<crc32_mpeg_t>(&a, &crc) == crc;
  }
};

Template parameters:

  • crc_type The type of CRC algorithm to use. Has to be a boost::crc_optimal type.

Parameters:

  • begin The beginning of the memory range
  • end One (byte) past the end of the memory range

Returns:

crc_type::value_type The computed CRC


function int_from_return_mode_hesai

Convert ReturnMode enum to return mode number.

inline int nebula::drivers::int_from_return_mode_hesai (
    const ReturnMode return_mode,
    const SensorModel & sensor_model
) 

Parameters:

  • return_mode target ReturnMode
  • sensor_model Model for correct conversion

Returns:

Corresponding return mode number for the hardware


function operator<<

Convert HesaiSensorConfiguration to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    HesaiSensorConfiguration const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert ReturnType enum to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    nebula::drivers::ReturnType const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert ReturnMode enum to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    nebula::drivers::ReturnMode const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert SensorModel enum to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    nebula::drivers::SensorModel const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert SensorConfigurationBase to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    SensorConfigurationBase const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert EthernetSensorConfigurationBase to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    EthernetSensorConfigurationBase const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert CANSensorConfigurationBase to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    CANSensorConfigurationBase const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert LidarConfigurationBase to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    nebula::drivers::LidarConfigurationBase const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert PtpProfile enum to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    nebula::drivers::PtpProfile const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert PtpTransportType enum to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    nebula::drivers::PtpTransportType const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert PtpSwitchType enum to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    nebula::drivers::PtpSwitchType const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert RobosenseSensorConfiguration to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    RobosenseSensorConfiguration const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function operator<<

Convert VelodyneSensorConfiguration to string (Overloading the << operator)

inline std::ostream & nebula::drivers::operator<< (
    std::ostream & os,
    VelodyneSensorConfiguration const & arg
) 

Parameters:

  • os
  • arg

Returns:

stream


function ptp_profile_from_string

Converts String to PTP Profile.

inline PtpProfile nebula::drivers::ptp_profile_from_string (
    const std::string & ptp_profile
) 

Parameters:

  • ptp_profile Profile as String

Returns:

Corresponding PtpProfile


function ptp_switch_type_from_string

Converts String to PTP SwitchType.

inline PtpSwitchType nebula::drivers::ptp_switch_type_from_string (
    const std::string & switch_type
) 

Parameters:

  • switch_type Switch as String

Returns:

Corresponding PtpSwitchType


function ptp_transport_type_from_string

Converts String to PTP TransportType.

inline PtpTransportType nebula::drivers::ptp_transport_type_from_string (
    const std::string & transport_type
) 

Parameters:

  • transport_type Transport as String

Returns:

Corresponding PtpTransportType


function return_mode_from_int_hesai

Convert return mode number to ReturnMode enum.

inline ReturnMode nebula::drivers::return_mode_from_int_hesai (
    const int return_mode,
    const SensorModel & sensor_model
) 

Parameters:

  • return_mode Return mode number from the hardware response
  • sensor_model Model for correct conversion

Returns:

Corresponding ReturnMode


function return_mode_from_string

Convert return mode name to ReturnMode enum.

inline ReturnMode nebula::drivers::return_mode_from_string (
    const std::string & return_mode
) 

Parameters:

  • return_mode Return mode name (Upper and lower case letters must match)

Returns:

Corresponding ReturnMode


function return_mode_from_string_hesai

Convert return mode name to ReturnMode enum (Hesai-specific return_mode_from_string)

inline ReturnMode nebula::drivers::return_mode_from_string_hesai (
    const std::string & return_mode,
    const SensorModel & sensor_model
) 

Parameters:

  • return_mode Return mode name (Upper and lower case letters must match)
  • sensor_model Model for correct conversion

Returns:

Corresponding ReturnMode


function return_mode_from_string_robosense

Convert return mode name to ReturnMode enum (Robosense-specific return_mode_from_string)

inline ReturnMode nebula::drivers::return_mode_from_string_robosense (
    const std::string & return_mode
) 

Parameters:

  • return_mode Return mode name (Upper and lower case letters must match)

Returns:

Corresponding ReturnMode


function return_mode_from_string_velodyne

Convert return mode name to ReturnMode enum (Velodyne-specific return_mode_from_string)

inline ReturnMode nebula::drivers::return_mode_from_string_velodyne (
    const std::string & return_mode
) 

Parameters:

  • return_mode Return mode name (Upper and lower case letters must match)

Returns:

Corresponding ReturnMode


function return_mode_to_int

Convert ReturnMode enum to integer.

inline uint8_t nebula::drivers::return_mode_to_int (
    const ReturnMode & mode
) 

Parameters:

  • mode

Returns:

Corresponding number


function return_mode_to_return_type

Convert ReturnMode enum to ReturnType enum for Pandar AT, XTM (temporary, not used)

inline ReturnType nebula::drivers::return_mode_to_return_type (
    const ReturnMode & mode
) 

Parameters:

  • mode

Returns:

Corresponding mode


function sensor_model_from_string

Convert sensor name to SensorModel enum (Upper and lower case letters must match)

inline SensorModel nebula::drivers::sensor_model_from_string (
    const std::string & sensor_model
) 

Parameters:

  • sensor_model Sensor name (Upper and lower case letters must match)

Returns:

Corresponding SensorModel


function sensor_model_to_string

inline std::string nebula::drivers::sensor_model_to_string (
    const SensorModel & sensor_model
) 

function supports_functional_safety

Whether the given sensor model supports functional safety.

inline bool nebula::drivers::supports_functional_safety (
    const SensorModel & sensor_model
) 

Parameters:

  • sensor_model Sensor model

Returns:

True if the sensor model supports functional safety, false otherwise


function supports_packet_loss_detection

Whether the given sensor model supports packet loss detection.

inline bool nebula::drivers::supports_packet_loss_detection (
    const SensorModel & sensor_model
) 

Parameters:

  • sensor_model Sensor model

Returns:

True if the sensor model supports packet loss detection, false otherwise


Public Static Functions Documentation

function deg2rad

Converts degrees to radians.

static inline float nebula::drivers::deg2rad (
    double degrees
) 

Parameters:

  • radians

Returns:

degrees


function rad2deg

Converts radians to degrees.

static inline float nebula::drivers::rad2deg (
    double radians
) 

Parameters:

  • radians

Returns:

degrees


function rpm2hz

Converts RPM to Hertz.

static inline double nebula::drivers::rpm2hz (
    double rpm
) 

Parameters:

  • rpm

Returns:

Hertz



The documentation for this class was generated from the following file nebula_common/include/nebula_common/continental/continental_ars548.hpp