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

constrained_ik: MoveIt planner plugin ignores passed in 'NodeHandle' #45

Open
gavanderhoorn opened this issue Jul 16, 2017 · 1 comment
Labels

Comments

@gavanderhoorn
Copy link
Member

I'm trying to load multiple MoveIt planning plugins into a single process and one of the approaches I'm investigating is exploiting namespacing using ros::NodeHandle instances.

The OMPL plugin (moveit_planners_ompl) nicely uses the NodeHandle passed in in the PlanningManager::initialize(..) call (here) which makes things work almost out-of-the-box.

Trying to do the same with constrained_ik::CLIKPlannerManager does not seem to work properly, as CLIKPlannerManager::initialize(..) seems to only pass the NodeHandle on to the CartesianDynReconfigServer and the ManagerDynReconfigServer, but not to the CartesianPlanner and JointInterpolationPlanner instances that it creates. Combined with the fact that constrained_ik::Constrained_IK (used by CartesianPlanner) also creates its own NodeHandle, parameters are then always resolved / loaded from the private namespace of the node, which breaks any namespacing / isolation attempts.

The reason I'm posting this issue is to understand why this was implemented in this way, and to see whether it would be ok (and feasible) to restructure things in such a way that a single root NodeHandle instance (with possibly others in sub-namespaces) is used throughout the object hierarchy headed by CLIKPlannerManager.

@gavanderhoorn gavanderhoorn changed the title constrained_ik: MoveIt planner plugin ignores passed in NodeHandle constrained_ik: MoveIt planner plugin ignores passed in 'NodeHandle' Jul 16, 2017
@Levi-Armstrong
Copy link
Contributor

@gavanderhoorn, It should be OK to setup like the example you showed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants