Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "tf/transform_broadcaster.h"
00031 #include "ros/ros.h"
00032
00033 class testBroadcaster
00034 {
00035 public:
00036
00037 testBroadcaster() : count(0), count1(0){};
00038
00039 ~testBroadcaster() { }
00040
00041
00042 tf::TransformBroadcaster broadcaster;
00043
00044
00045
00046 void test () {
00047 broadcaster.sendTransform(tf::StampedTransform(tf::Transform(tf::createIdentityQuaternion(), tf::Vector3(1,2,3)), ros::Time().fromSec(1), "frame2", "frame1"));
00048
00049 if (count > 9000)
00050 {
00051 count = 0;
00052 std::cerr<<"Counter 0 rolledover at 9000"<< std::endl;
00053 }
00054 else
00055 count ++;
00056
00057 };
00058
00059
00060 void test_vector () {
00061 std::vector<tf::StampedTransform> vec;
00062 vec.push_back(tf::StampedTransform(tf::Transform(tf::createIdentityQuaternion(), tf::Vector3(1,2,3)), ros::Time().fromSec(1), "vframe2", "vframe1"));
00063 vec.push_back(tf::StampedTransform(tf::Transform(tf::createIdentityQuaternion(), tf::Vector3(1,2,3)), ros::Time().fromSec(1), "vframe1", "vframe0"));
00064 broadcaster.sendTransform(vec);
00065
00066 if (count1 > 9000)
00067 {
00068 count1 = 0;
00069 std::cerr<<"Counter 1 rolledover at 9000"<< std::endl;
00070 }
00071 else
00072 count1 ++;
00073
00074 };
00075 private:
00076 int count;
00077 int count1;
00078
00079 };
00080
00081 int main(int argc, char ** argv)
00082 {
00083
00084 ros::init(argc, argv, "testBroadcaster", ros::init_options::AnonymousName);
00085
00086
00087 testBroadcaster myTestBroadcaster;
00088
00089 ros::NodeHandle node;
00090 while(ros::ok())
00091 {
00092
00093 myTestBroadcaster.test();
00094 myTestBroadcaster.test_vector();
00095 usleep(1000);
00096 }
00097
00098 return 0;
00099 };
00100