Change urdf::Model to use std::shared_ptrs in urdfdom > v0.4#206
Conversation
|
I think you're right that As an alternative, What do you think about merging this into a branch for ROS M, and adding a work around to MoveIt? |
|
I strongly agree that this should make it into Lunar or even Kinetic. 👍 |
|
All tests passed with a lunar pre-release test of depth 2. |
|
If all tests passed, should we move forward and merge this ? |
|
Into kinetic and lunar, yes please |
|
Can this be released into lunar asap so there is soak time before the next buildfarm sync? Thanks! |
|
👍 the earlier the better for testing / soak time. I think @sloretz faced some issues running bloom due to the packages that disappeared from this repo recently. I think that @sloretz or @clalancette will give us an update here once it's resolved |
|
@clalancette, would you mind doing the release? I'm on the road all day today. |
|
@sloretz Sure, will do. If you have a minute, what kind of problems did you run into running bloom before? |
|
@clalancette please see ros-infrastructure/bloom#425 for the description of the problem and the suggested solutions |
|
Just FYI, not only did we have trouble with bloom, this is also not building on all supported distros (in particular, we know right now that it is not going to work on at least yakkety and stretch). Unfortunately, I don't have time to debug it this week, and I won't be around next week. @sloretz I think you'll have to do the release here. |
|
thanks all! |
|
@davetcoleman FYI this has been released into kinetic and lunar. I think both will get a sync this week. |
In the kinetic-devel branch ros#153 introduced typedefs for the `Model` class of this package. Later, ros#206 moved these typedefs over to the `urdfdom_compatibility.h` header. The main purpose of the header is to ease compatibility between indigo and kinetic+, so these typedefs should also be provided in indigo-devel.
In the kinetic-devel branch ros#153 introduced typedefs for the `Model` class of this package. Later, ros#206 moved these typedefs over to the `urdfdom_compatibility.h` header. The main purpose of the header is to ease compatibility between indigo and kinetic+, so these typedefs should also be provided in indigo-devel.
In the kinetic-devel branch #153 introduced typedefs for the `Model` class of this package. Later, #206 moved these typedefs over to the `urdfdom_compatibility.h` header. The main purpose of the header is to ease compatibility between indigo and kinetic+, so these typedefs should also be provided in indigo-devel.
In the latest ROS Lunar version of URDFDom all shared_ptr typedefs were converted to
std::fromboost::except one was forgotten -urdf::Model. This class inherits fromurdf::Modelnterfacewhich is using astd::shared_ptr, so it seems to me this should be fixed despite Lunar already being released. In this PR I propose we maintain the boost shared ptr in Kinetic but allow for an std shared ptr in Lunar.This change is not a big deal because the typedefs being changed were only added in Sep 2016 by @bmagyar - way after Kinetic was released - so there should be almost no existing code affected by this.
This is important for MoveIt because currently this bug is blocking our full Lunar release due to this line where a
urdf::ModelSharedPtris downcast into aurdf::ModelInterfaceSharedPtr. This won't work since one is boost and one is std.I've tested this change with MoveIt in Kinetic and Lunar and it fixes our issue.