【问题标题】:How to Transform tf::Transform to btTransform如何将 tf::Transform 转换为 btTransform
【发布时间】:2015-10-13 10:17:37
【问题描述】:
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,反之亦然?

【问题讨论】:

    标签: c++ ros bulletphysics


    【解决方案1】:

    tf::TransformbtTransform 的另一个名称。

    tf/transform_datatypes.h:typedef btTransform tf::Transform 中查看它的定义。

    您可以简单地使用tf::Transform::inverse() 方法。看看tf::Transform documentation

    【讨论】:

      猜你喜欢
      • 2017-11-14
      • 2020-04-17
      • 2021-04-18
      • 2021-08-05
      • 2021-02-28
      • 2020-08-19
      • 2018-06-02
      • 2023-04-07
      • 1970-01-01
      相关资源
      最近更新 更多