ros / roslisp_common

Clone of the old roslisp_common SVN repo from code.ros.org.
8 stars 14 forks source link

cl-tf2 still uses its own datatypes instead of the ones in cl-tf-datatypes #19

Closed airballking closed 8 years ago

airballking commented 9 years ago

@fairlight1337 Seems like we overlooked something during the refactoring: When calling

(cl-tf:can-transform "some-frame" "another-frame")

I still get an instance of type cl-tf2:stamped-transform instead of one of type cl-tf-datatypes:stamped-transform. I try fixing this.

airballking commented 9 years ago

Ah, I just remembered! The original message structures in cl-tf use inheritance to build stamped datastructures. When writing cl-tf2, me and @gheorghelisca perceived this as artificially complicated. So, we decided to follow the structure of tf2_msgs/TFMessage and created new stamped datatypes in cl-tf2 which use compositions of headers and pose/transform.

See here for comparison: https://github.com/ros/roslisp_common/blob/master/cl_tf_datatypes/src/messages.lisp https://github.com/ros/roslisp_common/blob/master/cl_tf2/src/datatypes.lisp

Now, this comes back to haunt us: The stamped datatypes in cl-tf and cl-tf2 are not identical!

I'll need to ponder this a bit to come up with a solution.