ros / robot_model

Contains packages for modeling various aspects of robot information, specified in the Xml Robot Description Format (URDF). The core package of this stack is urdf, which parses URDF files, and constructs an object model (C++) of the robot.

Home Page:http://ros.org/wiki/robot_model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Split this repo and deprecate robot_model

sloretz opened this issue · comments

Summary of meeting:

Original issue: collada_urdf depends on geometric_shapes which depends on octomap. During the ROS Lunar release packages depending on packages in robot_model were blocked needlessly by the release of octomap and geometric shapes.

Plan

Before Lunar release

  • Leave the metapackage robot_model in this repo, but re-release to lunar with status end-of-life with EOL message indicating other packages have been moved
  • Update ROS Lunar migration notes on ROS wiki to say robot_model has been deprecated

Anytime, but sooner rather than later

  • Move collada_parser and collada_urdf together to a new repo (#197 #198)
  • Move kdl_parser and kdl_parser_py together to a new repo (#201 #202)
  • Move joint_state_publisher to a new repo (#218, #219)
  • Move urdf and urdf_parser_plugin together to a new repo (#222, #223)
  • Add a README for this repo which points to the new repositories

Before M Turtle

  • Add a new rep like REP-142 that lists each package independently in the robot_metapackage instead of robot_model (ros-infrastructure/rep#144)
  • Don't release robot_model metapackage into ROS M

note to self: https://discourse.ros.org/t/repository-consolidation-moving-released-packages-to-another-repo/327/4

I think it can be split into categories based on what needs to happen by when:

  • Before Lunar Release (ideally before Beta):
    • Leave the metapackage robot_model in this repo, but re-release to lunar with status end-of-life
      • Make sure the EOL message indicates that the robot_model metapackage is deprecated, the other packages have just been moved.
    • Update ROS Lunar migration notes on ROS wiki
      • Mention that the robot_model metapackge has been deprecated
  • Any time, but sooner than later:
    • Move collada_parser and collada_urdf together to a new repo
    • Move kdl_parser and kdl_parser_py together to a new repo
    • Move joint_state_publisher to a new repo
    • Move urdf and urdf_parser_plugin together to a new repo
    • Add a README for this repo which points to the new repositories
  • Any time before M-Turtle
    • Add a new rep like REP-142 that lists each package independently in the robot_metapackage instead of robot_model
    • Don't release robot_model metapackage into ROS M

Also, I think might be useful for these to be on GitHub since Jira is not public.

@sloretz it should be fine to have the overarching issue in JIRA as long as the individual issues are in GitHub, though I do still think having an organizing issue in GitHub helps with cross-referencing for external observers.

Edit: (I was just clarifying why I asked for it to be left open here, you don't need to change anything else)

@wjwwood The first post is now split according to the categories you listed.

👍 lgtm

@bmagyar FYI, thanks for reporting the issue

Migration notes updated for lunar http://wiki.ros.org/lunar/Migration

Ideas for new repo names?

  • ros/collada_model
    • collada_parser
    • collada_urdf
  • ros/kdl_model
    • kdl_parser
    • kdl_parser py
  • ros/joint_state_publisher
    • joint_state_publisher
  • ros/urdf_model
    • urdf
    • urdf_parser_plugin

@mikaelarguedas if these names look ok or if you've got better ones would you mind forking robot_model into them? I don't have the permissions needed to create a repo in the ros org.

My initial reaction is that the _model isn't always necessary, though I don't feel strongly about it. I would have done:

  • ros/collada_urdf
    • because collada_urdf is the important package, and collada_parser is a means to an end imo
  • ros/kdl_parser
    • this seems to fit better (to me at least) than _model which doesn't seem to have anything to do with the package names within the repository
  • ros/urdf
    • urdf_parser_plugin is part of urdf in my mind, so urdf seems appropriate
    • if I consider what _model means when attached to urdf I can't come up with a meaning that tells me more than just urdf

These are all just suggestions. I think whatever you do will be just fine.

@sloretz Sorry for the late reply. I +1'ed @wjwwood's suggestion but forgot to change your rights. You should know have the rights to create new repos on the ros org unit.

collada_urdf and collada_parser are now at https://github.com/ros/collada_urdf

Self note: Here were the steps to move a package from one repo to another

  1. Create the new repo (ex: https://github.com/ros/collada_urdf)
    1. Using the github GUI create an empty repo
    2. Checkout the current repo
    3. add a git-remote for the new repo
    4. push the desired branches to the new repo (ex: indigo-devel, kinetic-devel)
  2. Create a new release repo (ex: https://github.com/ros-gbp/collada_urdf-release)
    • initialize it with an empty README
  3. Release the packages from the new repo
    1. catkin_generate_changelogs won't work. Add the Forthcoming bit to the changelogs manually
    2. catkin_prepare_release works as usual
    3. bloom-release works up to the point of opening the rosdistro PR
      • bloom-release will prep the release repository then close after an assertion about a duplicate package in the distrobution.yaml fails
      • Manually create a PR to update the distrobution.yaml for each rosdistro. The PR should add the new repo and remove the moved packages from the old repo.
  4. Delete the packages from the source repo

Example of what the resulting rosdistro PR looks like: ros/rosdistro#14899

If all this was done, why am I getting this install conflict with ROS Lunar?

#203

The state of URDF code locations was already complicated before this split - could you please document these changes on the URDF wiki similar to how I attempted to do so in 2013 here? Its amazing to me how many robotics projects (non-ROS, private) around the world use URDF, yet how messy it is to use.

The source for the diagram I made is here

Thanks!!

hello (?)
some packages still pull in robot_model/collada_parser
I deleted the */collada_parser folders in src, devel_isolated and build_isolated
run rosdep update, regenerated the .rosinstall file, run wstool merge but wstool update continue to redownload robot_model/collada_parser and then causing conflicts at build time

how can I fix?

All of the work for this is now merged (mostly thanks to @sloretz , thanks). I'm going to close this ticket out now.

@clalancette should follow-up issues be opened for the comments that came up on this issue during refactoring ? (e.g. #195 (comment))

@clalancette should follow-up issues be opened for the comments that came up on this issue during refactoring ? (e.g. #195 (comment))

Good idea, I've opened up #224 to track that issue.