Skip to content

Switching controllers during runtime while using MoveIt #847

@Cody-Vu

Description

@Cody-Vu

I work with the franka panda robot using moveit and have a question about switching controllers. Is it possible to configure multiple controllers in the moveit_controllers.yaml file, for example position and effort controller:
controller_list:

- name: effort_joint_trajectory_controller
   action_ns: follow_joint_trajectory
   type: FollowJointTrajectory
   joints:
     - panda_joint1
     - panda_joint2
     - panda_joint3
     - panda_joint4
     - panda_joint5
     - panda_joint6
     - panda_joint7
 - name: position_joint_trajectory_controller
   action_ns: follow_joint_trajectory
   type: FollowJointTrajectory
   default: True
   joints:
     - panda_joint1
     - panda_joint2
     - panda_joint3
     - panda_joint4
     - panda_joint5
     - panda_joint6
     - panda_joint7

and switch them during runtime while the moveit node is constantly running? Right now I have the issue that moveit is only sending the trajectory to the default controller, even if I stop the default controller and run the other one instead. In the franka control node I get the error:

Can't accept new action goals. Controller is not running.

Is there a way to switch the controllers during runtime while using moveit ?
Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions