10 #ifndef CVelodyneScanner_H    11 #define CVelodyneScanner_H   181                         void  loadConfig_sensorSpecific(
   223                         bool loadCalibrationFile(
const std::string & velodyne_xml_calib_file_path ); 
   229                         bool setLidarReturnType(return_type_t ret_type);
   235                         bool setLidarRPM(
int rpm);
   241                         bool setLidarOnOff(
bool on);
   252                         bool getNextObservation(
   253                                 mrpt::obs::CObservationVelodyneScanPtr & outScan,
   254                                 mrpt::obs::CObservationGPSPtr          & outGPS
   264                         virtual void initialize();
   284 #ifdef MRPT_OS_WINDOWS   285 #       if MRPT_WORD_SIZE==64   299                 bool internal_read_PCAP_packet(
   311                 bool internal_send_http_post(
const std::string &post_data);
 A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
 
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
 
std::map< model_t, TModelProperties > model_properties_list_t
 
Velodyne calibration data, for usage in mrpt::obs::CObservationVelodyneScan. 
 
hwdrivers::CVelodyneScanner::model_t enum_t
 
static void fill(bimap< enum_t, std::string > &m_map)
 
hwdrivers::CVelodyneScanner::return_type_t enum_t
 
A C++ interface to Velodyne laser scanners (HDL-64, HDL-32, VLP-16), working on Linux and Windows...
 
static short int VELODYNE_POSITION_UDP_PORT
Default: 8308. Change it if required. 
 
void setPosPacketsMinPeriod(double period_seconds)
Set the minimum period between the generation of mrpt::obs::CObservationGPS observations from Velodyn...
 
void setPCAPInputFile(const std::string &pcap_file)
Enables reading from a PCAP file instead of live UDP packet listening. 
 
int platform_socket_t
Handles for the UDP sockets, or INVALID_SOCKET (-1) 
 
platform_socket_t m_hPositionSock
 
void setPCAPVerbosity(const bool verbose)
Enables/disables PCAP info messages to console (default: true) 
 
const std::string & getDeviceIP() const
 
bool m_pcap_read_once
Default: false. 
 
void * m_pcap_bpf_program
opaque ptr: bpf_program* 
 
void setModelName(const model_t model)
See supported model names in the general discussion docs for mrpt::hwdrivers::CVelodyneScanner. 
 
Only specializations of this class are defined for each enum type of interest. 
 
model_t
LIDAR model types. 
 
bool m_pcap_read_fast
(Default: false) If false, will use m_pcap_read_full_scan_delay_ms 
 
mrpt::system::TTimeStamp m_last_pos_packet_timestamp
 
This class allows loading and storing values and vectors of different types from a configuration text...
 
double m_pcap_repeat_delay
Default: 0 (in seconds) 
 
void setPosPacketsTimingTimeout(double timeout)
Set how long to wait, after loss of GPS signal, to report timestamps as "not based on satellite time"...
 
void setPCAPOutputFile(const std::string &out_pcap_file)
Enables dumping to a PCAP file in parallel to returning regular MRPT objects. 
 
const std::string & getPCAPOutputFile() const
 
const std::string & getPCAPInputFile() const
 
mrpt::obs::VelodyneCalibration m_velodyne_calib
Device calibration file (supplied by vendor in an XML file) 
 
double getPosPacketsMinPeriod() const
 
double m_pos_packets_min_period
Default: 0.5 seconds. 
 
return_type_t m_lidar_return
 
unsigned int m_pcap_read_count
number of pkts read from the file so far (for debugging) 
 
std::string m_pcap_output_file
Default: "" (do not dump to an offline file) 
 
Hard-wired properties of LIDARs depending on the model. 
 
A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std...
 
double getPosPacketsTimingTimeout() const
 
bool m_pcap_verbose
Default: true Output PCAP Info msgs. 
 
void setCalibration(const mrpt::obs::VelodyneCalibration &calib)
 
GLsizei const GLchar ** string
 
std::string m_pcap_input_file
Default: "" (do not operate from an offline file) 
 
Payload of one POSITION packet. 
 
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
 
void * m_pcap_out
opaque ptr: "pcap_t*" 
 
unsigned __int64 uint64_t
 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
model_t getModelName() const
 
double m_pos_packets_timing_timeout
Default: 30 seconds. 
 
static void fill(bimap< enum_t, std::string > &m_map)
 
A class used to store a 3D pose (a 3D translation + a rotation in 3D). 
 
One unit of data from the scanner (the payload of one UDP DATA packet) 
 
bool getPCAPInputFileReadOnce() const
 
static short int VELODYNE_DATA_UDP_PORT
Default: 2368. Change it if required. 
 
double m_pcap_read_full_scan_delay_ms
(Default:100 ms) delay after each full scan read from a PCAP log 
 
void * m_pcap
opaque ptr: "pcap_t*" 
 
void setPCAPInputFileReadOnce(bool read_once)
 
void insert(const KEY &k, const VALUE &v)
Insert a new pair KEY<->VALUE in the bi-map. 
 
Access to default sets of parameters for Velodyne LIDARs. 
 
void * m_pcap_dumper
opaque ptr: "pcap_dumper_t *" 
 
const mrpt::obs::VelodyneCalibration & getCalibration() const
 
std::string m_device_ip
Default: "" (no IP-based filtering) 
 
mrpt::obs::CObservationVelodyneScanPtr m_rx_scan
In progress RX scan. 
 
unsigned __int32 uint32_t
 
return_type_t
LIDAR return type. 
 
mrpt::poses::CPose3D m_sensorPose
 
mrpt::system::TTimeStamp m_last_gps_rmc_age
 
void setDeviceIP(const std::string &ip)
UDP packets from other IPs will be ignored. 
 
model_t m_model
Default: "VLP16". 
 
mrpt::obs::gnss::Message_NMEA_RMC m_last_gps_rmc