22 #include "modules/drivers/lidar/proto/config.pb.h" 23 #include "modules/drivers/lidar/proto/robosense.pb.h" 24 #include "modules/drivers/lidar/proto/robosense_config.pb.h" 25 #include "modules/drivers/proto/pointcloud.pb.h" 29 #include "modules/drivers/lidar/robosense/decoder/decoder_16.hpp" 30 #include "modules/drivers/lidar/robosense/decoder/decoder_factory.hpp" 33 #define PKT_DATA_LENGTH 1248 41 std::array<uint8_t, PKT_DATA_LENGTH>
packet{};
47 const ::apollo::drivers::lidar::config &config)
48 : node_(node), conf_(config.robosense()) {}
50 : node_(node), conf_(conf) {}
56 void processMsopPackets();
57 void processDifopPackets();
60 std::shared_ptr<cyber::Node> node_ =
nullptr;
62 std::shared_ptr<cyber::Writer<RobosenseScan>> scan_writer_ =
nullptr;
63 std::shared_ptr<cyber::Writer<PointCloud>> pointcloud_writer_ =
nullptr;
66 void prepareLidarScanMsg(std::shared_ptr<RobosenseScan> msg);
67 void preparePointsMsg(std::shared_ptr<PointCloud> msg);
69 msop_pkt_queue_.clear();
70 difop_pkt_queue_.clear();
71 if (thread_flag_ ==
true) {
73 lidar_thread_ptr_->join();
81 std::shared_ptr<std::thread> lidar_thread_ptr_;
82 std::shared_ptr<DecoderBase<PointXYZIT>> lidar_decoder_ptr_;
83 std::shared_ptr<Input> lidar_input_ptr_;
86 std::shared_ptr<PointCloud> point_cloud_ptr_;
87 std::shared_ptr<RobosenseScan> scan_ptr_;
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
std::string frame_id
Definition: driver.h:40
std::array< uint8_t, PKT_DATA_LENGTH > packet
lidar single packet
Definition: driver.h:41
double timestamp
Definition: driver.h:39
RobosenseDriver(const std::shared_ptr< cyber::Node > &node, const ::apollo::drivers::lidar::config &config)
Definition: driver.h:46
The class which defines the lidar driver .
Definition: driver_base.h:45
Defines the CanFrame struct and CanClient interface.
RobosenseDriver(const std::shared_ptr< cyber::Node > &node, const Config &conf)
Definition: driver.h:49
bool Init(const char *binary_name)
~RobosenseDriver()
Definition: driver.h:51