Frame problem when using with a third-party node
I'm using laser_scan_matcher node to be working with my node. The problem I'm now having is that I've my /world
defined somewhere in my code. In laser_scan_matcher, I need to set the value for publish_tf
as true
, or else, it'll complaint. I can set publish_tf
as true
, but then, the output and the robot movement is really weird or wrong. Whenever I try to set the publish_tf
as false
, I receive the following serious warning:
[ WARN] [1329318619.876324732]: Warning: Frame id /world does not exist! Frames(3):Frame /laser exists with parent /base_link.
Frame /base_link exists with parent NO_PARENT.
Without the laser_scan_matcher node, my own node works out-of-the-box. I've also seen the code of laser_scan_matcher, they also define "world" frame. Do they clash? Any idea how to resolve this?
EDIT
In my broadcaster node:
static tf::TransformBroadcaster tfb;
tf::Transform xform;
xform.setOrigin(tf::Vector3(previous_poseLD2_.pose.position.x-starting_position_x, previous_poseLD2_.pose.position.y-starting_position_y, previous_poseLD2_.pose.position.z));
xform.setRotation(tf::Quaternion(previous_poseLD2_.pose.orientation.x, previous_poseLD2_.pose.orientation.y, previous_poseLD2_.pose.orientation.z, previous_poseLD2_.pose.orientation.w));
tfb.sendTransform(tf::StampedTransform(xform, ros::Time::now(), "/world", "/base_link"));
In another node:
tfListener_.waitForTransform("/world", "/laser", ros::Time::now(), ros::Duration(20.0));
On top of that, I have a static transform publisher from base_link to laser.
BTW, I'm specifically interested to use the pose information(x, y and delta) to be integrated with my node.
Here is the laser_scan_matcher xml:
<node pkg="laser_scan_matcher" type="laser_scan_matcher_node" name="laser_scan_matcher_node" output="screen">
<param name="use_alpha_beta" value="true"/>
<param name="max_iterations" value="10"/>
<param name="publish_tf" value="false"/>
</node>
How often does this warning appear? Is it only one time? Or is it continuous?
It's continuous but not frequent.