Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid argument "/any_frame" passed to canTransform argument source_frame in tf2 frame_ids cannot start with a '/' #12

Closed
hershwg opened this issue Jul 8, 2013 · 5 comments

Comments

@hershwg
Copy link
Member

hershwg commented Jul 8, 2013

The warning message on line 139 of src/buffer_core.cpp prints thousands of times per second in my program (rviz) in hydro because all the sensor data has frame_id values that start with "/", which is incorrect as of today.

I can remove it from things where the source of the frame_ids is rviz, like the gui and config files, but all the sensor data is processed by tf::MessageFilter templates. Do I really need to change all my sensor driver code to remove the / before this will quiet down?

@tfoote
Copy link
Member

tfoote commented Jul 9, 2013

I've got a patch pending which will clean this up before it is passed to tf2 from tf. If you call tf2 directly you will need to sanitize.

@tfoote
Copy link
Member

tfoote commented Jul 10, 2013

@hershwg can you check that my patches in 1.10.3 of geometry work now?

@hershwg
Copy link
Member Author

hershwg commented Jul 11, 2013

Sorry that I didn't check this sooner.

Actually there is a pretty major bug: if you call resolve("/map") you
get back the empty string.

You need to change erase(0) to erase(0,1) in
strip_leading_slash(). The second argument to string::erase() is the
number of characters to erase, which defaults to all of them.

I'm surprised the tests didn't catch this. Maybe they aren't being run?

Dave

On Wed, Jul 10, 2013 at 10:53 AM, Tully Foote [email protected]:

@hershwg https://github.com/hershwg can you check that my patches in
1.10.3 of geometry work now?


Reply to this email directly or view it on GitHubhttps://github.com//issues/12#issuecomment-20760352
.

@hershwg
Copy link
Member Author

hershwg commented Jul 11, 2013

The above comments refer to file tf/src/tf.cpp.

On Thu, Jul 11, 2013 at 9:05 AM, Dave Hershberger [email protected]:

Sorry that I didn't check this sooner.

Actually there is a pretty major bug: if you call resolve("/map")
you get back the empty string.

You need to change erase(0) to erase(0,1) in
strip_leading_slash(). The second argument to string::erase() is the
number of characters to erase, which defaults to all of them.

I'm surprised the tests didn't catch this. Maybe they aren't being run?

Dave

On Wed, Jul 10, 2013 at 10:53 AM, Tully Foote [email protected]:

@hershwg https://github.com/hershwg can you check that my patches in
1.10.3 of geometry work now?


Reply to this email directly or view it on GitHubhttps://github.com//issues/12#issuecomment-20760352
.

@tfoote
Copy link
Member

tfoote commented Jul 11, 2013

fixed erase syntax 37e978f94fab27e2e5596e96e7f3b675581a22e3

@tfoote tfoote closed this as completed Aug 3, 2013
bulwahn pushed a commit to bulwahn/geometry that referenced this issue Feb 27, 2014
…d from tf to tf2 assert the leading slash is stripped as well. tf::resolve with two arguments will end up with foo/bar instead of /foo/bar. Fixes ros/geometry2#12
severin-lemaignan pushed a commit to severin-lemaignan/robotpkg that referenced this issue Aug 18, 2014
Changes since 1.9.30:

^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package tf
^^^^^^^^^^^^^^^^^^^^^^^^

1.11.3 (2014-05-07)
-------------------
* convert to boost signals2 following `ros/ros_comm#267
<https://github.com/ros/ros_comm/issues/267>`_ Fixes `#23
<https://github.com/ros/geometry/issues/23>`_. Requires
`ros/geometry2#61
<https://github.com/ros/geometry_experimental/issues/61>`_ as well.
* add rospy publisher queue_size argument
  `ros/ros_comm#169 <https://github.com/ros/ros_comm/issues/169>`_
* add queue_size to tf publisher
  `ros/ros_comm#169 <https://github.com/ros/ros_comm/issues/169>`_
* make rostest in CMakeLists optional (`ros/rosdistro#3010
<https://github.com/ros/rosdistro/issues/3010>`_)
* Contributors: Lukas Bulwahn, Tully Foote

1.11.2 (2014-02-25)
-------------------
* fixing test linking
* Contributors: Tully Foote

1.11.1 (2014-02-23)
-------------------

