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

Pilz planner merge #1893

Merged
merged 109 commits into from
Nov 3, 2020
Merged

Pilz planner merge #1893

merged 109 commits into from
Nov 3, 2020

Conversation

ct2034
Copy link
Contributor

@ct2034 ct2034 commented Feb 12, 2020

Description

Merging pilz trajectory generation into moveit as suggested here: #1800

Related PRs

merge before this:

merge after this:

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • Extend the tutorials / documentation reference -> see PR
  • Document API changes relevant to the user in the MIGRATION.md notes
  • Create tests, which fail without this PR reference
  • Include a screenshot if changing a GUI
  • While waiting for someone to review your request, please help review another open pull request to support the maintainers

ct2034 added a commit to PilzDE/pilz_application_templates that referenced this pull request Feb 19, 2020
Copy link
Member

@davetcoleman davetcoleman left a comment

Choose a reason for hiding this comment

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

Really excited to see this PR, thank you!

@davetcoleman
Copy link
Member

Should the "WIP" be removed at this point?
Why is Travis still failing?

@jschleicher
Copy link
Contributor

moveit/moveit_msgs#65 is required first. So travis currently is failing because of missing message(s).
PilzDE/pilz_robots#316 needs to be (at least partially) merged for a successful moveit build as well, see travis test build.

@felixvd
Copy link
Contributor

felixvd commented Mar 10, 2020

I'm unclear on the name change?
You explained in the other PR.

@ct2034 ct2034 marked this pull request as ready for review March 12, 2020 13:09
@ct2034 ct2034 changed the title WIP Pilz planner merge Pilz planner merge Mar 12, 2020
@jschleicher
Copy link
Contributor

Ready for review now @mamoll @v4hn.

Still moveit/moveit_msgs#65 needs to be merged first to make travis pass.

@v4hn v4hn added the planning Related the the motion planning stack (OMPL, CHOMP, etc.) label Mar 23, 2020
Copy link
Member

@davetcoleman davetcoleman left a comment

Choose a reason for hiding this comment

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

Great integration tests!
Great documentation with latex!

I expanded all the files and skimmed them quickly with Page Down. There is so much code!

Copy link
Contributor

@rhaschke rhaschke left a comment

Choose a reason for hiding this comment

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

I have seen some more files, I'm not sure that they should be merged here:

  • There are several image files: moveit_planners/pilz_industrial_motion_planner/test/acceptance_tests/img/acceptance_test_lin_img*.png
    What is their role?
  • In moveit_planners/pilz_industrial_motion_planner/test/test_robots/frankaemika_panda you seem to have a copy of panda_moveit_config / moveit_resources/panda_moveit_config. Please use the latter one instead of introducing yet another copy here.
  • This PR includes moveit_planners/trajopt/package.xml, which is unrelated.

Generally, I'm not convinced, why this huge repo should be merged with the core MoveIt repo at all (@davetcoleman, can you please comment on this?)
Merging this here, I see the risk that it will become harder for Pilz to merge changes, because they need to pass our review process. On the other hand, Pilz will need to continue maintaining this code base, as I think no current MoveIt maintainer will sign to be responsible for this new code base.
I didn't actually look into the source files (because this PR is so huge), but only skimmed through the files on a very high level.

Apart from this, the planner is a great contribution and we should definitely work on increasing the visibility of this package. However, to increase visibility, it would suffice to provide tutorials and interlink with the remaining MoveIt documentation - which needs to be done anyway.

@davetcoleman
Copy link
Member

@rhaschke the discussion on whether to add this to the moveit repo was already decided on in past maintainer meetings and here:
#1800

The benefits are outlined there. Something I didn't mention there but is also relevant: I don't see why the scope of MoveIt, as well as the scope of core ROS packages, must be limited to what was created at Willow Garage. I believe adding new major features and tightly integrating them into MoveIt, as we're doing here, is beneficial for consistent maintenance, usability, and discoverability.

Overall I think this PR is huge as we're importing a whole project, and our best approach to changes is to do follow up PRs for fixups.

Merging this here, I see the risk that it will become harder for Pilz to merge changes, because they need to pass our review process. On the other hand, Pilz will need to continue maintaining this code base, as I think no current MoveIt maintainer will sign to be responsible for this new code base.

For this reason we have plans here for the following:

  • Add @jschleicher as a MoveIt maintainer so he can continue to maintain this feature. I think he has proven his skills with the development of pilz_industrial_motion
  • Add @ct2034 as a MoveIt Core Contributor so he can also get more involved in maintenance

@ct2034
Copy link
Contributor Author

ct2034 commented Apr 23, 2020

Thanks, @rhaschke for raising the point of making it harder for us to get our changes into the code. We have also had this discussion internally bu agreed that under the condition of us being maintainer/core contributor it will be manageable. While we expect some support in terms of maintenance we are of cause willing to do our fair share in terms of maintenance, just the same way we maintain all our other code.

I also want to apologize for the sometimes sloppy job with the inclusion of wrong files but it is also a big PR for us.

Comment on lines 4 to 9
## Add support for C++11, supported in ROS Kinetic and newer
add_definitions(-std=c++11)
add_definitions(-Wall)
add_definitions(-Wextra)
add_definitions(-Wno-unused-parameter)
add_definitions(-Werror)
Copy link
Contributor

Choose a reason for hiding this comment

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

