Load stopped alongside running controllers using roslaunch.

asked 2016-09-02 09:48:00 -0600

zisikons gravatar image

updated 2016-09-02 09:50:03 -0600

I have a 7 DOF robotic arm with a gripper (2 prismatic joints) simulated in Gazebo and Ι am using ROS control to control it. Every joint has an Effort Joint Interface, so Ι am using effort based position controllers provided by ROS control. However, under certain circumstances Ι wish to use effort controllers for the prismatic joints on my gripper instead.

This feature is provided by the controller_manager's SwitchController Service, but the problem is that the service needs the controller to be already loaded. I load my controllers using roslaunch controller manager options but Ι can't load both controllers because they're using the same interface. So I can either load every controller stopped using the --stopped option or I could load every position controller as usual and load the EffortController manually.

Is there a way to load and start the position controllers, and load in stopped mode the effort controller using only roslaunch?

edit retag flag offensive close merge delete