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

subframe test; error: link not found in model #3143

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

emielke12
Copy link

Description

See #3139. This contains a new subframe test that looks at planning using move_group.computeCartesianPath. Subframes are not resolving in this planner.

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • Extend the tutorials / documentation reference
  • 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

@welcome
Copy link

welcome bot commented May 18, 2022

Thanks for helping in improving MoveIt and open source robotics!

@codecov
Copy link

codecov bot commented May 18, 2022

Codecov Report

Merging #3143 (f1806a7) into master (3cbcbad) will decrease coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3143      +/-   ##
==========================================
- Coverage   61.66%   61.55%   -0.10%     
==========================================
  Files         376      376              
  Lines       33314    33314              
==========================================
- Hits        20540    20504      -36     
- Misses      12774    12810      +36     
Impacted Files Coverage Δ
...raint_samplers/src/default_constraint_samplers.cpp 76.31% <0.00%> (-3.75%) ⬇️
moveit_core/kinematic_constraints/src/utils.cpp 28.21% <0.00%> (-3.52%) ⬇️
...e/src/parameterization/model_based_state_space.cpp 68.33% <0.00%> (-3.10%) ⬇️
...oveit/kinematic_constraints/kinematic_constraint.h 93.68% <0.00%> (-2.53%) ⬇️
moveit_core/robot_model/src/joint_model_group.cpp 61.87% <0.00%> (-2.27%) ⬇️
moveit_core/collision_detection/src/world.cpp 88.59% <0.00%> (-1.63%) ⬇️
moveit_core/planning_scene/src/planning_scene.cpp 64.56% <0.00%> (-0.32%) ⬇️
...nning_scene_monitor/src/planning_scene_monitor.cpp 66.35% <0.00%> (-0.12%) ⬇️
.../move_group_interface/src/move_group_interface.cpp 47.83% <0.00%> (+0.18%) ⬆️
...ipulation/pick_place/src/manipulation_pipeline.cpp 74.39% <0.00%> (+0.83%) ⬆️
... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3cbcbad...f1806a7. Read the comment docs.

@felixvd
Copy link
Contributor

felixvd commented May 19, 2022

Thanks. I didn't get around to responding to your ROS Answers questions (where you should cross-link these posts).

As you can see in the original PR #1439, this was not implemented for computeCartesianPath because it interpolates between the joint poses directly, without using planning adapters (the subframes are resolved in an adapter). Using the LIN motion of the Pilz Industrial Motion Planner instead should work.

@rhaschke
Copy link
Contributor

I was afraid of that @felixvd. As people obviously kind of expect that subframe resolution works everywhere, should we replace the adapter plugin with a corresponding hard-coded call to resolve subframes wherever applicable?
@v4hn, @davetcoleman: opinions?

@v4hn
Copy link
Contributor

v4hn commented May 19, 2022

yes, the adapter was not a good choice for this resolution I guess. 🤔

@emielke12
Copy link
Author

@felixvd Thanks for the clarification. In the meantime, I will see where I can get to with the pilz_industrial_motion_planner

@emielke12
Copy link
Author

Attempting to use pilz industrial motion planner gets me a similar error:

No IK solver available for link:

Planning using the default tool frame works just fine.

@genkv
Copy link

genkv commented Dec 9, 2022

should we replace the adapter plugin with a corresponding hard-coded call to resolve subframes wherever applicable?

Hello @rhaschke , just wondering if there's any update on this? I'm also trying to accomplish the same thing -- computeCartesianPath for a subframe by multiple waypoints. As of the latest code, it won't allow me to do so because subframe (of an attached object) is not part of the robot. Is there any open PR that enables computeCartesianPath to resolve subframes, or should I switch to using pilz_industrial_motion_planner? Thanks

@genkv
Copy link

genkv commented Dec 13, 2022

should we replace the adapter plugin with a corresponding hard-coded call to resolve subframes wherever applicable?

Hello @rhaschke , just wondering if there's any update on this? I'm also trying to accomplish the same thing -- computeCartesianPath for a subframe by multiple waypoints. As of the latest code, it won't allow me to do so because subframe (of an attached object) is not part of the robot. Is there any open PR that enables computeCartesianPath to resolve subframes, or should I switch to using pilz_industrial_motion_planner? Thanks

Reply to self:

Using pilz industrial motion planner, I have implemented a way to resolve a series of waypoints for any subframe. The amount of engineering work needed in implementing this is a bit more than I expected, but it's been a good learning experience to me nevertheless.

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.

5 participants