ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

MoveIt: Is it possible to have different types of controllers in one planning group?

asked 2020-05-07 14:03:10 -0600

JunTuck gravatar image

Dear all,

as the question suggests, is it possible to have inside one MoveIt planning group, for example: a FollowJointTrajectory controller along with an effort_controllers/JointPositionController?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2020-05-19 08:28:57 -0600

fvd gravatar image

updated 2020-05-19 10:47:53 -0600

It looks like each planning group connects to a single action server advertising the respective action (e.g. /follow_joint_trajectory), but since you can combine multiple planning groups into another one, you should be able to use that meta planning group to control your two subgroups which use different controllers.

If that doesn't work, you could write a custom controller for your robot that accepts the FollowJointTrajectory goal, passes part of it to a "real" FollowJointTrajectory controller and then does something else for a few of the joints.

edit flag offensive delete link more


At least the joint_trajectory_controller from ros_control can be configured to accept partial goals (ie: for only a subset of joints).

This may not need any custom controllers.

gvdhoorn gravatar image gvdhoorn  ( 2020-05-19 08:32:50 -0600 )edit

I was actually unsure and looked into it a little more. I updated my answer.

fvd gravatar image fvd  ( 2020-05-19 10:47:57 -0600 )edit

Well I'm not sure about the MoveIt side. I just wanted to point out the fact that partial goals are supported, so this could work without needing custom code.

gvdhoorn gravatar image gvdhoorn  ( 2020-05-19 13:36:44 -0600 )edit

answered 2020-05-28 09:28:12 -0600

jahad gravatar image

updated 2020-05-28 09:28:53 -0600

The answer has already been given in the discussion. Any type of controller can be grouped into a planning group. The trick is to define the group in roslaunch moveit_setup_assistant setup_assistant.launch and check if Pose is actually possible. And since the Generate Package generates a .srdf file, you should be able to use it in your Moveit by copying or editing a part of the group into your package.

edit flag offensive delete link more

Question Tools



Asked: 2020-05-07 14:03:10 -0600

Seen: 527 times

Last updated: May 28 '20