Example
tf2_ros::Buffer tfBuffer;
tf2_ros::TransformListener tfListener(tfBuffer);
geometry_msgs::TransformStamped transformStamped;
try
{
ros::Time now = ros::Time::now();
if (tfBuffer.canTransform("odom",
"base_laser",
now,
ros::Duration(0.01)))
{
transformStamped = tfBuffer.lookupTransform("odom",
"base_laser",
now);
ROS_INFO("canTransform: TRUE");
ROS_INFO("Transform: [%.2f, %.2f, %.2f]",
transformStamped.transform.translation.x,
transformStamped.transform.translation.y,
transformStamped.transform.translation.z);
}
else
{
ROS_INFO("canTransform: FALSE");
}
}
catch (tf2::TransformException &ex)
{
ROS_WARN("%s", ex.what());
ros::Duration(1);
}