-
Notifications
You must be signed in to change notification settings - Fork 466
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
Migrating RViz DisplayContext to tf2 #1215
Comments
While there's a ros2 branch on this repo, it's not up-to-date; the work moved to a fork, where tf2 is being used: (@wjwwood I might remove that branch so it doesn't mislead people, yeah?) @tfoote did you have any suggestions for a way @IanTheEngineer can access the underlying tf2 listener/buffer from the tf1 listener being provided, in the meantime? |
It's pretty well protected. You might be able to get the buffer through the protected member in a custom subclass. |
@dhood I removed the out-of-date |
Likely the workaround I described above will not work for MoveIt, as things get complex (and unsafe) when sharing a
Note: the Instead, I will have MoveIt's |
@tfoote is there a reason we do not want to provide a method to get the underlying This would allow us to provide both a @IanTheEngineer I don't suppose you have a backtrace of that crash and a branch where that version of the code was? I'd like to understand what's not working. I'd really rather not have duplicated tf buffers. |
We could definitely add that to the api for Melodic if it would make supporting both easier. |
The "solution" that I presented above doesn't
the diff:
|
TLDR: is there any way of coaxing RViz DisplayContext to return a
tf2_ros::Buffer
pointer? If not, what will it take to upgrade RViz totf2
?A little more background: I am in the midst of migrating MoveIt! to
tf2
, hopefully targeting the ROS Melodic release. This migration was requested by @dirk-thomas as the starting point for eventually porting MoveIt! to ROS2: moveit/moveit#745One snag that I've run into is that RViz'
DisplayContext
FrameManager
returns atf::TransformListener
, rather than atf2_ros::Buffer
, even on theros2
branch:MoveIt! uses this pointer to initialize its
MoveGroupInterface
for themotion_planning_rviz_plugin
It will need to receive a pointer to a
tf2_ros::Buffer
object. I have ported nearly all of MoveIt! totf2
, and this is (hopefully) one of the last roadblocks :)The text was updated successfully, but these errors were encountered: