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

Nested composite instruction meta-information not respected in Trajopt planner #234

Open
marip8 opened this issue Aug 2, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@marip8
Copy link
Contributor

marip8 commented Aug 2, 2022

The Trajopt planner does not appear to support different profiles and manipulator infos for nested composites because the input instructions are flattened, the composite ManipulatorInfo object is only created from the highest level composite, and the only composite profile created is extracted using the profile name in the highest level composite.

const tesseract_common::ManipulatorInfo& composite_mi = request.instructions.getManipulatorInfo();

auto instructions_flattened = flattenProgram(request.instructions);

profile = getProfileString(name_, request.instructions.getProfile(), request.composite_profile_remapping);
TrajOptCompositeProfile::ConstPtr cur_composite_profile = getProfile<TrajOptCompositeProfile>(
name_, profile, *request.profiles, std::make_shared<TrajOptDefaultCompositeProfile>());

I'm not sure if this used to be supported in the past, but we have had conversations recently about this being a valuable and important capability for Trajopt. If this is not a bug or feature regression, we should consider handling this more appropriately in the upcoming refactor of the motion planners. Maybe we only support a single layer of composite nesting within request.instructions to allow for the specification of different profiles or different motion groups/TCPs for groups of waypoints in the same plan

@Levi-Armstrong Levi-Armstrong added the enhancement New feature or request label Feb 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants