
/** \mainpage

@htmlinclude manifest.html

@b tf is a library for keeping track of coordinate frames.  There are both C++ and Python bindings. 

@section usage Common Usage
For most ROS use cases, the basic tf::Transformer library is not used directly.  

There are two helper classes to provide sending and recieving of ROS transform
messages.  tf::TransformBroadcaster and tf::TransformListener. 

@subsection listener TransformListener
The tf::TransformListener class inherits from tf::Transformer to provide all the functionality of the 
basic library.  In addition, it provides methods to transform data ROS messages directly and
it automatically listens for transforms published on ROS. 

@subsection message_filter MessageFilter
The tf::MessageFilter is the recommended method for receiving almost any sensor data from ROS.
Data in ROS can be published with respect to any known frame. 
The tf::MessageFilter class makes it easy to use this data 
by providing callbacks only when it is possible to transform it into your desired 
target frame.

The tf::MessageFilter class can subscribe to any ROS datatype that has a ROS Header.

@subsection broadcaster TransformBroadcaster
The tf::TransformBroadcaster class is the complement to the tf::TransformListener class.  The broadcaster class provides a 
simple API for broadcasting coordinate frame transforms to other ROS nodes.

@subsection send_transform send_transform
The send_transform command is the easiest way to report transforms for fixed offsets.
It is a simple command-line utility that repeatedly publishes the fixed-offset transform to ROS.

@subsection datatypes Data Types used in tf
- Quaternion typedef of btQuaternion
- Vector3  typedef of btVector3
- Point  typedef of btVector3
- Transform  typedef of btTransform
- Pose  typedef of btTransform

-Stamped version of all of the above inherits from the data type and also has:
 - ros::Time stamp_
 - std::string frame_id_
 - std::string child_frame_id_  (only used for Stamped<Transform> )

- There are analogous ROS messages in std_msgs to the Stamped data types.  

- Time represented by ros::Time and ros::Duration in ros/time.h in roscpp 



*/
