Rosanswers logo

Hey there,

I am trying to get control over a revolving joint (it is for a pan-tilt camera unit). So far I followed the tutorial but the suggested controller (effort_controllers/JointPositionController) apparently does not exist. The ROS-error is -->

Could not load controller 'MY_CONTROLLER_NAME' because controller type 'effort_controllers/JointPositionController' does not exist.

When I use the solution suggested by ROS -->

"Use 'rosservice call controller_manager/list_controller_types' to get the available types"

I get -->

types: ['controller_manager_tests/EffortTestController', 'controller_manager_tests/MyDummyController', 'effort_controllers/JointTrajectoryController', 'joint_state_controller/JointStateController', 'position_controllers/JointTrajectoryController'] base_classes: ['controller_interface::ControllerBase', 'controller_interface::ControllerBase', 'controller_interface::ControllerBase', 'controller_interface::ControllerBase', 'controller_interface::ControllerBase']

It might be possible that I could use some other controller to achieve control over the revolving joint. Maybe the ''joint_state_controller/JointStateController'? However, I am still wondering why the tutorial suggests a controller which is not available.

I am using ROS-hydro and my Gazebo version is 1.9.3.

Any suggestions are very appreciated. Marcus

Originally posted by Marcus on ROS Answers with karma: 164 on 2014-03-26

Post score: 4


2 Answers 2


Rosanswers logo

How did you install ros_controllers, binaries or source?. What does rospack find effort_controllers yield?. It would seem that this package is either not present or its location is not in your ROS_PACKAGE_PATH.

The joint_state_controller/JointStateController is a read-only controller that publishes the /joint_states topic, so not an option. You could however use the effort_controllers/JointTrajectoryController. It all depends on how you wish to send control commands.

Originally posted by Adolfo Rodriguez T with karma: 3907 on 2014-03-26

This answer was ACCEPTED on the original site

Post score: 13

Original comments

Comment by Marcus on 2014-03-27:
Thx for the help!!!! "rospack find effort_controllers" told me the package cannot be found. I simply: "sudo apt-get install ros-hydro-effort_controllers" and now it works. I have a Pan-Unit for my camera :)

Comment by botbuilder on 2016-07-22:
At what location did you save the effort_controllers folder?

Comment by dinesh on 2017-07-26:
does this means i cant' use joint_state_controller/JointStateController for a joint?

Comment by Cabbage on 2017-10-06:
When I typed "sudo apt-get install ros-hydro-effort_controllers", I got the error of "E: Unable to locate package ros-hydro-effort_controllers". Where can I find that package?

Comment by lotfishtaine on 2019-10-04:
Thanks for sharing this useful information with us here. It works for me on ros-melodic. I just install : "ros-melodic-effort-controllers" with : sudo apt-get install ros-melodic-effort-controllers

Comment by ignacio on 2020-12-10:
remember to run sudo apt update, just in case


Rosanswers logo

Run this command

sudo apt-get install ros-melodic-ros-control ros-melodic-ros-controllers

Originally posted by ymzkp with karma: 11 on 2021-03-21

This answer was NOT ACCEPTED on the original site

Post score: 1


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.