Changelog for package tf2

0.5.16 (2017-07-14)

  • remove explicit templating to standardize on overloading. But provide backwards compatibility with deprecation.

  • Merge pull request #144 from clearpathrobotics/dead_lock_fix Solve a bug that causes a deadlock in MessageFilter

  • Resolve 2 places where the error_msg would not be propogated. Fixes #198

  • Remove generate_rand_vectors() from a number of tests. (#227)

  • fixing include directory order to support overlays (#231)

  • replaced dependencies on tf2_msgs_gencpp by exported dependencies

  • Document the lifetime of the returned reference for getFrameId getTimestamp

  • relax normalization tolerance. #196 was too strict for some use cases. (#220)

  • Solve a bug that causes a deadlock in MessageFilter

  • Contributors: Adel Fakih, Chris Lalancette, Christopher Wecht, Tully Foote, dhood

0.5.15 (2017-01-24)

0.5.14 (2017-01-16)

  • fixes #194 check for quaternion normalization before inserting into storage (#196) * check for quaternion normalization before inserting into storage * Add test to check for transform failure on invalid quaternion input

  • updating getAngleShortestPath() (#187)

  • Move internal cache functions into a namespace Fixes https://github.com/ros/geometry2/issues/175

  • Link properly to convert.h

  • Landing page for tf2 describing the conversion interface

  • Fix comment on BufferCore::MAX_GRAPH_DEPTH.

  • Contributors: Jackie Kay, Phil Osteen, Tully Foote, alex, gavanderhoorn

0.5.13 (2016-03-04)

0.5.12 (2015-08-05)

  • add utilities to get yaw, pitch, roll and identity transform

  • provide more conversions between types The previous conversion always assumed that it was converting a non-message type to a non-message type. Now, one, both or none can be a message or a non-message.

  • Contributors: Vincent Rabaud

0.5.11 (2015-04-22)

0.5.10 (2015-04-21)

  • move lct_cache into function local memoryfor #92

  • Clean up range checking. Re: #92

  • Fixed chainToVector

  • release lock before possibly invoking user callbacks. Fixes #91

  • Contributors: Jackie Kay, Tully Foote

0.5.9 (2015-03-25)

  • fixing edge case where two no frame id lookups matched in getLatestCommonTime

  • Contributors: Tully Foote

0.5.8 (2015-03-17)

  • change from default argument to overload to avoid linking issue #84

  • remove useless Makefile files

  • Remove unused assignments in max/min functions

  • change _allFramesAsDot() -> _allFramesAsDot(double current_time)

  • Contributors: Jon Binney, Kei Okada, Tully Foote, Vincent Rabaud

0.5.7 (2014-12-23)

0.5.6 (2014-09-18)

0.5.5 (2014-06-23)

0.5.4 (2014-05-07)

0.5.3 (2014-02-21)

0.5.2 (2014-02-20)

0.5.1 (2014-02-14)

0.5.0 (2014-02-14)

0.4.10 (2013-12-26)

  • updated error message. fixes #38

  • tf2: add missing console bridge include directories (fix #48)

  • Fix const correctness of tf2::Vector3 rotate() method The method does not modify the class thus should be const. This has already been fixed in Bullet itself.

  • Contributors: Dirk Thomas, Timo Rohling, Tully Foote

0.4.9 (2013-11-06)

0.4.8 (2013-11-06)

  • moving python documentation to tf2_ros from tf2 to follow the code

  • removing legacy rospy dependency. implementation removed in 0.4.0 fixes #27

0.4.7 (2013-08-28)

  • switching to use allFramesAsStringNoLock inside of getLatestCommonTime and walkToParent and locking in public API _getLatestCommonTime instead re #23

  • Fixes a crash in tf’s view_frames related to dot code generation in allFramesAsDot

0.4.6 (2013-08-28)

  • cleaner fix for #19

  • fix pointer initialization. Fixes #19

  • fixes #18 for hydro

  • package.xml: corrected typo in description

0.4.5 (2013-07-11)

0.4.4 (2013-07-09)

  • making repo use CATKIN_ENABLE_TESTING correctly and switching rostest to be a test_depend with that change.

  • tf2: Fixes a warning on OS X, but generally safer Replaces the use of pointers with shared_ptrs, this allows the polymorphism and makes it so that the compiler doesn’t yell at us about calling delete on a class with a public non-virtual destructor.

  • tf2: Fixes compiler warnings on OS X This exploited a gcc specific extension and is not C++ standard compliant. There used to be a “fix” for OS X which no longer applies. I think it is ok to use this as an int instead of a double, but another way to fix it would be to use a define.

  • tf2: Fixes linkedit errors on OS X

0.4.3 (2013-07-05)

0.4.2 (2013-07-05)

  • adding getCacheLength() to parallel old tf API

  • removing legacy static const variable MAX_EXTRAPOLATION_DISTANCE copied from tf unnecessesarily

0.4.1 (2013-07-05)

  • adding old style callback notifications to BufferCore to enable backwards compatability of message filters

  • exposing dedicated thread logic in BufferCore and checking in Buffer

  • more methods to expose, and check for empty cache before getting latest timestamp

  • adding methods to enable backwards compatability for passing through to tf::Transformer

0.4.0 (2013-06-27)

  • splitting rospy dependency into tf2_py so tf2 is pure c++ library.

  • switching to console_bridge from rosconsole

  • moving convert methods back into tf2 because it does not have any ros dependencies beyond ros::Time which is already a dependency of tf2

  • Cleaning up unnecessary dependency on roscpp

  • Cleaning up packaging of tf2 including: removing unused nodehandle fixing overmatch on search and replace cleaning up a few dependencies and linking removing old backup of package.xml making diff minimally different from tf version of library

  • suppressing bullet LinearMath copy inside of tf2, so it will not collide, and should not be used externally.

  • Restoring test packages and bullet packages. reverting 3570e8c42f9b394ecbfd9db076b920b41300ad55 to get back more of the packages previously implemented reverting 04cf29d1b58c660fdc999ab83563a5d4b76ab331 to fix #7

  • fixing includes in unit tests

  • Make PythonLibs find_package python2 specific On systems with python 3 installed and default, find_package(PythonLibs) will find the python 3 paths and libraries. However, the c++ include structure seems to be different in python 3 and tf2 uses includes that are no longer present or deprecated. Until the includes are made to be python 3 compliant, we should specify that the version of python found must be python 2.

0.3.6 (2013-03-03)

0.3.5 (2013-02-15 14:46)

  • 0.3.4 -> 0.3.5

0.3.4 (2013-02-15 13:14)

  • 0.3.3 -> 0.3.4

  • moving LinearMath includes to include/tf2

0.3.3 (2013-02-15 11:30)

  • 0.3.2 -> 0.3.3

  • fixing include installation of tf2

0.3.2 (2013-02-15 00:42)

  • 0.3.1 -> 0.3.2

  • fixed missing include export & tf2_ros dependecy

0.3.1 (2013-02-14)

  • 0.3.0 -> 0.3.1

  • fixing PYTHON installation directory

0.3.0 (2013-02-13)

  • switching to version 0.3.0

  • adding setup.py to tf2 package

  • fixed tf2 exposing python functionality

  • removed line that was killing tf2_ros.so

  • fixing catkin message dependencies

  • removing packages with missing deps

  • adding missing package.xml

  • adding missing package.xml

  • adding missing package.xml

  • catkinizing geometry-experimental

  • removing bullet headers from use in header files

  • removing bullet headers from use in header files

  • merging my recent changes

  • setting child_frame_id overlooked in revision 6a0eec022be0 which fixed failing tests

  • allFramesAsString public and internal methods seperated. Public method is locked, private method is not

  • fixing another scoped lock

  • fixing one scoped lock

  • fixing test compilation

  • merge

  • Error message fix, ros-pkg5085

  • Check if target equals to source before validation

  • When target_frame == source_frame, just returns an identity transform.

  • adding addition ros header includes for strictness

  • Fixed optimized lookups with compound transforms

  • Fixed problem in tf2 optimized branch. Quaternion multiplication order was incorrect

  • fix compilation on 32-bit

  • Josh fix: Final inverse transform composition (missed multiplying the sourcd->top vector by the target->top inverse orientation). b44877d2b054

  • Josh change: fix first/last time case. 46bf33868e0d

  • fix transform accumulation to parent

  • fix parent lookup, now works on the real pr2’s tree

  • move the message filter to tf2_ros

  • tf2::MessageFilter + tests. Still need to change it around to pass in a callback queue, since we’re being triggered directly from the tf2 buffer

  • Don’t add the request if the transform is already available. Add some new tests

  • working transformable callbacks with a simple (incomplete) test case

  • first pass at a transformable callback api, not tested yet

  • add interpolation cases

  • fix getLatestCommonTime – no longer returns the latest of any of the times

  • Some more optimization – allow findClosest to inline

  • another minor speedup

  • Minorly speed up canTransform by not requiring the full data lookup, and only looking up the parent

  • Add explicit operator= so that we can see the time in it on a profile graph. Also some minor cleanup

  • minor cleanup

  • add 3 more cases to the speed test

  • Remove use of btTransform at all from transform accumulation, since the conversion to/from is unnecessary, expensive, and can introduce floating point error

  • Don’t use btTransform as an intermediate when accumulating transforms, as constructing them takes quite a bit of time

  • Completely remove lookupLists(). canTransform() now uses the same walking code as lookupTransform(). Also fixed a bug in the static transform publisher test

  • Genericise the walk-to-top-parent code in lookupTransform so that it will be able to be used by canTransform as well (minus the cost of actually computing the transform)

  • remove id lookup that wasn’t doing anything

  • Some more optimization: * Reduce # of TransformStorage copies made in TimeCache::getData() * Remove use of lookupLists from getLatestCommonTime

  • lookupTransform() no longer uses lookupLists unless it’s called with Time(0). Removes lots of object construction/destruction due to removal of pushing back on the lists

  • Remove CompactFrameID in favor of a typedef

  • these mode checks are no longer necessary

  • Fix crash when testing extrapolation on the forward transforms

  • Update cache unit tests to work with the changes TransformStorage. Also make sure that BT_USE_DOUBLE_PRECISION is set for tf2.

  • remove exposure of time_cache.h from buffer_core.h

  • Removed the mutex from TimeCache, as it’s unnecessary (BufferCore needs to have its own mutex locked anyway), and this speeds things up by about 20% Also fixed a number of thread-safety problems

  • Optimize test_extrapolation a bit, 25% speedup of lookupTransform

  • use a hash map for looking up frame numbers, speeds up lookupTransform by ~8%

  • Cache vectors used for looking up transforms. Speeds up lookupTransform by another 10%

  • speed up lookupTransform by another 25%

  • speed up lookupTransform by another 2x. also reduces the memory footprint of the cache significantly

  • sped up lookupTransform by another 2x

  • First add of a simple speed test Sped up lookupTransform 2x

  • roscpp dependency explicit, instead of relying on implicit

  • static transform tested and working

  • tests passing and all throw catches removed too!

  • validating frame_ids up front for lookup exceptions

  • working with single base class vector

  • tests passing for static storage

  • making method private for clarity

  • static cache implementation and test

  • cleaning up API doc typos

  • sphinx docs for Buffer

  • new dox mainpage

  • update tf2 manifest

  • commenting out twist

  • Changed cache_time to cache_time_ to follow C++ style guide, also initialized it to actually get things to work

  • no more rand in cache tests

  • Changing tf2_py.cpp to use underscores instead of camelCase

  • removing all old converter functions from transform_datatypes.h

  • removing last references to transform_datatypes.h in tf2

  • transform conversions internalized

  • removing unused datatypes

  • copying bullet transform headers into tf2 and breaking bullet dependency

  • merge

  • removing dependency on tf

  • removing include of old tf from tf2

  • update doc

  • merge

  • kdl unittest passing

  • Spaces instead of tabs in YAML grrrr

  • Adding quotes for parent

  • canTransform advanced ported

  • Hopefully fixing YAML syntax

  • new version of view_frames in new tf2_tools package

  • testing new argument validation and catching bug

  • Python support for debugging

  • merge

  • adding validation of frame_ids in queries with warnings and exceptions where appropriate

  • Exposing ability to get frames as a string

  • A compiling version of YAML debugging interface for BufferCore

  • placeholder for tf debug

  • fixing tf:: to tf2:: ns issues and stripping slashes on set in tf2 for backwards compatiabily

  • Adding a python version of the BufferClient

  • moving test to new package

  • merging

  • working unit test for BufferCore::lookupTransform

  • removing unused method test and converting NO_PARENT test to new API

  • Adding some comments

  • Moving the python bindings for tf2 to the tf2 package from the tf2_py package

  • buffercore tests upgraded

  • porting tf_unittest while running incrmentally instead of block copy

  • BufferCore::clear ported forward

  • successfully changed lookupTransform advanced to new version

  • switching to new implementation of lookupTransform tests still passing

  • compiling lookupTransform new version

  • removing tf_prefix from BufferCore. BuferCore is independent of any frame_ids. tf_prefix should be implemented at the ROS API level.

  • initializing tf_prefix

  • adding missing initialization

  • suppressing warnings

  • more tests ported

  • removing tests for apis not ported forward

  • setTransform tests ported

  • old tests in new package passing due to backwards dependency. now for the fun, port all 1500 lines :-)

  • setTransform working in new framework as well as old

  • porting more methods

  • more compatability

  • bringing in helper functions for buffer_core from tf.h/cpp

  • rethrowing to new exceptions

  • converting Storage to geometry_msgs::TransformStamped

  • removing deprecated useage

  • cleaning up includes

  • moving all implementations into cpp file

  • switching test to new class from old one

  • Compiling version of the buffer client

  • moving listener to tf_cpp

  • removing listener, it should be in another package

  • most of listener

  • add cantransform implementation

  • removing deprecated API usage

  • initial import of listener header

  • move implementation into library

  • 2 tests of buffer

  • moving executables back into bin

  • compiling again with new design

  • rename tfcore to buffercore

  • almost compiling version of template code

  • compiling tf2_core simple test

  • add test to start compiling

  • copying in tf_unittest for tf_core testing template

  • prototype of tf2_core implemented using old tf.

  • first version of template functions

  • remove timeouts

  • properly naming tf2_core.h from tf_core.h

  • working cache test with tf2 lib

  • first unit test passing, not yet ported

  • tf_core api

  • tf2 v2

  • aborting port

  • moving across time cache tf and datatypes headers

  • copying exceptions from tf

  • switching to tf2 from tf_core