2015-10-13 54 views
0
void broadcastKinectTransform(const tf::Transform& transform, 
           const std::string& kinect_rgb_optical, 
           const std::string& ground, 
           tf::TransformBroadcaster& broadcaster, 
           const tf::TransformListener& listener) { 
    std::string link; 
    if (listener.getParent(kinect_rgb_optical, ros::Time(0), link) && listener.getParent(link, ros::Time(0), link)) { 
     tf::StampedTransform tfTransform; 
     listener.lookupTransform (link, kinect_rgb_optical, ros::Time(0), tfTransform); 
     broadcaster.sendTransform(tf::StampedTransform(transform * tfTransform.asBt().inverse(), ros::Time::now(), ground, link)); 
    } else { 
     broadcaster.sendTransform(tf::StampedTransform(transform, ros::Time::now(), ground, kinect_rgb_optical)); 
    } 
} 

在上述函數中不推薦使用.asBt(),應該怎麼做才能完成轉換?如何將tf::Transform轉換爲btTransform,反之亦然?如何將tf :: Transform轉換爲btTransform

回答

相關問題