![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tf2_server at Robotics Stack Exchange
![]() |
tf2_server package from tf2_server repotf2_server |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.1.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/peci1/tf2_server.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-10 |
Dev Status | DEVELOPED |
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
- Martin Pecka
Authors
- Martin Pecka
tf2_server
An upgraded tf2_ros/buffer_server. Main features are:
- It supports the same action API as
tf2_ros/buffer_server
node for on-demand transform querying (which is however not suitable for fast queries). - It allows clients to request only subparts (or “streams”) of the TF tree, which results in lowering the data transfer rates and computational burden of TF clients.
- It provides C++ and Python helper libraries that make the subtree subscription easier. However, use of these
libraries is optional and client code can make full use of subscription to a TF subtree just by correct configuration
in
.launch
files. - It can be used as a TF concentrator which reduces the usual M:N connection nature of the TF topic to a M:1 and 1:N.
The subtree subscription mode is useful as a middle way between standard TransformListener
and the action interface of
the buffer_server
- it transmits only the requested transform(s), but isn’t burdened with the overhead the action
interface brings in.
The server publishes the so called “TF streams”, which are internally utilized by the helper libraries,
but can also be used by custom user code. The streams can either be requested dynamically by calling service
~/request_transform_stream
or by setting an initial set of streams using the streams
parameter described in the
following section.
Nodes and nodelets
This package provides node tf2_server_node
and nodelet tf2_server/nodelet
with
equal functionality. Try running the nodelet version with your TF-hungry nodes.
Actions
-
tf2_msgs/LookupTransform
: Depending on value of parameter~use_node_namespace
, this action is either published in namespace of the node, or in namespacetf2_buffer_server
.
Parameters
The first 3 parameters are taken from the original TF2 buffer server. To stay compatible, the parameters are not node-private, but should be set “one level” higher, e.g. besides the node and not inside it.
-
double
buffer_size
: Duration of the buffer memory (in seconds). Default is 120.0. -
bool
publish_frame_service
: IfTrue
, the server will enable service~/tf2_frames
which shows debug information about the contents of the buffer. Default isFalse
. -
bool
use_node_namespace
: IfTrue
, the lookup transform action of this server will be published under the namespace of this tf2_server. IfFalse
, the action server will be published in namespacetf2_buffer_server
. Default isFalse
. -
double
~transforms_update_period
: The period at which the server looks for newly added TF frames. -
double
~initial_streams_wait_time
: Specifies how long to wait before registering streams from parameterstreams
(in seconds). This helps in case not all frames are right away available and you do not want to dynamically update the lists of available frames. -
dict
~streams
: If nonempty, specifies some TF streams that should be registered right after starting the server. Each stream has a name (its key in this dict). The stream will be published at~/stream_key
and~/stream_key/static
. The structure is the following and is described in more detail in the following section:
streams:
body:
parent_frame: 'base_link'
child_frames: []
intermediate_frames: True
publication_period: 0.1
publisher_queue_size: 11
allow_transforms_update: True
Services
-
tf2_server/RequestTransformStream
~/request_transform_stream
: Requests a transform stream satisfying the given parameters. -
tf2_msgs/FrameGraph
~/tf2_frames
: Returns a list of all available frames seen by the buffer server.
tf2_server_node publications and subscriptions
-
/tf
,/tf_static
: The original TF topics. -
~/stream_key
,~/stream_key/static
for eachstream_key
RequestTransformStream
The subtree subscription API is built around ReuqestTranformStream service type. The subtree listeners are configured by RequestTransformStreamRequest objects. The meaning of the individual fields is as follows:
-
string
parent_frame
: The top-most frame in TF tree you’re interested in. -
string[]
child_frames
: In case a nonempty list is given, this specifies the child transforms you are interested in. They don’t need to be direct children ofparent_frame
, but they should be in the same TF tree. If an empty list is given, stream the whole subtree ofparent_frame
. This mode requiresintermediate_frames
set toTrue
. -
bool
intermediate_frames
: IfFalse
, stream only directparent_frame
->child_frame
transforms (no matter if they were originally direct neighbors). IfTrue
, stream all the transforms betweenparent_frame
and allchild_frames
.
File truncated at 100 lines see the full file
Changelog for package tf2_server
1.1.3 (2024-01-10)
- Fixed errors printed by pluginlib when tf2_server is installed
- Contributors: Martin Pecka
1.1.2 (2022-06-10)
- Try to de-flake test.
- Contributors: Martin Pecka
1.1.1 (2022-06-08)
- Fixed Noetic CI
- Disable Noetic CI
- Contributors: Martin Pecka
1.1.0 (2022-06-08)
- Noetic compatibility
- Improved readme.
- Added CI status badge.
- Fixed a race condition when creating streams (if the timer were created later than onSubscribe() is called.
- Update README.md (cherry picked from commit 3253416eff8f88330411ec8732b4cacd612923a8)
- Add CI via Github Actions (cherry picked from commit a60dcad82e19caebd6481c6c2af96e6cfbe3a57c)
- Contributors: Martin Pecka
1.0.6 (2020-06-09)
- Minor: catkin_lint.
- Fix: prevent deadlocks on stopping timers.
- Fix: Ignore stale frames in subtree search.
- Fix: Fix nodelet namespace.
- Contributors: Martin Pecka
1.0.5 (2020-02-09)
- Added support for streams whose TF tree can be updated during runtime.
- Added support for initial streams.
- Added possibility to specify desired names of the published transform streams.
- Contributors: Martin Pecka
1.0.4 (2020-02-04)
- Added a parameter that can help distinguishing between the original and the upgraded TF2 server.
- Added support for running the server as nodelet.
- Added support for updating the requested subtree during runtime.
- Contributors: Martin Pecka
1.0.3 (2020-01-21)
- Create LICENSE
- Contributors: Martin Pecka
1.0.2 (2020-01-10)
- Added url tags to package.xml
- Contributors: Martin Pecka
1.0.1 (2020-01-10)
- Initial version
- Contributors: Martin Pecka
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
message_runtime | |
catkin | |
rospy | |
rostest | |
tf | |
geometry_msgs | |
nodelet | |
roscpp | |
tf2_msgs | |
tf2_ros |