tf tool:
rosrun tf view_frames
evince frames.pdf
最常用的还是
rosrun rqt_tf_tree rqt_tf_tree
=========
rosrun tf tf_echo [reference_frame] [target_frame]
这是很重要,指的是target_frame的坐标系在reference frame坐标系下的姿态。
所有求解的关系是
[R T] * target = reference frame
同样重要的是广播的时候
StampedTransform(const tf::Transform& input, const ros::Time& timestamp, const std::string & frame_id, const std::string & child_frame_id):
这里的transform应该设置为child_frame_id坐标系的原点在frame_id坐标系下的姿态
那么,位置关系应该是
[R T] * child_frame_id = frame_id
void lookupTransform(const std::string& target_frame, const std::string& source_frame,
const ros::Time& time, StampedTransform& transform) const;
target_frame = [R T] * source_frame