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

merger: Generator stages not yet supported. #513

Open
Benjamin179 opened this issue Dec 5, 2023 · 1 comment
Open

merger: Generator stages not yet supported. #513

Benjamin179 opened this issue Dec 5, 2023 · 1 comment

Comments

@Benjamin179
Copy link

I am attempting to use GeneratePose stages in Merger stage. However, an error shows up saying its not supported. May I know if there is any plans of including this feature? Also, is there a workaround for the current limitations of the Merger stage?

@rhaschke
Copy link
Contributor

rhaschke commented Dec 5, 2023

I guess you are referring to this warning:
https://github.com/ros-planning/moveit_task_constructor/blob/a90557279ca306fc30d39ec463af401022314b17/core/src/container.cpp#L1107

The problem with merging generator stages is that we do not know how to resolve ambiguous InterfaceStates. Each child generates its own pair of start and end states, which comprise a PlanningScene (comprising collision objects, joint states, and an allowed collision matrix in turn) as well as properties. Each of those entities might induce a conflict.

For example, how do you decide, which joints of the associated RobotStates to merge? Which are the ones to keep from each child? For propagator stages, we determine the JMG from the RobotTrajectory of the generated child solution. However, most generator stages (including GeneratePose) do not generate a RobotTrajectory but just spawn a new PlanningScene.

We could implement merging for generators, if the corresponding JMG is specified via a property or the RobotTrajectory.
In your case, the GeneratePose stages just generate an InterfaceState property (namely target_pose), which is subsequently used by a ComputeIK wrapper as an IK target. I guess, you actually want to merge those ComputeIK results rather than the GeneratePose properties?

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

No branches or pull requests

2 participants