This page lists changes that are made in the 1.0.x series of geometry (Box Turtle).
Contents
1.0.4 (forthcoming)
- change_notifier now waits after a TransformException occurs 
 
1.0.3 (2010-06-14)
- Fixed MessageFilter's behavior when messages arrive faster than its timer update rate (r28546, r28549, <<Ticket(ros-pkg 3810)>>) 
 
- tf_conversions Fixed <<Ticket(ros-pkg 3915)>> 
- fix for missing .pc file on Debian squeeze <<Ticket(ros-pkg 3867)>> 
- pull kdl from tar instead of svn
 
1.0.2 (2010-03-08)
- tf - Change to unreleased API - change_notifier supports multiple frames 
- change_notifier publishes tf/tfMessage instead of geometry_msgs/PoseStamped messages 
 
1.0.1 (2010-02-09)
- Patch TransformBroadcaster class to use searchParam properly for tf_prefix 
- Update review status
- Patch quaternion validatation to not be over strict. #3758
1.0.0 (2010-01-12)
Notes about recent changes
- The topic "/tf_message" is no longer valid.  If you are using bag files it is recommended to rebag them remapping the topic to "/tf".   - Playback can be remapped each time with "/tf_message:=/tf" on the commandline
- The bagfile can be rebagged with the following script at the bottom of this description
 
- Deprecated functions have been removed: - All tf::Stamped<tf::Transform> methods have been removed, there are drop in replacements supporting datatype tf::StampedTransform. - this includes variants of lookupTransform(), data converter methods, setTransform(), sendTransform() 
- tf::Stamped<T> no longer has a child_frame_id field 
 
- MessageNotifier has been removed. 
- TransformListener::canTransform() with timeout has been removed, (use waitForTransform()) 
- transformStampedTFToMsg() 
- transformStampedMsgToTF() 
 
- executable transform_sender is removed, it's replacement is static_transform_publisher (Exactly the same functionality)
- there are new helper functions in "tf/transform_datatypes.h" for working around Bullet deprecations - tf::createQuaternionFromYaw() 
- tf::createQuaternionFromRPY() 
- tf::createIdentityQuaternion() 
 
- New exception tf::InvalidArgument can be thrown for bad arguments, it still inherits from tf::TransformException. This is used for things like unnormalized quaternions which would produce nan results. 
- tf::remap() methods have been deprecated - replace them with tf::resolve() or tf::TransformListener::resolve() 
 
There is a lot of new documentation on the wiki at tf
Rebagging script
   1 #!/usr/bin/env python
   2 
   3 NAME = 'tf_message_to_tf.py'
   4 PKG = 'rosrecord'
   5 import roslib; roslib.load_manifest(PKG)
   6 import rospy
   7 import rosrecord
   8 import os
   9 
  10 def split_rawstereo(inbags):
  11   for b in inbags:
  12     print "Trying to migrating file: %s"%b
  13     outbag = b+'.tmp'
  14     rebag = rosrecord.Rebagger(outbag)
  15     try:
  16       for (topic, msg, t) in rosrecord.logplayer(b, raw=True):
  17         if topic == 'tf_message':
  18           rebag.add('tf', msg, t, raw=True)
  19         elif topic == '/tf_message':
  20           rebag.add('/tf', msg, t, raw=True)
  21         else:
  22           rebag.add(topic, msg, t, raw=True)
  23       rebag.close()
  24     except rosrecord.ROSRecordException, e:
  25       print " Migration failed: %s"%(e.message)
  26       os.remove(outbag)
  27       continue
  28 
  29     oldnamebase = b+'.old'
  30     oldname = oldnamebase
  31     i = 1
  32     while os.path.isfile(oldname):
  33       i=i+1
  34       oldname = oldnamebase + str(i)
  35     os.rename(b, oldname)
  36     os.rename(outbag, b)
  37     print " Migration successful.  Original stored as: %s"%oldname
  38 
  39 if __name__ == '__main__':
  40   import sys
  41   if len(sys.argv) >= 2:
  42     split_rawstereo(sys.argv[1:])
  43   else:
  44     print "usage: %s bag1 [bag2 bag3 ...]"%NAME
