19 #ifndef SLAM_TOOLBOX_POSE_UTILS_H_ 20 #define SLAM_TOOLBOX_POSE_UTILS_H_ 22 #include <geometry_msgs/PoseWithCovarianceStamped.h> 34 const std::string& base_frame,
35 const std::string& odom_frame)
42 geometry_msgs::TransformStamped base_ident, odom_pose;
43 base_ident.header.stamp = t;
45 base_ident.transform.rotation.w = 1.0;
53 ROS_WARN(
"Failed to compute odom pose, skipping scan (%s)", e.what());
57 const double yaw =
tf2::getYaw(odom_pose.transform.rotation);
58 karto_pose =
karto::Pose2(odom_pose.transform.translation.x,
59 odom_pose.transform.translation.y, yaw);
71 #endif //SLAM_TOOLBOX_POSE_UTILS_H_
T & transform(const T &in, T &out, const std::string &target_frame, ros::Duration timeout=ros::Duration(0.0)) const
GetPoseHelper(tf2_ros::Buffer *tf, const std::string &base_frame, const std::string &odom_frame)
bool getOdomPose(karto::Pose2 &karto_pose, const ros::Time &t)
double getYaw(const A &a)