This page lists changes that are made in the 1.0.x series of geometry (Box Turtle).

1.0.4 (forthcoming)

  • tf

    • change_notifier now waits after a TransformException occurs

1.0.3 (2010-06-14)

  • tf

    • 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)>>

  • kdl

    • 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

Wiki: geometry/ChangeList/1.0 (last edited 2010-06-23 23:08:22 by TimField)