ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Put the timestamp of the received PointCloud2 into waitForTransform instead of ros::Time(0)
. lookupTransform isn't necessary at all unless you are using cam_bl_tf somewhere else in this code that you didn't paste here. The example code in #q90246 is a decent example - they are also more correctly using the frame supplied in the incoming message and not a hardcoded one.
What you are doing now is waiting for a valid transform at the most recent possible time, but stamp in your PointCloud2 (which is the only timestamp the transformPointCloud gets) is at an earlier time that isn't in the tf listener history.
2 | No.2 Revision |
Put the timestamp of the received PointCloud2 into waitForTransform instead of ros::Time(0)
. lookupTransform isn't necessary at all unless you are using cam_bl_tf somewhere else in this code that you didn't paste here. The example code in #q90246 is a decent example - they are also more correctly using the frame supplied in the incoming message and not a hardcoded one.
What you are doing now is waiting for a valid transform at the most recent possible time, but stamp in your PointCloud2 (which is the only timestamp the that transformPointCloud gets) is at an earlier time that isn't in the tf listener history.
3 | No.3 Revision |
Put the timestamp of the received PointCloud2 into waitForTransform instead of ros::Time(0)
. lookupTransform isn't necessary at all unless you are using cam_bl_tf somewhere else in this code that you didn't paste here. The example code in #q90246 is a decent example - they are also more correctly using the frame supplied in the incoming message and not a hardcoded one.
What you are doing now is waiting for a valid transform at the most recent possible time, but stamp in your PointCloud2 (which is the only timestamp that transformPointCloud gets) is at an earlier time that isn't in the tf listener history.
4 | No.4 Revision |
Put the timestamp of the received PointCloud2 into waitForTransform instead of ros::Time(0)
. lookupTransform isn't necessary at all unless you are using cam_bl_tf somewhere else in this code that you didn't paste here. The code in #q90246 is a decent example - they are also more correctly using the frame supplied in the incoming message and not a hardcoded one.
What you are doing now is waiting for a valid transform at the most recent possible time, but stamp in your PointCloud2 (which is the only timestamp that transformPointCloud gets) is at an earlier time that isn't in the tf listener history.
http://wiki.ros.org/tf/Tutorials/tf%20and%20Time%20(C++)
5 | No.5 Revision |
You'll get that exception until the tf listener gets some history into it, the first few callbacks should just return when it happens instead of continuing on to try the transformPointCloud.
There are some other issues with your code:
Put the timestamp of the received PointCloud2 into waitForTransform instead of ros::Time(0)
. lookupTransform isn't necessary at all unless you are using cam_bl_tf somewhere else in this code that you didn't paste here. The code in #q90246 is a decent example - they are also more correctly using the frame supplied in the incoming message and not a hardcoded one.
What you are doing now is waiting for a valid transform at the most recent possible time, but stamp in your PointCloud2 (which is the only timestamp that transformPointCloud gets) is at an earlier time that isn't in the tf listener history.
http://wiki.ros.org/tf/Tutorials/tf%20and%20Time%20(C++)
6 | No.6 Revision |
You'll get that exception error until the tf listener gets some history into it, the first few callbacks should just return when it happens instead of continuing on to try the transformPointCloud.
There are some other issues with your code:transformPointCloud- except you aren't correctly using waitForTransform to detect the problem.
Put the timestamp of the received PointCloud2 into waitForTransform instead of ros::Time(0)
. lookupTransform isn't necessary at all unless you are using cam_bl_tf somewhere else in this code that you didn't paste here. The code in #q90246 is a decent example - they are also more correctly using the frame supplied in the incoming message and not a hardcoded one.one.
http://wiki.ros.org/tf/Tutorials/tf%20and%20Time%20(C++)