11 #include <pcl/common/common.h> 12 #include <pcl/point_cloud.h> 13 #include <sensor_msgs/Imu.h> 14 #include <sensor_msgs/PointCloud2.h> 17 #include "ouster_driver/PacketMsg.h" 31 using ns = std::chrono::nanoseconds;
75 const std::string& frame =
"os1_imu");
98 const std::string& frame =
"os1");
109 const std::function<
void(
const PacketMsg& pm)>& lidar_handler,
110 const std::function<
void(
const PacketMsg& pm)>& imu_handler);
121 ns scan_dur,
const std::function<
void(
ns,
const CloudOS1&)>& f);
pcl::PointCloud< PointXYZIF > CloudOS1XYZIF
bool read_imu_packet(const ouster::OS1::client &cli, PacketMsg &pm)
pcl::PointCloud< PointXYZIRFN > CloudOS1XYZIRFN
pcl::PointCloud< PointOS1 > CloudOS1
void convert2XYZIRF(const CloudOS1 &in, CloudOS1XYZIRF &out)
void convert2XYZIFN(const CloudOS1 &in, CloudOS1XYZIFN &out)
void convert2XYZ(const CloudOS1 &in, CloudOS1XYZ &out)
void set_point_mode(std::string mode_xyzir)
ouster_driver::PacketMsg PacketMsg
pcl::PointCloud< pcl::PointXYZI > CloudOS1XYZI
void convert2XYZIR(const CloudOS1 &in, CloudOS1XYZIR &out)
ns timestamp_of_imu_packet(const PacketMsg &pm)
ns timestamp_of_lidar_packet(const PacketMsg &pm)
void spin(const ouster::OS1::client &cli, const std::function< void(const PacketMsg &pm)> &lidar_handler, const std::function< void(const PacketMsg &pm)> &imu_handler)
std::function< void(const PacketMsg &)> batch_packets(ns scan_dur, const std::function< void(ns, const CloudOS1 &)> &f)
std::chrono::nanoseconds ns
pcl::PointCloud< PointXYZIR > CloudOS1XYZIR
void convert2XYZIF(const CloudOS1 &in, CloudOS1XYZIF &out)
void convert2XYZI(const CloudOS1 &in, CloudOS1XYZI &out)
sensor_msgs::Imu packet_to_imu_msg(const PacketMsg &pm, const std::string &frame="os1_imu")
bool read_lidar_packet(const ouster::OS1::client &cli, PacketMsg &pm)
pcl::PointCloud< pcl::PointXYZ > CloudOS1XYZ
pcl::PointCloud< PointXYZIFN > CloudOS1XYZIFN
void add_packet_to_cloud(ns scan_start_ts, ns scan_duration, const PacketMsg &pm, CloudOS1 &cloud)
void convert2XYZIRFN(const CloudOS1 &in, CloudOS1XYZIRFN &out)
pcl::PointCloud< PointXYZIRF > CloudOS1XYZIRF
sensor_msgs::PointCloud2 cloud_to_cloud_msg(const CloudOS1 &cloud, ns timestamp, const std::string &frame="os1")