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

controller type 'effort_controllers/JointPositionController' does not exist

asked 2014-03-26 01:14:25 -0500

Marcus gravatar image

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

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2014-03-26 06:31:16 -0500

Adolfo Rodriguez T gravatar image

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.

edit flag offensive delete link more



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 :)

Marcus gravatar image Marcus  ( 2014-03-27 04:53:06 -0500 )edit

At what location did you save the effort_controllers folder?

botbuilder gravatar image botbuilder  ( 2016-07-22 13:22:41 -0500 )edit

does this means i cant' use joint_state_controller/JointStateController for a joint?

dinesh gravatar image dinesh  ( 2017-07-26 11:20:26 -0500 )edit

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?

Cabbage gravatar image Cabbage  ( 2017-10-06 21:35:57 -0500 )edit

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

lotfishtaine gravatar image lotfishtaine  ( 2019-10-04 05:07:33 -0500 )edit

remember to run sudo apt update, just in case

ignacio gravatar image ignacio  ( 2020-12-10 03:38:05 -0500 )edit

answered 2021-03-21 14:35:07 -0500

ymzkp gravatar image

Run this command

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

edit flag offensive delete link more

Question Tools



Asked: 2014-03-26 01:14:25 -0500

Seen: 16,694 times

Last updated: Mar 26 '14