1.11.0 (2014-02-14)
-------------------
* TF uses ros::MessageEvent to get connection information
* Contributors: Kevin Watts, Tully Foote

1.10.8 (2014-02-01)
-------------------
* Port groovy-devel patch to hydro-devel
* Added rosconsole as catkin dependency for catkin_package
* Add rosconsole as runtime dependency
* Contributors: Michael Ferguson, Mirza Shah

1.10.7 (2013-12-27)
-------------------
* fix bug in tf::Matrix3x3::getEulerYPR()
  Fixes a bug in tf::Matrix3x3::getEulerYPR() implementation's handling
  of gimbal lock cases (when the new x axis aligns with the old +/-z
  axis).
* add test that demonstrated bug in tf::Matrix3x3
  tf::Matrix3x3::getEulerYPR() has a bug which returns an incorrect rpy
  for certain corner case inputs.  This test demonstrates that bug.
* Fix const correctness of tf::Vector3 rotate() method
  The method does not modify the class thus should be const.
  This has already been fixed in Bullet itself.
* add automatic tf buffer cleaning on bag loop for python
  This logic was already implemented for c++
  but not for the python module.
* Contributors: Acorn Pooley, Timo Rohling, Tully Foote, v4hn

1.10.6 (2013-08-28)
-------------------
* switching to wrapper scripts which will provide a deprecation warning for `#3
<https://github.com/ros/geometry/issues/3>`_
* add missing roswtf dependency to really export the plugin (fix `#27
<https://github.com/ros/geometry/issues/27>`_)
* Update listener.py
  Fix the tf listener service exception in rospy. See:
  http://answers.ros.org/question/10777/service-exception-using-tf-listener-in-rospy/
* Fix MessageFilter race condition
  If MessageFilter does not explicitly stop its callback timer when it's
  being destroyed, there is a race condition when that timer is processed in
  a callback queue run by a different thread.  Specifically,
  maxRateTimerCallback() may be called after messages_mutex_ has been
  destroyed, causing a unrecoverable error.

1.10.5 (2013-07-19)
-------------------
* tf: export dependency on tf2_ros
  Fixes `#21 <https://github.com/ros/geometry/issues/21>`_
* added run dependency on graphviz
  closes `#19 <https://github.com/ros/geometry/issues/19>`_

1.10.4 (2013-07-11)
-------------------
* fixing erase syntax
* resolving ros/geometry#18 using implementation
added in tf2::BufferCore, adding dependency on next version of tf2 for this

1.10.3 (2013-07-09)
-------------------
* fixing unittest for new resolve syntax

1.10.2 (2013-07-09)
-------------------
* strip leading slashes in resolve, and also any time a method is passed from
tf to tf2 assert the leading slash is stripped as well.  tf::resolve with two
arguments will end up with foo/bar instead of /foo/bar.  Fixes
ros/geometry2#12
* added two whitespaces to make message_filter compile with c++11
  more on this here:
  http://stackoverflow.com/questions/10329942/error-unable-to-find-string-literal-operator-slashes
* using CATKIN_ENABLE_TESTING to optionally configure tests in tf

1.10.1 (2013-07-05)
-------------------
* updating dependency requirement to tf2_ros 0.4.3
* removing unused functions
  removing unused private methods
  removing ``max_extrapolation_distance_``
  removing unused data storage _frameIDs frameIDS_reverse ``frame_authority_``
  removing cache_time from tf, passing through method to tf2 buffer_core
  removing unused variables ``frames_`` and ``frame_mutex_`` and
  ``interpolating_``
  removing unused mutex and transformchanged signaling
  commenting on deprecation of MAX_EXTRAPOLATION_DISTANCE

1.10.0 (2013-07-05)
-------------------
* adding versioned dependency on recent geometry_experimental changes
* fixing test dependencies
* fixing callbacks for message filters
* remove extra invalid comment
* dedicated thread logic all implemented
* removing commented out code
* mostly completed conversion of tf::TransformListener to use tf2 under the
hood
* lookuptwist working
* tf::Transformer converted to use tf2::Buffer under the hood.  passing
tf_unittest.cpp
* making tf exceptions typedefs of tf2 exceptions for compatability
* first stage of converting Transformer to Buffer
* switching to use tf2's TransformBroadcaster
* adding dependency on tf2_ros to start moving over contents
* fixing unit tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants