Classes | |
struct | raw_block |
Raw Velodyne data block. More... | |
struct | raw_packet |
Raw Velodyne packet. More... | |
class | RawData |
Velodyne data conversion class. More... | |
union | two_bytes |
Typedefs | |
typedef struct velodyne_rawdata::raw_block | raw_block_t |
Raw Velodyne data block. | |
typedef struct velodyne_rawdata::raw_packet | raw_packet_t |
Raw Velodyne packet. | |
typedef velodyne_pointcloud::PointXYZIR | VPoint |
typedef pcl::PointCloud< VPoint > | VPointCloud |
Variables | |
static const int | BLOCK_DATA_SIZE = (SCANS_PER_BLOCK * RAW_SCAN_SIZE) |
static const int | BLOCKS_PER_PACKET = 12 |
static const float | DISTANCE_MAX = 130.0f |
static const float | DISTANCE_MAX_UNITS |
static const float | DISTANCE_RESOLUTION = 0.002f |
static const uint16_t | LOWER_BANK = 0xddff |
static const int | PACKET_SIZE = 1206 |
static const int | PACKET_STATUS_SIZE = 4 |
static const int | PACKETS_PER_REV = 260 |
static const int | RAW_SCAN_SIZE = 3 |
static const uint16_t | ROTATION_MAX_UNITS = 36000 |
static const float | ROTATION_RESOLUTION = 0.01f |
static const int | SCANS_PER_BLOCK = 32 |
static const int | SCANS_PER_PACKET = (SCANS_PER_BLOCK * BLOCKS_PER_PACKET) |
static const int | SCANS_PER_REV = (SCANS_PER_PACKET * PACKETS_PER_REV) |
static const int | SIZE_BLOCK = 100 |
static const uint16_t | UPPER_BANK = 0xeeff |
typedef struct velodyne_rawdata::raw_block velodyne_rawdata::raw_block_t |
Raw Velodyne data block.
Each block contains data from either the upper or lower laser bank. The device returns three times as many upper bank blocks.
use stdint.h types, so things work with both 64 and 32-bit machines
typedef struct velodyne_rawdata::raw_packet velodyne_rawdata::raw_packet_t |
Raw Velodyne packet.
revolution is described in the device manual as incrementing (mod 65536) for each physical turn of the device. Our device seems to alternate between two different values every third packet. One value increases, the other decreases.
status has either a temperature encoding or the microcode level
const int velodyne_rawdata::BLOCK_DATA_SIZE = (SCANS_PER_BLOCK * RAW_SCAN_SIZE) [static] |
const int velodyne_rawdata::BLOCKS_PER_PACKET = 12 [static] |
const float velodyne_rawdata::DISTANCE_MAX = 130.0f [static] |
const float velodyne_rawdata::DISTANCE_MAX_UNITS [static] |
(DISTANCE_MAX / DISTANCE_RESOLUTION + 1.0)
const float velodyne_rawdata::DISTANCE_RESOLUTION = 0.002f [static] |
const uint16_t velodyne_rawdata::LOWER_BANK = 0xddff [static] |
const int velodyne_rawdata::PACKET_SIZE = 1206 [static] |
const int velodyne_rawdata::PACKET_STATUS_SIZE = 4 [static] |
const int velodyne_rawdata::PACKETS_PER_REV = 260 [static] |
const int velodyne_rawdata::RAW_SCAN_SIZE = 3 [static] |
const uint16_t velodyne_rawdata::ROTATION_MAX_UNITS = 36000 [static] |
const float velodyne_rawdata::ROTATION_RESOLUTION = 0.01f [static] |
const int velodyne_rawdata::SCANS_PER_BLOCK = 32 [static] |
const int velodyne_rawdata::SCANS_PER_PACKET = (SCANS_PER_BLOCK * BLOCKS_PER_PACKET) [static] |
const int velodyne_rawdata::SCANS_PER_REV = (SCANS_PER_PACKET * PACKETS_PER_REV) [static] |
const int velodyne_rawdata::SIZE_BLOCK = 100 [static] |
const uint16_t velodyne_rawdata::UPPER_BANK = 0xeeff [static] |