23 #include "Eigen/Dense" 25 #include "modules/transform/buffer.h" 28 namespace perception {
31 using apollo::transform::Buffer;
51 double max_duration = 0.0);
58 double cache_duration_ = 1.0;
66 void Init(
const std::string& sensor2novatel_tf2_child_frame_id);
67 void Init(
const std::string& sensor2novatel_tf2_frame_id,
68 const std::string& sensor2novatel_tf2_child_frame_id,
69 const std::string& novatel2world_tf2_frame_id,
70 const std::string& novatel2world_tf2_child_frame_id);
73 bool GetSensor2worldTrans(
double timestamp,
74 Eigen::Affine3d* sensor2world_trans,
75 Eigen::Affine3d* novatel2world_trans =
nullptr);
77 bool GetExtrinsics(Eigen::Affine3d* trans);
80 bool GetTrans(
double timestamp, Eigen::Affine3d* trans,
81 const std::string& frame_id,
const std::string& child_frame_id);
83 bool GetExtrinsicsBySensorId(
const std::string& from_sensor_id,
84 const std::string& to_sensor_id,
85 Eigen::Affine3d* trans);
89 const std::string& frame_id,
90 const std::string& child_frame_id);
95 Buffer* tf2_buffer_ = Buffer::Instance();
97 std::string sensor2novatel_tf2_frame_id_;
98 std::string sensor2novatel_tf2_child_frame_id_;
99 std::string novatel2world_tf2_frame_id_;
100 std::string novatel2world_tf2_child_frame_id_;
102 std::unique_ptr<Eigen::Affine3d> sensor2novatel_extrinsics_;
DECLARE_double(obs_buffer_match_precision)
DECLARE_string(obs_screen_output_dir)