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

Port to tf2 and enable using static broadcaster #28

Merged
merged 1 commit into from Oct 16, 2015

Conversation

paulbovbel
Copy link

Depends on ros/geometry2#114

Added a "use_tf_static" parameter, which enables broadcasting static transforms over /tf_static using a latched publisher.

@paulbovbel paulbovbel force-pushed the tf2-static branch 2 times, most recently from 2285b13 to 6e744fb Compare June 24, 2015 20:12
@adolfo-rt
Copy link

This is a great enhancement!. Do you have some numbers of rostopic bw /tf with/without the feature?. If you do, please accompany the data with the total number of joints and the number of fixed joints.

@paulbovbel
Copy link
Author

@adolfo-rt, the reduction is linear with the number of fixed joints. From what I remember, each fixed joint eats up approx 5-10 KB/s, at the default publish rate (50 Hz).

@paulbovbel
Copy link
Author

Upstream changes to geometry_experimental have been merged and released, ping for review.

@adolfo-rt
Copy link

@adolfo-rt, the reduction is linear with the number of fixed joints. From what I remember, each fixed joint eats up approx 5-10 KB/s, at the default publish rate (50 Hz).

I just checked, and our REEM robot has +100 joints, of which almost 40% are fixed. So the bandwidth improvements should be significant in such a case. Good work!.

@paulbovbel
Copy link
Author

Glad to share the bandwidth reduction - this was a low hanging fruit, and I'm surprised it never happened during the tf2 transition.

@paulbovbel
Copy link
Author

Ping @isucan, can you please review?

@isucan
Copy link
Contributor

isucan commented Aug 31, 2015

This looks good to me. The only concern I have is whether this should be merged to jade, not indigo. The improvements are great, but I worry about the ABI change, given this is such a low level package. What do you think @wjwwood ?

@paulbovbel
Copy link
Author

Either way, in jade I would advocate for making 'use_static' the default behaviour.

@wjwwood
Copy link
Member

wjwwood commented Sep 1, 2015

As long as the default behavior is not changing in Indigo, that's probably fine. I'm a bit wary to change the default behavior in Jade, but since it should be a transparent change I'd probably go ahead with it.

@paulbovbel
Copy link
Author

@isucan, is this okay to merge as is? I can write a separate pull to jade-devel with this behaviour as default.

@isucan
Copy link
Contributor

isucan commented Sep 24, 2015

Yes, I think we can merge this, but there seem to be some conflicts (related to another change that got pushed). We should also keep the jade branch in sync, and add the change to the default you mentioned (in jade).

@jacquelinekay
Copy link
Contributor

I rebased on indigo-devel and fixed merge conflicts in origin/tf2-static:

https://github.com/ros/robot_state_publisher/tree/tf2-static

@paulbovbel if that looks correct to you, you can either rebase your branch on the upstream branch, or we can just open a new PR with the rebased branch if you don't have time.

I will also open a separate PR that targets jade.

@paulbovbel
Copy link
Author

thanks @jacquelinekay

@isucan, this PR is ready to go

jacquelinekay added a commit that referenced this pull request Oct 16, 2015
Port to tf2 and enable using static broadcaster
@jacquelinekay jacquelinekay merged commit 9e24de6 into ros:indigo-devel Oct 16, 2015

private:
void addChildren(const KDL::SegmentMap::const_iterator segment);


std::map<std::string, SegmentPair> segments_, segments_fixed_;
<<<<<<< HEAD

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup. Sure enough, the merge conflict is here. Good catch, @remod. Did this branch need to be rebased before merging?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fixed by #36

clalancette pushed a commit that referenced this pull request Oct 8, 2019
This results in a failure when someone adds
find_package(robot_state_publisher) to their CMakeLists.txt.

You get the error
'robot_state_publisher' exports 'robot_state_publisher' which
can't be found.

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
rhaschke added a commit to rhaschke/robot_state_publisher that referenced this pull request May 26, 2020
This partially reverts ros#28, commit b611b86.
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.

None yet

6 participants