2015-10-13 1 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)); 
    } 
} 

Dans la fonction ci-dessus .asBt() est déprécié, que dois-je faire pour terminer la transformation? Comment convertir tf::Transform en btTransform et vice versa?Comment transformer tf :: Transform en btTransform

Répondre