-
Notifications
You must be signed in to change notification settings - Fork 11
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
Feat static tree #37
base: noetic-devel
Are you sure you want to change the base?
Feat static tree #37
Conversation
e344c71
to
399f6b3
Compare
transforms = [] | ||
for element in elements: | ||
if element is not None and (level & 1 == 1 or level & 4 == 4): | ||
print(f"updating element {element.name}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
print(f"updating element {element.name}") | |
@@ -308,7 +308,7 @@ def parse_args(self, argv): | |||
parser.add_argument("-l", "--load", action="append", | |||
dest="file", | |||
help="Load a file at startup. [rospack filepath/file]") | |||
parser.add_argument("-r", "--rate", type=int) | |||
parser.add_argument("-r", "--rate", type=int, help="Rate for broadcasting. Does not involve tf frames.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
parser.add_argument("-r", "--rate", type=int, help="Rate for broadcasting. Does not involve tf frames.") | |
parser.add_argument("-r", "--rate", type=int, help="Rate for broadcasting. Does not involve tf frames. This argument is deprecated and will be removed in future versions.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would also be nice to add a warning in line 319
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it deprecated? One could still use it.
Does this break the "delete" feature as it is implemented right now? Delete Frames will still be latched and wont vanish if you delete them? |
This is true indeed.. well, with the current non-static publisher, the frames also are not deleted, but just not published anymore, such that a lookup causes an error after some time. This would not be possible with static trees.. see also this issue: The delete feature still has the problem that you cannot create a frame with the same name again. So, its actually almost useless. Could also be an argument to get rid of the delete feature? We could still implement both variants (static and non-static) as you suggested earlier, if there is any value in the deletion feature. |
I mean the |
Are you sure? I thought you can just publish a new transform. I'll test. |
The issue lies with the implementation in frame editor. it checks for frames in the buffer and only allows for ones that are not set def btn_add_clicked(self, checked):
existing_frames = set(self.editor.all_frame_ids())
name, ok = QtWidgets.QInputDialog.getText(self.widget, "Add New Frame", "Name:", QtWidgets.QLineEdit.Normal, "my_frame");
while ok and name in existing_frames:
name, ok = QtWidgets.QInputDialog.getText(self.widget, "Add New Frame", "Name (must be unique):", QtWidgets.QLineEdit.Normal, "my_frame")
if not ok:
return Which makes sense because it prevents from publishing transform that jump around |
-> idea: Check which frames are static and allow only reassigning them |
399f6b3
to
3574fb5
Compare
@ipa-danb check new commit. It was more difficult than expected. This was the smartest way I could find. |
3574fb5
to
b4dc8e1
Compare
Use static tf tree (tf2) instead of publishing with fix rate.
Closes #14