ros2 / ros2/geometry2

Transform between same frames always exist, even when frame ids are empty strings

Open
#799 1 comment 0 reactions 1 assignee View on GitHub

@mjcarroll is already working on this.

Since Jun 26, 2025.

bug
Dominant language
C++
Stars
153
Forks
256
Avg merge
3d 23h
Merged PRs (30d)
14

Description

Generated by Generative AI

No response

Operating System:

Linux lightweight 5.15.88-051588-generic #202301141034 SMP Sat Jan 14 10:39:07 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

ROS version or commit hash:

humble

RMW implementation (if applicable):

No response

RMW Configuration (if applicable):

No response

Client library (if applicable):

rclcpp

'ros2 doctor --report' output
ros2 doctor --report
   NETWORK CONFIGURATION
inet         : 127.0.0.1
inet4        : ['127.0.0.1']
inet6        : ['::1']
netmask      : 255.0.0.0
device       : lo
flags        : 73<LOOPBACK,UP,RUNNING>
mtu          : 65536
inet         : 172.17.0.3
inet4        : ['172.17.0.3']
ether        : 36:76:1d:a9:52:d1
netmask      : 255.255.0.0
device       : eth0
flags        : 4163<MULTICAST,UP,BROADCAST,RUNNING>
mtu          : 1500
broadcast    : 172.17.255.255

   PLATFORM INFORMATION
system           : Linux
platform info    : Linux-5.15.88-051588-generic-x86_64-with-glibc2.35
release          : 5.15.88-051588-generic
processor        : x86_64

   QOS COMPATIBILITY LIST
compatibility status    : No publisher/subscriber pairs found

   RMW MIDDLEWARE
middleware name    : rmw_fastrtps_cpp

   ROS 2 INFORMATION
distribution name      : humble
distribution type      : ros2
distribution status    : active
release platforms      : {'rhel': ['8'], 'ubuntu': ['jammy']}

   TOPIC LIST
topic               : none
publisher count     : 0
subscriber count    : 0
Steps to reproduce issue
  1. Try to call canTransform() between (C++) "" and "" at tf2::TimePointZero.
  2. Try to call lookupTransform() between same frames and at the same time as in step 1.
Expected behavior
  1. Return false
  2. Throw exception
Actual behavior
  1. It returns true.
  2. It will return default "zero" transform.
Additional information

This might be an intentional 'feature' to speed up lookups, but it results in returning transforms between non-existent frames, which is misleading.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.