// Use a child class to get access to tf2::Buffer class inside of tf_ structTransformListenerWrapper :public tf::TransformListener { inline tf2_ros::Buffer &getBuffer(){return tf2_buffer_;} };
The listener’s buffer, which carries all information about recent transformation, is literally empty. Therefore, any transform which looks-up the buffer does not find the frames it needs. It is good practice to wait for some time after the listener has been created so that the buffer can fill up. But instead of just sleeping, tf use waitForTransform
<librarypath="lib/libcostmap_prohibition_layer"> <classtype="costmap_prohibition_layer_namespace::CostmapProhibitionLayer"base_class_type="costmap_2d::Layer"> <description>ROS-Package that implements a costmap layer to add prohibited areas to the costmap-2D by a user configuration.</description> </class> </library>
ROS_INFO("transform from parent to child x: %f",transform.transform.translation.x); ROS_INFO("transform from parent to child y: %f",transform.transform.translation.y); ROS_INFO("transform from parent to child z: %f\n",transform.transform.translation.z);
ROS_INFO("point int parent, x: %f",point_out.point.x); ROS_INFO("point int parent, y: %f",point_out.point.y); ROS_INFO("point int parent, z: %f\n",point_out.point.z);