ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Thanks.
I could not get the functions listed in that api to work properly, but it did lead to something else that worked. here is my code that I tested and worked. I know the while (true) is not the best way to publish, but it worked for a test.
Eigen::Matrix4f Tm;
Tm << 0.714191, -0.54278, 0.441988, 0.0432322,
0.409255, 0.836069, 0.36542, 0.0571429,
-0.567861, -0.0800918, 0.819232, 1.22178,
0, 0, 0, 1;
// calculate center of lifting eye tranform
Tm = centerOffset * Tm;
tf::Vector3 origin;
origin.setValue(static_cast<double>(Tm(0,3)),static_cast<double>(Tm(1,3)),static_cast<double>(Tm(2,3)));
cout << origin << endl;
tf::Matrix3x3 tf3d;
tf3d.setValue(static_cast<double>(Tm(0,0)), static_cast<double>(Tm(0,1)), static_cast<double>(Tm(0,2)),
static_cast<double>(Tm(1,0)), static_cast<double>(Tm(1,1)), static_cast<double>(Tm(1,2)),
static_cast<double>(Tm(2,0)), static_cast<double>(Tm(2,1)), static_cast<double>(Tm(2,2)));
tf::Quaternion tfqt;
tf3d.getRotation(tfqt);
tf::Transform transform;
transform.setOrigin(origin);
transform.setRotation(tfqt);
while (true) br.sendTransform(tf::StampedTransform(transform, ros::Time::now(), "camera_rgb_optical_frame", "lifting_eye"));
2 | No.2 Revision |
Thanks.
I could not get the functions listed in that api to work properly, but it did lead to something else that worked. here is my code that I tested and worked. I know the while (true) is not the best way to publish, but it worked for a test.
Eigen::Matrix4f Tm;
Tm << 0.714191, -0.54278, 0.441988, 0.0432322,
0.409255, 0.836069, 0.36542, 0.0571429,
-0.567861, -0.0800918, 0.819232, 1.22178,
0, 0, 0, 1;
// calculate center of lifting eye tranform
Tm = centerOffset * Tm;
tf::Vector3 origin;
origin.setValue(static_cast<double>(Tm(0,3)),static_cast<double>(Tm(1,3)),static_cast<double>(Tm(2,3)));
cout << origin << endl;
tf::Matrix3x3 tf3d;
tf3d.setValue(static_cast<double>(Tm(0,0)), static_cast<double>(Tm(0,1)), static_cast<double>(Tm(0,2)),
static_cast<double>(Tm(1,0)), static_cast<double>(Tm(1,1)), static_cast<double>(Tm(1,2)),
static_cast<double>(Tm(2,0)), static_cast<double>(Tm(2,1)), static_cast<double>(Tm(2,2)));
tf::Quaternion tfqt;
tf3d.getRotation(tfqt);
tf::Transform transform;
transform.setOrigin(origin);
transform.setRotation(tfqt);
while (true) br.sendTransform(tf::StampedTransform(transform, ros::Time::now(), "camera_rgb_optical_frame", "lifting_eye"));