1 #ifndef SLAM_CTOR_ROS_ROBOT_POSE_OBSERVERS_H 2 #define SLAM_CTOR_ROS_ROBOT_POSE_OBSERVERS_H 9 #include "../core/states/world.h" 14 const std::string &tf_robot_frame_id) :
40 template <
typename ObsType>
45 const std::string &tf_robot_frame_id)
58 return _observation_time;
68 bool flush_every_entry =
false)
69 : _fstream{fname, std::ios::out}
70 , _flush_every_entry{flush_every_entry} {}
78 _fstream << time.
sec <<
'.' << time.
nsec 79 <<
' ' << pose.
x <<
' ' << pose.
y <<
' ' <<
'0' 80 <<
' ' << q.x() <<
' ' << q.y() <<
' ' << q.z() <<
' ' << q.w()
82 if (_flush_every_entry) {
void log_robot_pose(const ros::Time &time, const RobotPose &pose)
std::string _tf_map_frame_id
static tf::Quaternion createQuaternionFromRPY(double roll, double pitch, double yaw)
void on_pose_update(const RobotPose &pose) override
ObservationStampedRoboPoseTfPublisher(const std::string &tf_map_frame_id, const std::string &tf_robot_frame_id)
RobotPoseTfPublisher(const std::string &tf_map_frame_id, const std::string &tf_robot_frame_id)
void handle_transformed_msg(const boost::shared_ptr< ObsType > obs, const tf::StampedTransform &) override
RobotPoseTumTrajectoryDumper(const std::string &fname, bool flush_every_entry=false)
std::string _tf_robot_frame_id
ros::Time robot_pose_timestamp() override
virtual ros::Time robot_pose_timestamp()
tf::TransformBroadcaster _tf_brcst
std::string tf_map_frame_id()
void on_pose_update(const RobotPose &pose) override
ros::Time _observation_time