-
Notifications
You must be signed in to change notification settings - Fork 543
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 Industrial motion planner is ignoring the goal frame_id passed #2857
Comments
Thanks for reporting this and pointing out the moveit solution. Either us or somebody from the community can port it over if you don't have the bandwidth. |
Hi, I tried to use adapter "default_planner_request_adapters/ResolveConstraintFrames" to solve this but in vain. |
Hi, I still have this issue in my to-do list to make a PR with the fix as soon as possible, as a temporary fix we resolved to transform the target_pose or waypoint You can do something like this: target_pose = TransformPose(target_pose, move_group->getRobotModel()->getModelFrame(), tf_buffer_); Where we assign to reference_frame the value of Cheers |
I've tested the humble backport of #3055 from a build-from-source copy of my fork, and I'm still having issues with LIN plans and subframes. The error I'm getting is something like It seems like something in the pilz code isn't taking collision objects and / or their subframes into account when determining valid planning frames. @sjahr It might be worth re-opening this issue and I'll look into the code in more depth tomorrow? |
I think I might have found the cause: ROS1 Moveit explicitly sets the frame id to the model frame, and appears to transform the start and goal poses to account for a different frame id (e.g. a subframe goal): ROS2 Moveit appears to only set the frame id to the model frame if no frame is specified (which for non-model-frame ids will immediately throw an error in moveit2/moveit_planners/pilz_industrial_motion_planner/src/trajectory_generator_lin.cpp Lines 103 to 131 in 1a77d7d
Edit: I just noticed these are exactly the changes addressed in moveit/moveit#3522 😅 I'll have a go at porting it tomorrow |
I believe this specific issue should be fixed once #3075 is merged. @Danilrivero @liver121888 would you be able to test humble from source when it's ready to check that this is the case? The issue I was still running into ( |
Description
Seems to be directly related to the following issues merged in MoveIt1:
moveit/moveit#3035
moveit/moveit#3522
moveit/moveit#3519
I am using PILZ to plan trajectories with LIN. Planning with OMPL, you can set the goal constraint frame_id as any frame present in the planning scene and the planner correctly plans the motion correctly. This does not seem to be the case with PILZ in MoveIt2.
Your environment
Steps to reproduce
Expected behaviour
By planning a linear movement with LIN setting a TargetPose in a certain frame it shall plan properly by knowing the RobotState.
Actual behaviour
The following ERROR happens:
Backtrace or Console output
I do not have the bandwidth to backport these changes but could if not solved yet in the near future, opening this issue to let it be known in case. Having a backport to humble and updating the binaries would be appreciated as well.
The text was updated successfully, but these errors were encountered: