有次我如此使用:1
2
3tf2_ros::Buffer buffer_;
tf2_ros::TransformListener listener(buffer_);
buffer_.transform(in_pose, out_pose, frame, transform_duration_);
结果报错: Exception in transformPose: “map” passed to lookupTransform argument source_frame does not exist
结果发现还是这个问题,我的用法其实相似,最好是把 buffer_
和 listener
都作为成员变量(指针),在构造函数里初始化listenner: listener = new tf2_ros::TransformListener(buffer_);
, transform
函数的使用就比较自由了
问题
使用tf2_ros::Buffer.transform()
或tf2_ros::Buffer.lookupTransform()
导致 “undefined reference” errors
解决: #include "tf2_geometry_msgs/tf2_geometry_msgs.h"