To maintain Windows compatibility, it probably make sense to only add this GCC/Clang-specific flags under an if, see for example https://github.com/ros-planning/moveit/blob/379acf91aa3630f320db77ba85b1ca294310b0bc/moveit_core/CMakeLists.txt#L8 .

cc @seanyen

Copy link
Contributor Author

Choose a reason for hiding this comment

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

could we do this in a separate PR afterwards?

Copy link
Contributor

Choose a reason for hiding this comment

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

could we do this in a separate PR afterwards?

I guess this is up to the maintainers, I just noticed this by looking up the (great) content added.

@rhaschke
Copy link
Contributor

I'm fine to merge this PR in general, just wanted to raise some concerns, because I stumbled over the issue and repo links pointing to the old github repository. As far as I understand, Pilz will move maintenance to this repo only. Having @jschleicher and @ct2034 in the maintainer/contributor team would be great. @ct2034, could you please comment on the (seamingly) superfluous files mentioned in #1893 (review)?

jschleicher and others added 3 commits October 13, 2020 08:09
added during testing
to copy the templates for auto-generated packages.
Changing parameters via MSA-gui is left for future PR(s).
@jschleicher
Copy link
Contributor

Thank you very much @henningkayser ! The latest build failure seems to be an unrelated docker issue.

I'd suggest a squash-merge.

<param name="planning_plugin" value="$(arg planning_plugin)" />
<param name="request_adapters" value="$(arg planning_adapters)" />
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />

Copy link
Member

Choose a reason for hiding this comment

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

Shouldn't this have the new capabilities, like here?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yep, absolutely. To allow passing in user-defined capabilities as well, I'd suggest to pass the capabilities argument down to the included pipeline launch file(s) and append the planner-specific ones there: 99c059f

I'll re-generate the configuration inside moveit_resources based on this template.

ct2034 and others added 4 commits October 15, 2020 22:15
…unch/pilz_industrial_motion_planner_planning_pipeline.launch.xml

Co-authored-by: Henning Kayser <henningkayser@picknik.ai>
append the planner specific templates to the user-argument.
Therefore we pass the user-defined capabilities down to the planning pipeline
launch files via arguments.
@davetcoleman
Copy link
Member

The RPBT PR is merged! I think this is ready to go.

@jschleicher would still be nice to improve usability for future users via @henningkayser's suggestion:

For that, please consider adding a template for the planning pipeline launch file and configs as requested here, or add corresponding TODO+issue and plan for a follow-up. The same applies for the new config cartesian_limits.yaml.

@henningkayser
Copy link
Member

The RPBT PR is merged! I think this is ready to go.

@jschleicher would still be nice to improve usability for future users via @henningkayser's suggestion:

For that, please consider adding a template for the planning pipeline launch file and configs as requested here, or add corresponding TODO+issue and plan for a follow-up. The same applies for the new config cartesian_limits.yaml.

@davetcoleman Thanks for merging moveit_resources. Actually, the templates have already been added here.
@jschleicher please update the rosinstall so that we can merge this.

@felixvd
Copy link
Contributor

felixvd commented Nov 2, 2020

Absolutely cannot wait to see this with multiple planning pipelines. Super excited for these features <3

@henningkayser henningkayser merged commit cf21887 into moveit:master Nov 3, 2020
@ct2034
Copy link
Contributor Author

ct2034 commented Nov 3, 2020

Thank you very much. @henningkayser

@gonzalocasas
Copy link

🍾

martiniil added a commit to PilzDE/moveit that referenced this pull request Feb 3, 2021
* Add pilz_industrial_motion_planner to moveit_planners
* Update license, document consent to this change by contributers
* Fix formatting, code style, catkin_lint, clang-tidy
* Add and update tests, use new prvt_moveit_config from moveit_resources
* New codeowners for pilz_industrial_motion planner
* Add pipeline configuration teimplates to MSA

Co-authored-by: Joachim Schleicher <J.Schleicher@pilz.de>
Co-authored-by: rfeistenauer <r.feistenauer@pilz.de>
Co-authored-by: Giuseppe Sansone <g.sansone@pilz.de>
Co-authored-by: Immanuel Martini <i.martini@pilz.de>
@martiniil martiniil mentioned this pull request Feb 3, 2021
6 tasks
v4hn pushed a commit that referenced this pull request Mar 2, 2021
* Add Pilz industrial motion planner (#1893)

* Add pilz_industrial_motion_planner to moveit_planners
* Update license, document consent to this change by contributers
* Fix formatting, code style, catkin_lint, clang-tidy
* Add and update tests, use new prvt_moveit_config from moveit_resources
* New codeowners for pilz_industrial_motion planner
* Add pipeline configuration teimplates to MSA

* Fix file not found error (adjust to melodic `moveit::core::PlanningScene::isEmpty()` functions)

Co-authored-by: Christian Henkel <post@henkelchristian.de>
Co-authored-by: Joachim Schleicher <J.Schleicher@pilz.de>
Co-authored-by: rfeistenauer <r.feistenauer@pilz.de>
Co-authored-by: Giuseppe Sansone <g.sansone@pilz.de>
@tylerjw tylerjw mentioned this pull request Apr 9, 2021
@tylerjw tylerjw mentioned this pull request Apr 29, 2021
martiniil pushed a commit to PilzDE/pilz_application_templates that referenced this pull request Jul 22, 2021
Changing Planning Pipeline Reference to match moveit/moveit#1893
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
planning Related the the motion planning stack (OMPL, CHOMP, etc.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet