Skip to content

Comments

Detect cycles, change internal tf representation, expose all_frames_as_map method#5

Open
AlexKaravaev wants to merge 1 commit intoMaxiMaerz:masterfrom
AlexKaravaev:master
Open

Detect cycles, change internal tf representation, expose all_frames_as_map method#5
AlexKaravaev wants to merge 1 commit intoMaxiMaerz:masterfrom
AlexKaravaev:master

Conversation

@AlexKaravaev
Copy link

Two major changes:

  1. Before adding a new frame with add_transform, we now check if it creates a cycle in the tree.
  2. Completely changed the internal tf representation to a more tree-like structure, inspired by the original ros tf library. This change eliminates duplicates in the hashmap and removes the need to add transforms for inverted pairs. The API remains unchanged for the end-user, but this update allows us to expose functions like all_frames_as_map and enables more granular frame manipulation.

This is required for carzum/termviz#96 to not depend on any external service. It's a big change so it is the impact, I tried to cover every test case in test(please tell me if I forgot about some), but in my opinion this is needed as original representation wasn't complete.

all_frames_as_map method

Two major changes:
1. Before adding a new frame with `add_transform`, we now check if it creates a cycle in the tree.
2. Completely changed the internal tf representation to a more tree-like structure, inspired by the original ros tf library. This change eliminates duplicates in the hashmap and removes the need to add transforms for inverted pairs. The API remains unchanged for the end-user, but this update allows us to expose functions like `all_frames_as_map` and enables more granular frame manipulation.
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

Successfully merging this pull request may close these issues.

1 participant