tf2 package from geometry2 repoexamples_tf2_py geometry2 test_tf2 tf2 tf2_bullet tf2_eigen tf2_eigen_kdl tf2_geometry_msgs tf2_kdl tf2_msgs tf2_py tf2_ros tf2_ros_py tf2_sensor_msgs tf2_tools |
|
Package Summary
Tags | No category tags. |
Version | 0.25.8 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-08-30 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Alejandro Hernandez Cordero
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
0.25.8 (2024-08-29)
-
Enable Twist interpolator (backport #646) (#684) * Enable Twist interpolator (#646) Co-authored-by: Tully Foote <<tullyfoote@intrinsic.ai>> (cherry picked from commit 62322b8fa74c90d144dfe32294f6670bf6cfe786) # Conflicts: # tf2/include/tf2/buffer_core.h # tf2_ros/test/test_buffer.cpp Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
-
Contributors: mergify[bot]
0.25.7 (2024-05-29)
- [TimeCache] Improve performance for insertData() and pruneList()
(backport #680)
(#693)
- Nacho/minor fixes tf2 cache (#658)
- Remove unused parameter
* Make use of API function to improve redability
`cpp TimePoint TimeCache::getLatestTimestamp() { return storage\_.front().stamp\_; }
[ And std::list<T>::front() is(gcclib): ]{.title-ref}cpp reference front() _GLIBCXX_NOEXCEPT { return *begin(); }
[ * Same argument as 321bd225afb5c ]{.title-ref}cpp TimePoint TimeCache::getLatestTimestamp() { // empty list case // ... return storage\_.front().stamp\_; }
[ and std::list<T>::front(): ]{.title-ref}cpp reference front() _GLIBCXX_NOEXCEPT { return *begin(); }
[ * Improve readbility by relying on STL functions By now reading to this block I can tell that we are preventing to inserting a new element in the list, that has a timestamp that is actually older than the max_storage_time_ we allow for * Remove hardcoded algorithmg for STL one The intent of the code is now more clear, instead of relying on raw loops, we "find if" there is any element in the list that has a stamp older than the incoming one. With this we find the position in the list where we should insert the current timestamp: `storage_it]{.title-ref}- Remove to better express what this pointer is represetngin
* Replace raw loop for STL algorithm Remove if any element is older thant the max_storage_time_ allowed, relative to the latest(sooner) time seems clear npw * [TimeCache] Improve performance for insertData() and pruneList() (#680) Co-authored-by: Chris Lalancette <<clalancette@gmail.com>> * Don't break ABI ---------Co-authored-by: Ignacio Vizzo <<ignacio@dexory.com>> Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>> Co-authored-by: Chris Lalancette <<clalancette@gmail.com>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- Add cache_benchmark (backport #679) (#691) Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- [cache_unittest] Add direct implementation testing on ordering, pruning (backport #678) (#688) Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- Contributors: mergify[bot]
0.25.6 (2024-02-16)
- Fix constantly increasing memory in std::list (#648)
- Contributors: Ignacio Vizzo
0.25.5 (2023-11-13)
0.25.4 (2023-09-19)
0.25.3 (2023-07-17)
0.25.2 (2023-01-10)
0.25.1 (2022-08-05)
0.25.0 (2022-04-05)
- Install includes to include/${PROJECT_NAME} and use modern CMake (#493)
- Contributors: Shane Loretz
0.24.0 (2022-03-31)
0.23.0 (2022-03-28)
- forward declare fromMsg to avoid missing symbols in downstream libraries (#485)
- Contributors: João C. Monteiro
0.22.0 (2022-03-01)
0.21.0 (2022-01-14)
- tf2: Enable common linter tests (#469)
- Contributors: Abrar Rahman Protyasha
0.20.0 (2021-12-17)
- Move time functions into time.cpp.
- Change a for loop to a while loop.
- Switch to C++-style casts.
- Remove totally unused (and unreachable) code.
- Replace NULL with nullptr.
- Fix up some comments.
- Use std::make_shared where we can.
- Replace two comparisons with empty string to empty().
- Make sure to include-what-you-use.
- Remove unnecessary internal method.
- Remove long-deprecated walkToTopParent overload.
- Contributors: Chris Lalancette
0.19.0 (2021-10-15)
- Remove unnecessary test dependencies.
- Remove some references to the ROS 1 wiki.
- Add rosidl_runtime_cpp as build_depend and build_export_depend.
- Minor cleanups in CMakeLists.txt.
- Remove include directory that doesn't exist.
- Remove completely unnecessary target_link_libraries.
- Remove unused speed_test from tf2.
- Suppress clang warnings about enumerator attributes. (#463)
- Change TF2Error names to be a bit more descriptive. (#349)
- Fixed errors due to missing header link. (#432)
- Contributors: Chris Lalancette, Shivam Pandey
0.18.0 (2021-06-01)
- Deprecate tf2_geometry_msgs.h (#418)
- Speedup covariance unwrapping (#399)
- Contributors: Chris Lalancette, Dima Dorezyuk
0.17.1 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#394)
- Contributors: Chris Lalancette
0.17.0 (2021-03-19)
0.16.0 (2021-01-25)
0.15.1 (2020-12-08)
0.15.0 (2020-11-02)
- Update maintainers of the ros2/geometry2 fork. (#328)
- Contributors: Chris Lalancette
0.14.1 (2020-09-21)
- Active usual compiler warnings in tf2 (#322)
- Cleanups in buffer_core.cpp. (#301)
- Add PoseWithCovarianceStamped transform support (#312)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, Joshua Whitley
0.14.0 (2020-08-14)
- Fix a TOCTTOU race in tf2. (#307)
- Fixed memory leak in Buffer::waitForTransform (#281)
- Add common linters to tf2. (#258)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Martin Ganeff
0.13.4 (2020-06-03)
- Add missing virtual destructors (#272)
- Contributors: Ivan Santiago Paunovic
0.13.3 (2020-05-26)
0.13.2 (2020-05-18)
- Modify error message to not match the pattern for Jenkins MSBuild errors (#265)
- Contributors: Dirk Thomas
0.13.1 (2020-05-08)
- export modern CMake interface target (#263)
- Contributors: Dirk Thomas
0.13.0 (2020-04-30)
- Added doxyfiles and sphinx Makefiles (#257)
- Fix displayTimePoint truncation error (#253)
- rename rosidl_generator_cpp namespace to rosidl_runtime_cpp (#248)
- Use the new rcutils_strerror function. (#239)
- Remove unnecessary semicolons. (#235)
- Export all tf2 dependencies. (#238)
- Fix a deprecated copy warning by implementing the assignment operator (#201)
- tf2 add windows cmath constants (#217)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Dirk Thomas, Hunter L. Allen, Michel Hidalgo, brawner
0.12.4 (2019-11-19)
0.12.3 (2019-11-18)
- Provide more available error messaging for nonexistent and invalid frames in canTransform (ros2 #187)
- Contributors: Emerson Knapp
0.12.2 (2019-11-18)
0.12.1 (2019-10-23)
- Overwrite TimeCacheInterface type with a current input (#151)
- [tf2] Use ament_target_dependencies where possible
- Restore conversion via message traits (#167)
- Contributors: Jacob Perron, Michael Carroll, Vinnam Kim
0.12.0 (2019-09-26)
- Add pure virtual interface tf2::BufferCoreInterface
- Guard against invalid iterator (#127)
- Contributors: Jacob Perron
0.11.3 (2019-05-24)
0.11.2 (2019-05-20)
0.11.1 (2019-05-09)
0.11.0 (2019-04-14)
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repoexamples_tf2_py geometry2 test_tf2 tf2 tf2_bullet tf2_eigen tf2_eigen_kdl tf2_geometry_msgs tf2_kdl tf2_msgs tf2_py tf2_ros tf2_ros_py tf2_sensor_msgs tf2_tools |
|
Package Summary
Tags | No category tags. |
Version | 0.31.8 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | iron |
Last Updated | 2024-08-30 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Alejandro Hernandez Cordero
- Chris Lalancette
Authors
- Eitan Marder-Eppstein
- Tully Foote
- Wim Meeussen
Changelog for package tf2
0.31.8 (2024-08-29)
0.31.7 (2024-05-29)
- [TimeCache] Improve performance for insertData() and pruneList()
(backport #680)
(#694)
- Nacho/minor fixes tf2 cache (#658)
- Remove unused parameter
* Make use of API function to improve redability
`cpp TimePoint TimeCache::getLatestTimestamp() { return storage\_.front().stamp\_; }
[ And std::list<T>::front() is(gcclib): ]{.title-ref}cpp reference front() _GLIBCXX_NOEXCEPT { return *begin(); }
[ * Same argument as 321bd225afb5c ]{.title-ref}cpp TimePoint TimeCache::getLatestTimestamp() { // empty list case // ... return storage\_.front().stamp\_; }
[ and std::list<T>::front(): ]{.title-ref}cpp reference front() _GLIBCXX_NOEXCEPT { return *begin(); }
[ * Improve readbility by relying on STL functions By now reading to this block I can tell that we are preventing to inserting a new element in the list, that has a timestamp that is actually older than the max_storage_time_ we allow for * Remove hardcoded algorithmg for STL one The intent of the code is now more clear, instead of relying on raw loops, we "find if" there is any element in the list that has a stamp older than the incoming one. With this we find the position in the list where we should insert the current timestamp: `storage_it]{.title-ref}- Remove to better express what this pointer is represetngin
* Replace raw loop for STL algorithm Remove if any element is older thant the max_storage_time_ allowed, relative to the latest(sooner) time seems clear npw * [TimeCache] Improve performance for insertData() and pruneList() (#680) Co-authored-by: Chris Lalancette <<clalancette@gmail.com>> * Don't break ABI ---------Co-authored-by: Ignacio Vizzo <<ignacio@dexory.com>> Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>> Co-authored-by: Chris Lalancette <<clalancette@gmail.com>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- Add cache_benchmark (backport #679) (#692) Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- [cache_unittest] Add direct implementation testing on ordering, pruning (backport #678) (#689) Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>> Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- Contributors: mergify[bot]
0.31.6 (2024-04-19)
- Fix constantly increasing memory in std::list (#649)
- Contributors: Ignacio Vizzo <<ignaciovizzo@gmail.com>>
0.31.5 (2023-09-08)
0.31.4 (2023-07-14)
0.31.3 (2023-05-11)
- Fix error code returned in BufferCore::walkToTopParent (#602)
- Contributors: Patrick Roncagliolo
0.31.2 (2023-04-13)
0.31.1 (2023-04-12)
0.31.0 (2023-04-11)
- Depend on ament_cmake_ros to default SHARED to ON (#591)
- Fix a potential crash in TimeCache::findClosest (#592)
- Extend TimeCache API to provide rich ExtrapolationException infos (#586)
- Contributors: Chris Lalancette, Patrick Roncagliolo, Tyler Weaver
0.30.0 (2023-02-14)
- Update geometry2 to C++17 (#584)
- Contributors: Chris Lalancette
0.29.0 (2022-11-21)
- Include required header Scalar.h (#559)
- Update maintainers (#560)
- Contributors: Audrow Nash, Shane Loretz
0.28.0 (2022-11-02)
0.27.0 (2022-09-13)
0.26.2 (2022-08-15)
0.26.1 (2022-06-24)
0.26.0 (2022-04-29)
0.25.0 (2022-04-05)
- Install includes to include/${PROJECT_NAME} and use modern CMake (#493)
- Contributors: Shane Loretz
0.24.0 (2022-03-31)
0.23.0 (2022-03-28)
- forward declare fromMsg to avoid missing symbols in downstream libraries (#485)
- Contributors: João C. Monteiro
0.22.0 (2022-03-01)
0.21.0 (2022-01-14)
- tf2: Enable common linter tests (#469)
- Contributors: Abrar Rahman Protyasha
0.20.0 (2021-12-17)
- Move time functions into time.cpp.
- Change a for loop to a while loop.
- Switch to C++-style casts.
- Remove totally unused (and unreachable) code.
- Replace NULL with nullptr.
- Fix up some comments.
- Use std::make_shared where we can.
- Replace two comparisons with empty string to empty().
- Make sure to include-what-you-use.
- Remove unnecessary internal method.
- Remove long-deprecated walkToTopParent overload.
- Contributors: Chris Lalancette
0.19.0 (2021-10-15)
- Remove unnecessary test dependencies.
- Remove some references to the ROS 1 wiki.
- Add rosidl_runtime_cpp as build_depend and build_export_depend.
- Minor cleanups in CMakeLists.txt.
- Remove include directory that doesn't exist.
- Remove completely unnecessary target_link_libraries.
- Remove unused speed_test from tf2.
- Suppress clang warnings about enumerator attributes. (#463)
- Change TF2Error names to be a bit more descriptive. (#349)
- Fixed errors due to missing header link. (#432)
- Contributors: Chris Lalancette, Shivam Pandey
0.18.0 (2021-06-01)
- Deprecate tf2_geometry_msgs.h (#418)
- Speedup covariance unwrapping (#399)
- Contributors: Chris Lalancette, Dima Dorezyuk
0.17.1 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#394)
- Contributors: Chris Lalancette
0.17.0 (2021-03-19)
0.16.0 (2021-01-25)
0.15.1 (2020-12-08)
0.15.0 (2020-11-02)
- Update maintainers of the ros2/geometry2 fork. (#328)
- Contributors: Chris Lalancette
0.14.1 (2020-09-21)
- Active usual compiler warnings in tf2 (#322)
- Cleanups in buffer_core.cpp. (#301)
- Add PoseWithCovarianceStamped transform support (#312)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, Joshua Whitley
0.14.0 (2020-08-14)
- Fix a TOCTTOU race in tf2. (#307)
- Fixed memory leak in Buffer::waitForTransform (#281)
- Add common linters to tf2. (#258)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Martin Ganeff
0.13.4 (2020-06-03)
- Add missing virtual destructors (#272)
- Contributors: Ivan Santiago Paunovic
0.13.3 (2020-05-26)
0.13.2 (2020-05-18)
- Modify error message to not match the pattern for Jenkins MSBuild errors (#265)
- Contributors: Dirk Thomas
0.13.1 (2020-05-08)
- export modern CMake interface target (#263)
- Contributors: Dirk Thomas
0.13.0 (2020-04-30)
- Added doxyfiles and sphinx Makefiles (#257)
- Fix displayTimePoint truncation error (#253)
- rename rosidl_generator_cpp namespace to rosidl_runtime_cpp (#248)
- Use the new rcutils_strerror function. (#239)
- Remove unnecessary semicolons. (#235)
- Export all tf2 dependencies. (#238)
- Fix a deprecated copy warning by implementing the assignment operator (#201)
- tf2 add windows cmath constants (#217)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Dirk Thomas, Hunter L. Allen, Michel Hidalgo, brawner
0.12.4 (2019-11-19)
0.12.3 (2019-11-18)
- Provide more available error messaging for nonexistent and invalid frames in canTransform (ros2 #187)
- Contributors: Emerson Knapp
0.12.2 (2019-11-18)
0.12.1 (2019-10-23)
- Overwrite TimeCacheInterface type with a current input (#151)
- [tf2] Use ament_target_dependencies where possible
- Restore conversion via message traits (#167)
- Contributors: Jacob Perron, Michael Carroll, Vinnam Kim
0.12.0 (2019-09-26)
- Add pure virtual interface tf2::BufferCoreInterface
- Guard against invalid iterator (#127)
- Contributors: Jacob Perron
0.11.3 (2019-05-24)
0.11.2 (2019-05-20)
0.11.1 (2019-05-09)
0.11.0 (2019-04-14)
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repoexamples_tf2_py geometry2 test_tf2 tf2 tf2_bullet tf2_eigen tf2_eigen_kdl tf2_geometry_msgs tf2_kdl tf2_msgs tf2_py tf2_ros tf2_ros_py tf2_sensor_msgs tf2_tools |
|
Package Summary
Tags | No category tags. |
Version | 0.36.4 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-10-04 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Alejandro Hernandez Cordero
- Chris Lalancette
Authors
- Eitan Marder-Eppstein
- Tully Foote
- Wim Meeussen
Changelog for package tf2
0.36.4 (2024-05-29)
- Removed warning (#682) (#683) Co-authored-by: Alejandro Hernández Cordero <<ahcorde@gmail.com>>
- [TimeCache] Improve performance for insertData() and pruneList() (#680) (#686) Co-authored-by: Chris Lalancette <<clalancette@gmail.com>> (cherry picked from commit d700d78611ca2f2a56128ee71dd157961a1f4fb4) Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>>
-
Add cache_benchmark (#679) (#690) * Add cache_benchmark Co-authored-by: Chris Lalancette <<clalancette@gmail.com>> (cherry picked from commit 381d381739d008f83c2ebdf39034d46a19ea364e) Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>>
- [cache_unittest] Add direct implementation testing on ordering,
pruning (#678)
(#687)
- [cache_unittest] Add direct implementation testing on ordering, pruning
- do getAllItems() approach
- Return a reference instead.
- mark getAllItems as internal
* Fix warning on Windows. Co-authored-by: Chris Lalancette <<clalancette@gmail.com>> (cherry picked from commit a17a2bf8297052d2c6a404f9799bfe3b81040482) Co-authored-by: Eric Cousineau <<eric.cousineau@tri.global>>
- Contributors: mergify[bot]
0.36.3 (2024-05-13)
0.36.2 (2024-04-10)
- Enable Twist interpolator (#646) Co-authored-by: Tully Foote <<tullyfoote@intrinsic.ai>>
- Warning Message Intervals for canTransform (#663)
- Contributors: Alejandro Hernández Cordero, Lucas Wendland
0.36.1 (2024-03-28)
- Nacho/minor fixes tf2 cache (#658)
- Removing console_bridge (#655)
- Contributors: Ignacio Vizzo, Lucas Wendland
0.36.0 (2024-02-07)
0.35.1 (2024-01-24)
- Fix constantly increasing memory in std::list (#636)
- Contributors: Ignacio Vizzo
0.35.0 (2023-12-26)
- Update the tf2 documentation (#638)
- Contributors: Chris Lalancette
0.34.0 (2023-11-06)
0.33.2 (2023-10-04)
0.33.1 (2023-09-07)
0.33.0 (2023-08-21)
0.32.2 (2023-07-11)
0.32.1 (2023-05-11)
- Fix error code returned in BufferCore::walkToTopParent (#601)
- Contributors: Patrick Roncagliolo
0.32.0 (2023-04-27)
0.31.2 (2023-04-13)
0.31.1 (2023-04-12)
0.31.0 (2023-04-11)
- Depend on ament_cmake_ros to default SHARED to ON (#591)
- Fix a potential crash in TimeCache::findClosest (#592)
- Extend TimeCache API to provide rich ExtrapolationException infos (#586)
- Contributors: Chris Lalancette, Patrick Roncagliolo, Tyler Weaver
0.30.0 (2023-02-14)
- Update geometry2 to C++17 (#584)
- Contributors: Chris Lalancette
0.29.0 (2022-11-21)
- Include required header Scalar.h (#559)
- Update maintainers (#560)
- Contributors: Audrow Nash, Shane Loretz
0.28.0 (2022-11-02)
0.27.0 (2022-09-13)
0.26.2 (2022-08-15)
0.26.1 (2022-06-24)
0.26.0 (2022-04-29)
0.25.0 (2022-04-05)
- Install includes to include/${PROJECT_NAME} and use modern CMake (#493)
- Contributors: Shane Loretz
0.24.0 (2022-03-31)
0.23.0 (2022-03-28)
- forward declare fromMsg to avoid missing symbols in downstream libraries (#485)
- Contributors: João C. Monteiro
0.22.0 (2022-03-01)
0.21.0 (2022-01-14)
- tf2: Enable common linter tests (#469)
- Contributors: Abrar Rahman Protyasha
0.20.0 (2021-12-17)
- Move time functions into time.cpp.
- Change a for loop to a while loop.
- Switch to C++-style casts.
- Remove totally unused (and unreachable) code.
- Replace NULL with nullptr.
- Fix up some comments.
- Use std::make_shared where we can.
- Replace two comparisons with empty string to empty().
- Make sure to include-what-you-use.
- Remove unnecessary internal method.
- Remove long-deprecated walkToTopParent overload.
- Contributors: Chris Lalancette
0.19.0 (2021-10-15)
- Remove unnecessary test dependencies.
- Remove some references to the ROS 1 wiki.
- Add rosidl_runtime_cpp as build_depend and build_export_depend.
- Minor cleanups in CMakeLists.txt.
- Remove include directory that doesn't exist.
- Remove completely unnecessary target_link_libraries.
- Remove unused speed_test from tf2.
- Suppress clang warnings about enumerator attributes. (#463)
- Change TF2Error names to be a bit more descriptive. (#349)
- Fixed errors due to missing header link. (#432)
- Contributors: Chris Lalancette, Shivam Pandey
0.18.0 (2021-06-01)
- Deprecate tf2_geometry_msgs.h (#418)
- Speedup covariance unwrapping (#399)
- Contributors: Chris Lalancette, Dima Dorezyuk
0.17.1 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#394)
- Contributors: Chris Lalancette
0.17.0 (2021-03-19)
0.16.0 (2021-01-25)
0.15.1 (2020-12-08)
0.15.0 (2020-11-02)
- Update maintainers of the ros2/geometry2 fork. (#328)
- Contributors: Chris Lalancette
0.14.1 (2020-09-21)
- Active usual compiler warnings in tf2 (#322)
- Cleanups in buffer_core.cpp. (#301)
- Add PoseWithCovarianceStamped transform support (#312)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, Joshua Whitley
0.14.0 (2020-08-14)
- Fix a TOCTTOU race in tf2. (#307)
- Fixed memory leak in Buffer::waitForTransform (#281)
- Add common linters to tf2. (#258)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Martin Ganeff
0.13.4 (2020-06-03)
- Add missing virtual destructors (#272)
- Contributors: Ivan Santiago Paunovic
0.13.3 (2020-05-26)
0.13.2 (2020-05-18)
- Modify error message to not match the pattern for Jenkins MSBuild errors (#265)
- Contributors: Dirk Thomas
0.13.1 (2020-05-08)
- export modern CMake interface target (#263)
- Contributors: Dirk Thomas
0.13.0 (2020-04-30)
- Added doxyfiles and sphinx Makefiles (#257)
- Fix displayTimePoint truncation error (#253)
- rename rosidl_generator_cpp namespace to rosidl_runtime_cpp (#248)
- Use the new rcutils_strerror function. (#239)
- Remove unnecessary semicolons. (#235)
- Export all tf2 dependencies. (#238)
- Fix a deprecated copy warning by implementing the assignment operator (#201)
- tf2 add windows cmath constants (#217)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Dirk Thomas, Hunter L. Allen, Michel Hidalgo, brawner
0.12.4 (2019-11-19)
0.12.3 (2019-11-18)
- Provide more available error messaging for nonexistent and invalid frames in canTransform (ros2 #187)
- Contributors: Emerson Knapp
0.12.2 (2019-11-18)
0.12.1 (2019-10-23)
- Overwrite TimeCacheInterface type with a current input (#151)
- [tf2] Use ament_target_dependencies where possible
- Restore conversion via message traits (#167)
- Contributors: Jacob Perron, Michael Carroll, Vinnam Kim
0.12.0 (2019-09-26)
- Add pure virtual interface tf2::BufferCoreInterface
- Guard against invalid iterator (#127)
- Contributors: Jacob Perron
0.11.3 (2019-05-24)
0.11.2 (2019-05-20)
0.11.1 (2019-05-09)
0.11.0 (2019-04-14)
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repoexamples_tf2_py geometry2 test_tf2 tf2 tf2_bullet tf2_eigen tf2_eigen_kdl tf2_geometry_msgs tf2_kdl tf2_msgs tf2_py tf2_ros tf2_ros_py tf2_sensor_msgs tf2_tools |
|
Package Summary
Tags | No category tags. |
Version | 0.39.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | rolling |
Last Updated | 2024-10-15 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Alejandro Hernandez Cordero
- Chris Lalancette
Authors
- Eitan Marder-Eppstein
- Tully Foote
- Wim Meeussen
Changelog for package tf2
0.39.0 (2024-10-03)
0.38.2 (2024-07-19)
0.38.1 (2024-07-09)
- Removed deprecated enuns (#699)
- Contributors: Alejandro Hernández Cordero
0.38.0 (2024-06-17)
0.37.1 (2024-05-29)
- [TimeCache] Improve performance for insertData() and pruneList() (#680) Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- Removed warning (#682)
-
Add cache_benchmark (#679) * Add cache_benchmark Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- [cache_unittest] Add direct implementation testing on ordering,
pruning (#678)
- [cache_unittest] Add direct implementation testing on ordering, pruning
- do getAllItems() approach
- Return a reference instead.
- mark getAllItems as internal
* Fix warning on Windows. Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- Contributors: Alejandro Hernández Cordero, Eric Cousineau
0.37.0 (2024-04-26)
0.36.2 (2024-04-10)
- Enable Twist interpolator (#646) Co-authored-by: Tully Foote <<tullyfoote@intrinsic.ai>>
- Warning Message Intervals for canTransform (#663)
- Contributors: Alejandro Hernández Cordero, Lucas Wendland
0.36.1 (2024-03-28)
- Nacho/minor fixes tf2 cache (#658)
- Removing console_bridge (#655)
- Contributors: Ignacio Vizzo, Lucas Wendland
0.36.0 (2024-02-07)
0.35.1 (2024-01-24)
- Fix constantly increasing memory in std::list (#636)
- Contributors: Ignacio Vizzo
0.35.0 (2023-12-26)
- Update the tf2 documentation (#638)
- Contributors: Chris Lalancette
0.34.0 (2023-11-06)
0.33.2 (2023-10-04)
0.33.1 (2023-09-07)
0.33.0 (2023-08-21)
0.32.2 (2023-07-11)
0.32.1 (2023-05-11)
- Fix error code returned in BufferCore::walkToTopParent (#601)
- Contributors: Patrick Roncagliolo
0.32.0 (2023-04-27)
0.31.2 (2023-04-13)
0.31.1 (2023-04-12)
0.31.0 (2023-04-11)
- Depend on ament_cmake_ros to default SHARED to ON (#591)
- Fix a potential crash in TimeCache::findClosest (#592)
- Extend TimeCache API to provide rich ExtrapolationException infos (#586)
- Contributors: Chris Lalancette, Patrick Roncagliolo, Tyler Weaver
0.30.0 (2023-02-14)
- Update geometry2 to C++17 (#584)
- Contributors: Chris Lalancette
0.29.0 (2022-11-21)
- Include required header Scalar.h (#559)
- Update maintainers (#560)
- Contributors: Audrow Nash, Shane Loretz
0.28.0 (2022-11-02)
0.27.0 (2022-09-13)
0.26.2 (2022-08-15)
0.26.1 (2022-06-24)
0.26.0 (2022-04-29)
0.25.0 (2022-04-05)
- Install includes to include/${PROJECT_NAME} and use modern CMake (#493)
- Contributors: Shane Loretz
0.24.0 (2022-03-31)
0.23.0 (2022-03-28)
- forward declare fromMsg to avoid missing symbols in downstream libraries (#485)
- Contributors: João C. Monteiro
0.22.0 (2022-03-01)
0.21.0 (2022-01-14)
- tf2: Enable common linter tests (#469)
- Contributors: Abrar Rahman Protyasha
0.20.0 (2021-12-17)
- Move time functions into time.cpp.
- Change a for loop to a while loop.
- Switch to C++-style casts.
- Remove totally unused (and unreachable) code.
- Replace NULL with nullptr.
- Fix up some comments.
- Use std::make_shared where we can.
- Replace two comparisons with empty string to empty().
- Make sure to include-what-you-use.
- Remove unnecessary internal method.
- Remove long-deprecated walkToTopParent overload.
- Contributors: Chris Lalancette
0.19.0 (2021-10-15)
- Remove unnecessary test dependencies.
- Remove some references to the ROS 1 wiki.
- Add rosidl_runtime_cpp as build_depend and build_export_depend.
- Minor cleanups in CMakeLists.txt.
- Remove include directory that doesn't exist.
- Remove completely unnecessary target_link_libraries.
- Remove unused speed_test from tf2.
- Suppress clang warnings about enumerator attributes. (#463)
- Change TF2Error names to be a bit more descriptive. (#349)
- Fixed errors due to missing header link. (#432)
- Contributors: Chris Lalancette, Shivam Pandey
0.18.0 (2021-06-01)
- Deprecate tf2_geometry_msgs.h (#418)
- Speedup covariance unwrapping (#399)
- Contributors: Chris Lalancette, Dima Dorezyuk
0.17.1 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#394)
- Contributors: Chris Lalancette
0.17.0 (2021-03-19)
0.16.0 (2021-01-25)
0.15.1 (2020-12-08)
0.15.0 (2020-11-02)
- Update maintainers of the ros2/geometry2 fork. (#328)
- Contributors: Chris Lalancette
0.14.1 (2020-09-21)
- Active usual compiler warnings in tf2 (#322)
- Cleanups in buffer_core.cpp. (#301)
- Add PoseWithCovarianceStamped transform support (#312)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, Joshua Whitley
0.14.0 (2020-08-14)
- Fix a TOCTTOU race in tf2. (#307)
- Fixed memory leak in Buffer::waitForTransform (#281)
- Add common linters to tf2. (#258)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Martin Ganeff
0.13.4 (2020-06-03)
- Add missing virtual destructors (#272)
- Contributors: Ivan Santiago Paunovic
0.13.3 (2020-05-26)
0.13.2 (2020-05-18)
- Modify error message to not match the pattern for Jenkins MSBuild errors (#265)
- Contributors: Dirk Thomas
0.13.1 (2020-05-08)
- export modern CMake interface target (#263)
- Contributors: Dirk Thomas
0.13.0 (2020-04-30)
- Added doxyfiles and sphinx Makefiles (#257)
- Fix displayTimePoint truncation error (#253)
- rename rosidl_generator_cpp namespace to rosidl_runtime_cpp (#248)
- Use the new rcutils_strerror function. (#239)
- Remove unnecessary semicolons. (#235)
- Export all tf2 dependencies. (#238)
- Fix a deprecated copy warning by implementing the assignment operator (#201)
- tf2 add windows cmath constants (#217)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Dirk Thomas, Hunter L. Allen, Michel Hidalgo, brawner
0.12.4 (2019-11-19)
0.12.3 (2019-11-18)
- Provide more available error messaging for nonexistent and invalid frames in canTransform (ros2 #187)
- Contributors: Emerson Knapp
0.12.2 (2019-11-18)
0.12.1 (2019-10-23)
- Overwrite TimeCacheInterface type with a current input (#151)
- [tf2] Use ament_target_dependencies where possible
- Restore conversion via message traits (#167)
- Contributors: Jacob Perron, Michael Carroll, Vinnam Kim
0.12.0 (2019-09-26)
- Add pure virtual interface tf2::BufferCoreInterface
- Guard against invalid iterator (#127)
- Contributors: Jacob Perron
0.11.3 (2019-05-24)
0.11.2 (2019-05-20)
0.11.1 (2019-05-09)
0.11.0 (2019-04-14)
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repogeometry2 test_tf2 tf2 tf2_bullet tf2_eigen tf2_geometry_msgs tf2_kdl tf2_msgs tf2_py tf2_ros tf2_sensor_msgs tf2_tools |
|
Package Summary
Tags | No category tags. |
Version | 0.7.7 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/geometry2.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-02-02 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tully Foote
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
0.7.7 (2023-10-13)
- fix extra comma that gives annoying build warnings with -Wall and -Wpedantic with g++-9 and assuming most other compilers (#550)
- Add parent frame to warning logs (#533)
- Contributors: Jack Zender, Stephan
0.7.6 (2022-10-11)
- Fix dead loop in message filter (#532)
- Restore time difference order so future extrapolation exceptions don't show non-sensical negative seconds into the future (#522)
- Contributors: Feng Zhaolin, Lucas Walter
0.7.5 (2020-09-01)
- restore buffer sizes
- Contributors: Tully Foote
0.7.4 (2020-09-01)
- Fix potential buffer overrun of snprintf (#479)
- Contributors: Atsushi Watanabe
0.7.3 (2020-08-25)
- Use snprintf instead of stringstream to increase performance of lookupTransform() in error cases.
- Do not waste time constructing error string if nobody is interested in it in canTransform(). (#469)
- Output time difference of extrapolation exceptions (#477)
- Cherry-picking various commits from Melodic
(#471)
- Revert "rework Eigen functions namespace hack" (#436)
* Fixed warnings in message_filter.h (#434) the variables are not used in function body and caused -Wunused-parameter to trigger with -Wall
- Fix ambiguous call for tf2::convert on MSVC (#444)
- rework ambiguous call on MSVC.
- Contributors: Lucas Walter, Martin Pecka, Robert Haschke
0.7.2 (2020-06-08)
0.7.1 (2020-05-13)
- Fix to improper ring_45 test, where 'anchor' frame for both inverse and normal transform was frame 'b' instead of frame 'a', thus creating a problem
- Don't insert a TF frame is one of the same timestamp already exists, instead just overwrite it.
- [Noetic] Add tf2::Stamped<T>::operator=() to fix warnings
downstream (#453)
- Add tf2::Stamped<T>::operator=()
- [noetic] cherry-pick Windows fixes from melodic-devel (#450)
- Contributors: Patrick Beeson, Robert Haschke, Sean Yen, Shane Loretz
0.7.0 (2020-03-09)
- Bump CMake version to avoid CMP0048 warning (#445) Signed-off-by: Shane Loretz <<sloretz@osrfoundation.org>>
-
Fix compile error missing ros/ros.h (#400) * ros/ros.h -> ros/time.h tf2 package depends on rostime * tf2_bullet doesn't need ros.h Signed-off-by: Shane Loretz <<sloretz@osrfoundation.org>> * tf2_eigen doesn't need ros/ros.h Signed-off-by: Shane Loretz <<sloretz@osrfoundation.org>>
- Merge pull request #367 from kejxu/add_tf2_namespace_to_avoid_name_collision rework Eigen functions namespace hack
- separate transform function declarations into transform_functions.h
- use ROS_DEPRECATED macro for portability
(#362)
- use ROS_DEPRECATED for better portability
- change ROS_DEPRECATED position (#5)
- Remove [signals]{.title-ref} from find_package(Boost COMPONENTS ...). tf2 is using signals2, which is not the same library. Additionally, signals2 has always been header only, and header only libraries must not be listed in find_package. Boost 1.69 removed the old signals library entirely, so the otherwise useless [COMPONENTS signals]{.title-ref} actually breaks the build.
- Remove legacy inclusion in CMakeLists of tf2.
- Contributors: James Xu, Maarten de Vries, Marco Tranzatto, Shane Loretz, Tully Foote
0.6.5 (2018-11-16)
0.6.4 (2018-11-06)
- Resolved pedantic warnings
- fix issue #315
- fixed nan interpoaltion issue
- Contributors: Keller Fabian Rudolf (CC-AD/EYC3), Kuang Fangjun, Martin Ganeff
0.6.3 (2018-07-09)
- preserve constness of const argument to avoid warnings (#307)
- Change comment style for unused doxygen (#297)
- Contributors: Jacob Perron, Tully Foote
0.6.2 (2018-05-02)
0.6.1 (2018-03-21)
- Replaced deprecated console_bridge macro calls (tests)
- Contributors: Johannes Meyer, Tully Foote
0.6.0 (2018-03-21)
- Replaced deprecated log macro calls
- Contributors: Tim Rakowski, Tully Foote
0.5.17 (2018-01-01)
- Merge pull request #278 from ros/chain_as_vec_test2 Clean up results of _chainAsVector
- Simple test to check BufferCore::_chainAsVector. Unit tests for walk and chain passing now.
- Merge pull request #267 from at-wat/speedup-timecache-for-large-buffer Speed-up TimeCache search for large cache time.
- Merge pull request #265 from vsherrod/interpolation_fix Corrected time output on interpolation function.
- Add time_interval option to tf2 speed-test.
- Merge pull request #269 from ros/frames_as_yaml allFrameAsYaml consistently outputting a dict
- resolve https://github.com/ros/geometry/pull/153 at the source instead of needing the workaround.
- Speed-up TimeCache search for large cache time.
- 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
- 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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.8.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | ardent |
Last Updated | 2017-12-09 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tully Foote
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.9.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | bouncy |
Last Updated | 2018-12-06 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tully Foote
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repotf2 tf2_eigen tf2_geometry_msgs tf2_msgs tf2_ros tf2_sensor_msgs |
|
Package Summary
Tags | No category tags. |
Version | 0.10.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | crystal |
Last Updated | 2018-12-07 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tully Foote
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repoexamples_tf2_py geometry2 tf2 tf2_eigen tf2_geometry_msgs tf2_kdl tf2_msgs tf2_py tf2_ros tf2_sensor_msgs tf2_tools |
|
Package Summary
Tags | No category tags. |
Version | 0.12.6 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | eloquent |
Last Updated | 2020-12-04 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Alejandro Hernandez Cordero
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
0.12.6 (2020-12-04)
- Update maintainers of the ros2/geometry2 fork. (#328) (#331)
- tf2 add windows cmath constants (#217) (#220)
- Contributors: Alejandro Hernández Cordero
0.12.5 (2020-01-17)
0.12.4 (2019-11-19)
0.12.3 (2019-11-18)
- Provide more available error messaging for nonexistent and invalid frames in canTransform (#187)
- Contributors: Emerson Knapp
0.12.2 (2019-11-18)
0.12.1 (2019-10-23)
- Overwrite TimeCacheInterface type with a current input (#151)
- [tf2] Use ament_target_dependencies where possible
- Restore conversion via message traits (#167)
- Contributors: Jacob Perron, Michael Carroll, Vinnam Kim
0.12.0 (2019-09-26)
- Add pure virtual interface tf2::BufferCoreInterface
- Guard against invalid iterator (#127)
- Contributors: Jacob Perron
0.11.3 (2019-05-24)
0.11.2 (2019-05-20)
0.11.1 (2019-05-09)
0.11.0 (2019-04-14)
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repotf2 tf2_eigen tf2_geometry_msgs tf2_kdl tf2_msgs tf2_ros tf2_sensor_msgs |
|
Package Summary
Tags | No category tags. |
Version | 0.11.6 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | dashing |
Last Updated | 2019-12-10 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tully Foote
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
0.11.6 (2019-12-10)
- Fix up -Wcast-qual warning (#193)
- Contributors: Yu, Yan
0.11.5 (2019-09-06)
0.11.4 (2019-07-31)
0.11.3 (2019-05-24)
0.11.2 (2019-05-20)
0.11.1 (2019-05-09)
0.11.0 (2019-04-14)
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repoexamples_tf2_py geometry2 test_tf2 tf2 tf2_bullet tf2_eigen tf2_eigen_kdl tf2_geometry_msgs tf2_kdl tf2_msgs tf2_py tf2_ros tf2_ros_py tf2_sensor_msgs tf2_tools |
|
Package Summary
Tags | No category tags. |
Version | 0.17.5 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | galactic |
Last Updated | 2022-12-03 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Alejandro Hernandez Cordero
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
0.17.5 (2022-12-02)
- Include required header Scalar.h (#563)
- Contributors: Shane Loretz
0.17.4 (2022-06-30)
0.17.3 (2022-04-28)
- Workaround with pragma push and pop for NO_ERROR collison (#456) (#458)
- Contributors: Abrar Rahman Protyasha
0.17.2 (2021-05-10)
0.17.1 (2021-04-06)
- Change index.ros.org -> docs.ros.org. (#394)
- Contributors: Chris Lalancette
0.17.0 (2021-03-19)
0.16.0 (2021-01-25)
0.15.1 (2020-12-08)
0.15.0 (2020-11-02)
- Update maintainers of the ros2/geometry2 fork. (#328)
- Contributors: Chris Lalancette
0.14.1 (2020-09-21)
- Active usual compiler warnings in tf2 (#322)
- Cleanups in buffer_core.cpp. (#301)
- Add PoseWithCovarianceStamped transform support (#312)
- Contributors: Chris Lalancette, Ivan Santiago Paunovic, Joshua Whitley
0.14.0 (2020-08-14)
- Fix a TOCTTOU race in tf2. (#307)
- Fixed memory leak in Buffer::waitForTransform (#281)
- Add common linters to tf2. (#258)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Martin Ganeff
0.13.4 (2020-06-03)
- Add missing virtual destructors (#272)
- Contributors: Ivan Santiago Paunovic
0.13.3 (2020-05-26)
0.13.2 (2020-05-18)
- Modify error message to not match the pattern for Jenkins MSBuild errors (#265)
- Contributors: Dirk Thomas
0.13.1 (2020-05-08)
- export modern CMake interface target (#263)
- Contributors: Dirk Thomas
0.13.0 (2020-04-30)
- Added doxyfiles and sphinx Makefiles (#257)
- Fix displayTimePoint truncation error (#253)
- rename rosidl_generator_cpp namespace to rosidl_runtime_cpp (#248)
- Use the new rcutils_strerror function. (#239)
- Remove unnecessary semicolons. (#235)
- Export all tf2 dependencies. (#238)
- Fix a deprecated copy warning by implementing the assignment operator (#201)
- tf2 add windows cmath constants (#217)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Dirk Thomas, Hunter L. Allen, Michel Hidalgo, brawner
0.12.4 (2019-11-19)
0.12.3 (2019-11-18)
- Provide more available error messaging for nonexistent and invalid frames in canTransform (ros2 #187)
- Contributors: Emerson Knapp
0.12.2 (2019-11-18)
0.12.1 (2019-10-23)
- Overwrite TimeCacheInterface type with a current input (#151)
- [tf2] Use ament_target_dependencies where possible
- Restore conversion via message traits (#167)
- Contributors: Jacob Perron, Michael Carroll, Vinnam Kim
0.12.0 (2019-09-26)
- Add pure virtual interface tf2::BufferCoreInterface
- Guard against invalid iterator (#127)
- Contributors: Jacob Perron
0.11.3 (2019-05-24)
0.11.2 (2019-05-20)
0.11.1 (2019-05-09)
0.11.0 (2019-04-14)
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_cmake_gtest | |
ament_lint_auto | |
ament_lint_common | |
console_bridge_vendor | |
geometry_msgs | |
rcutils |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2 at Robotics Stack Exchange
tf2 package from geometry2 repoexamples_tf2_py geometry2 test_tf2 tf2 tf2_bullet tf2_eigen tf2_eigen_kdl tf2_geometry_msgs tf2_kdl tf2_msgs tf2_py tf2_ros tf2_sensor_msgs tf2_tools |
|
Package Summary
Tags | No category tags. |
Version | 0.13.14 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros2/geometry2.git |
VCS Type | git |
VCS Version | foxy |
Last Updated | 2023-03-16 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Alejandro Hernandez Cordero
Authors
- Tully Foote
- Eitan Marder-Eppstein
- Wim Meeussen
Changelog for package tf2
0.13.14 (2023-03-16)
0.13.13 (2022-01-31)
0.13.12 (2021-10-05)
- Workaround with pragma push and pop for NO_ERROR collison (#456)
- Contributors: Lior Lustgarten
0.13.11 (2021-08-31)
0.13.10 (2021-04-14)
0.13.9 (2020-12-09)
0.13.8 (2020-12-08)
0.13.7 (2020-11-18)
- [Foxy backport] Fixed memory leak in Buffer::waitForTransform (#281) (#330)
- Contributors: Matthijs den Toom
0.13.6 (2020-10-28)
- [Foxy backport] Add PoseWithCovarianceStamped transform support (#336)
- Update maintainers of the ros2/geometry2 fork. (#328) (#332)
- Contributors: Alejandro Hernández Cordero, Nikolai Morin
0.13.5 (2020-08-05)
0.13.4 (2020-06-03)
- Add missing virtual destructors (#272)
- Contributors: Ivan Santiago Paunovic
0.13.3 (2020-05-26)
0.13.2 (2020-05-18)
- Modify error message to not match the pattern for Jenkins MSBuild errors (#265)
- Contributors: Dirk Thomas
0.13.1 (2020-05-08)
- export modern CMake interface target (#263)
- Contributors: Dirk Thomas
0.13.0 (2020-04-30)
- Added doxyfiles and sphinx Makefiles (#257)
- Fix displayTimePoint truncation error (#253)
- rename rosidl_generator_cpp namespace to rosidl_runtime_cpp (#248)
- Use the new rcutils_strerror function. (#239)
- Remove unnecessary semicolons. (#235)
- Export all tf2 dependencies. (#238)
- Fix a deprecated copy warning by implementing the assignment operator (#201)
- tf2 add windows cmath constants (#217)
- Contributors: Alejandro Hernández Cordero, Chris Lalancette, Dirk Thomas, Hunter L. Allen, Michel Hidalgo, brawner
0.12.4 (2019-11-19)
0.12.3 (2019-11-18)
- Provide more available error messaging for nonexistent and invalid frames in canTransform (#187)
- Contributors: Emerson Knapp
0.12.2 (2019-11-18)
0.12.1 (2019-10-23)
- Overwrite TimeCacheInterface type with a current input (#151)
- [tf2] Use ament_target_dependencies where possible
- Restore conversion via message traits (#167)
- Contributors: Jacob Perron, Michael Carroll, Vinnam Kim
0.12.0 (2019-09-26)
- Add pure virtual interface tf2::BufferCoreInterface
- Guard against invalid iterator (#127)
- Contributors: Jacob Perron
0.11.3 (2019-05-24)
0.11.2 (2019-05-20)
0.11.1 (2019-05-09)
0.11.0 (2019-04-14)
0.10.1 (2018-12-06)
0.10.0 (2018-11-22)
- Merge pull request #65 from bsinno/bugfix/fix_identity_transform_behaviour Fix bug in lookupTransform()
- Fix lookupTransform() behaviour when transforming from a frame to itself
- revert now unnecessary message initializations (#64)
- use console_bridge_vendor (#63)
- Contributors: Alessandro Bottero, Mikael Arguedas, Tully Foote
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)
- convert to use console bridge from upstream debian package https://github.com/ros/rosdistro/issues/4633
- Fix format string
- Contributors: Austin, Tully Foote
0.5.4 (2014-05-07)
- switch to boost signals2 following ros/ros_comm#267, blocking ros/geometry#23
- Contributors: Tully Foote
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)
- adding _chainAsVector method for https://github.com/ros/geometry/issues/18
- adding _allFramesAsDot for backwards compatability https://github.com/ros/geometry/issues/18
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