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

What is the difference between different controllers provided in ros_control?

asked 2018-05-25 02:32:50 -0500

aniket0112 gravatar image

As mentioned in the official documentation, the list of available controllers are:

  • effort_controllers
    • joint_effort_controller
    • joint_position_controller
    • joint_velocity_controller
  • joint_state_controller
    • joint_state_controller
  • position_controllers
    • joint_position_controller
  • velocity_controllers
    • joint_velocity_controller

I want to know the difference between effort_controllers/joint_position_controller and position_controllers/joint_position_controller and how to use a position controller and which of the above to use?

My application is a joint velocity control of a two link manipulator in Gazebo using ROS Control.

I'm using ROS Kinetic with Ubuntu 16.04 LTS. Gazebo version is 7.12

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-05-25 02:53:24 -0500

gvdhoorn gravatar image

Please see if the accepted answer to #q203404 clears this up.

Summarising: as an exampleeffort_controllers assume the hw they are controlling supports effort input (ie: force, torque) and so produce efforts to implement a specific control law.

Concretely: think of a torque-controlled joint and the desire to run a position control loop over it. You'd have to use torques to do that.

edit flag offensive delete link more

Question Tools


Asked: 2018-05-25 02:32:50 -0500

Seen: 2,126 times

Last updated: May 25 '18