Autoware.Auto
lidar_integration Namespace Reference

Namespaces

 get_open_port
 
 lidar_checker
 
 lidar_launch_description
 
 point_cloud_mutation_launch_description
 

Classes

class  Lcm
 
class  LidarIntegrationBoxListener
 Specialization of the listener for bounding boxes. More...
 
class  LidarIntegrationListener
 
class  LidarIntegrationPclListener
 Specialization of the listener for point clouds. More...
 
class  PointCloudMutationSpooferNode
 Spoofs random point clouds which may or may not be properly formatted. Intended for use with mutation testing. More...
 
class  Vlp16IntegrationSpoofer
 

Functions

bool8_t LIDAR_INTEGRATION_PUBLIC lidar_integration_test (const std::function< void()> &start_test_nodes, const std::function< void()> &stop_test_nodes, const std::vector< std::shared_ptr< Vlp16IntegrationSpoofer >> &udp_spoofers, const std::vector< std::shared_ptr< LidarIntegrationListener >> &listeners, const std::chrono::milliseconds runtime=std::chrono::seconds{10}, const std::vector< rclcpp::Node::SharedPtr > &nodes={})
 Runs a simple integration test: spoofs vlp16 data, runs test nodes, and listener. Normal nodes are run using a single-threaded exuecutor for simplicity. More...
 

Variables

static constexpr float32_t MIN_RPM = 300.0F
 rpm min speed More...
 
static constexpr float32_t MAX_RPM = 1200.0F
 rpm max speed More...
 
static constexpr uint32_t RAY_SIZE = 16U
 
static constexpr uint16_t AZIMUTH_ROTATION_RESOLUTION = 36000U
 resolution of azimuth angle: number of points in a full rotation More...
 
static constexpr float32_t DEG2IDX
 conversion from a degree (vlp) to idx More...
 
static constexpr uint32_t NUM_INTENSITY_VALUES = 256U
 how intensity is quantized: 1 byte = 256 possible values More...
 
static constexpr uint16_t NUM_BLOCKS_PER_PACKET = 12U
 
static constexpr uint16_t NUM_POINTS_PER_BLOCK = 32U
 number of points stored in a data block More...
 
static constexpr float32_t FIRE_SEQ_OFFSET_US = 55.296F
 full (16 point) fire sequence takes this long to cycle More...
 
static constexpr float32_t FIRE_DURATION_US = 2.304F
 one laser fires for this long More...
 

Function Documentation

◆ lidar_integration_test()

bool8_t lidar_integration::lidar_integration_test ( const std::function< void()> &  start_test_nodes,
const std::function< void()> &  stop_test_nodes,
const std::vector< std::shared_ptr< Vlp16IntegrationSpoofer >> &  udp_spoofers,
const std::vector< std::shared_ptr< LidarIntegrationListener >> &  listeners,
const std::chrono::milliseconds  runtime = std::chrono::seconds{10},
const std::vector< rclcpp::Node::SharedPtr > &  nodes = {} 
)

Runs a simple integration test: spoofs vlp16 data, runs test nodes, and listener. Normal nodes are run using a single-threaded exuecutor for simplicity.

Returns
True if frequency and size conditions of listener are satisfied
Parameters
[in]start_test_nodesFunction to start the nodes to be tested
[in]stop_test_nodesFunction to stop the nodes to be tested
[in]udp_spoofersThe vlp16 spoofers to run, appropriately configured for the problem
[in]listenersThe appropriately configured listeners for the given test case
[in]runtimeThe runtime of the test. Actualy runtime is a bit longer to account for threading etc.
[in]nodesNormal nodes to also run during test, included for compatibility, generally not recommended to use. These get registered with a single-threaded executor

Variable Documentation

◆ AZIMUTH_ROTATION_RESOLUTION

constexpr uint16_t lidar_integration::AZIMUTH_ROTATION_RESOLUTION = 36000U
staticconstexpr

resolution of azimuth angle: number of points in a full rotation

◆ DEG2IDX

constexpr float32_t lidar_integration::DEG2IDX
staticconstexpr
Initial value:
=
static_cast<float32_t>(AZIMUTH_ROTATION_RESOLUTION) / 360.0F

conversion from a degree (vlp) to idx

◆ FIRE_DURATION_US

constexpr float32_t lidar_integration::FIRE_DURATION_US = 2.304F
staticconstexpr

one laser fires for this long

◆ FIRE_SEQ_OFFSET_US

constexpr float32_t lidar_integration::FIRE_SEQ_OFFSET_US = 55.296F
staticconstexpr

full (16 point) fire sequence takes this long to cycle

◆ MAX_RPM

constexpr float32_t lidar_integration::MAX_RPM = 1200.0F
staticconstexpr

rpm max speed

◆ MIN_RPM

constexpr float32_t lidar_integration::MIN_RPM = 300.0F
staticconstexpr

rpm min speed

◆ NUM_BLOCKS_PER_PACKET

constexpr uint16_t lidar_integration::NUM_BLOCKS_PER_PACKET = 12U
staticconstexpr

All of these hardcoded values should remain fixed unless the VLP16 packet spec changes /// number of data blocks per data packet

◆ NUM_INTENSITY_VALUES

constexpr uint32_t lidar_integration::NUM_INTENSITY_VALUES = 256U
staticconstexpr

how intensity is quantized: 1 byte = 256 possible values

◆ NUM_POINTS_PER_BLOCK

constexpr uint16_t lidar_integration::NUM_POINTS_PER_BLOCK = 32U
staticconstexpr

number of points stored in a data block

◆ RAY_SIZE

constexpr uint32_t lidar_integration::RAY_SIZE = 16U
staticconstexpr
autoware::common::types::float32_t
float float32_t
Definition: types.hpp:36
lidar_integration::AZIMUTH_ROTATION_RESOLUTION
static constexpr uint16_t AZIMUTH_ROTATION_RESOLUTION
resolution of azimuth angle: number of points in a full rotation
Definition: vlp16_integration_spoofer.cpp:117