Modified tests for correct time in interpolation to existing tests.
Corrected time output on interpolation function.
Added unit test to check for this.
Contributors: Atsushi Watanabe, Miguel Prada, Tully Foote, Vallan Sherrod
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
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.
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
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
Docutils System Messages
System Message: ERROR/3 (<string>, line 333); backlink