17 #ifndef LIDAR_HESAI_SRC_PARSE_H 18 #define LIDAR_HESAI_SRC_PARSE_H 26 #include "modules/drivers/lidar/proto/hesai_config.pb.h" 27 #include "modules/drivers/lidar/proto/hesai.pb.h" 28 #include "modules/drivers/proto/pointcloud.pb.h" 42 Parser(
const std::shared_ptr<::apollo::cyber::Node>& node,
45 void Parse(
const uint8_t* data,
int size,
bool* is_end);
46 bool Parse(
const std::shared_ptr<HesaiScan>& scan);
50 std::thread online_calibration_thread_;
51 void GetCalibrationThread();
52 bool CheckIsEnd(
bool is_end);
53 void LoadCalibrationThread();
54 bool LoadCalibration(
const std::string& content);
55 bool LoadCalibration(
const char* path_file);
56 void PublishRawPointCloud(
int ret = -1);
60 std::atomic<bool> running_ = {
true};
69 std::shared_ptr<::apollo::cyber::Node>
node_;
void ResetRawPointCloud()
std::shared_ptr<::apollo::cyber::Node > node_
Definition: parser.h:69
uint64_t raw_last_time_
Definition: parser.h:74
std::shared_ptr< PointCloud > raw_pointcloud_out_
Definition: parser.h:78
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
int last_azimuth_
Definition: parser.h:80
virtual void ParseRawPacket(const uint8_t *buf, const int len, bool *is_end)=0
uint32_t packet_nums_
Definition: parser.h:85
uint32_t min_packets_
Definition: parser.h:83
std::deque< std::shared_ptr< PointCloud > > raw_pointcloud_pool_
Definition: parser.h:76
const double PI
Definition: const_var.h:77
int pool_index_
Definition: parser.h:73
int pool_size_
Definition: parser.h:72
int tz_second_
Definition: parser.h:81
Parser(const std::shared_ptr<::apollo::cyber::Node > &node, const Config &conf)
void Parse(const uint8_t *data, int size, bool *is_end)
double horizatal_azimuth_offset_map_[LASER_COUNT_L64]
Definition: parser.h:88
const int LASER_COUNT_L64
Definition: const_var.h:52
std::shared_ptr<::apollo::cyber::Writer< PointCloud > > raw_pointcloud_writer_
Definition: parser.h:71
int start_angle_
Definition: parser.h:82
uint32_t max_packets_
Definition: parser.h:84
const int HESAI40_MIN_PACKETS
Definition: const_var.h:32
double elev_angle_map_[LASER_COUNT_L64]
Definition: parser.h:87
void CheckPktTime(double time_sec)
int seq_index_
Definition: parser.h:75
bool is_calibration_
Definition: parser.h:68
const int HESAI40_MAX_PACKETS
Definition: const_var.h:31
Config conf_
Definition: parser.h:70
double degreeToRadian(double degree)
Definition: parser.h:38