0
$\begingroup$

Rosanswers logo

I've read from here that there are many types of ros controllers.

  1. I noticed that joint_position_controller appears both in effort_controllers and position_controllers (the latter being logical). why is this so ?

2)this is what I think the joint_position_controller does : we give a joint position it calculates the effort needed and ensures joint reaches the position and similarly in joint_effort_controller, do we give the effort at each joint ?

3)while using position controllers can I read the effort at each joint ?

4)I'm using MoveIt! for a gazebo simulation. I've setup an action server FollowJointTrajectory. which controller should I be using for this ?


Originally posted by mewbot on ROS Answers with karma: 71 on 2018-10-28

Post score: 1

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Please see #q292248 which should clear up at least the first 2 questions you post.

As for the other two:

while using position controllers can I read the effort at each joint ?

yes, joint state is decoupled from the controller that is being used.

I'm using MoveIt! for a gazebo simulation. I've setup an action server FollowJointTrajectory. which controller should I be using for this ?

I don't understand your question. MoveIt expects a FollowJointTrajectory action server. How exactly did you "setup" one?

ros_control provides the joint_trajectory_controller which also offers a FollowJointTrajectory action server. That is typically used in setups of ros_control that need to be compatible with MoveIt.


Originally posted by gvdhoorn with karma: 86574 on 2018-10-28

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by gvdhoorn on 2018-10-28:
PS: I'm not saying you haven't, but please try to use the search first. There are multiple Q&As about the different kinds of ros_control controllers. If the search doesn't work for you, try to use Google (use: <search terms> site:answers.ros.org).

Comment by gvdhoorn on 2018-10-28:
Finally: please don't include multiple questions in a single post.

You already run into the biggest issue with this here: the title of your question is "what are the different types of ros_control ?", but you then also ask 3 other questions which are not covered by the title.

Comment by mewbot on 2018-10-28:
Sorry i'm new to forums i will do so from now.

Comment by mewbot on 2018-10-28:
yea Im using the FollowJointTrajectory provided by ros_control. The is what I think : moveit sends the trajectory plan to the Action server and the action server calls/instructs the controllers to do the action . ?

$\endgroup$
0
$\begingroup$

Rosanswers logo

To answer questions, 1 & 2. The reason they have two slightly confusing descriptions in the names is that they are describing both the type of output from the controller to the joint as well as the input. For example the effort_controller/joint_position_controller receives position requests from ROS and outputs the efforts required to reach that position.

  1. Whichever node is controlling your joints will be publishing a joint_state topic. These messages (may) include the efforts at each joint, this is an optional parameter so will depend on the node that you use.

  2. Joint trajectories are specified as a sequence of positions, so you'll need a controller than accepts these. The output will depend on how you're controlling the actual robot, probably an effort controller.

Hope this helps.


Originally posted by PeteBlackerThe3rd with karma: 9529 on 2018-10-28

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by mewbot on 2018-10-28:
3) for a physical simulation isnt it necessary to have torque as output from the controllers?

Comment by PeteBlackerThe3rd on 2018-10-28:
A torque is an effort on an angular joint. A force is an effort on a linear joint. These are described as efforts so that the description is accurate for any joint type.

$\endgroup$

Your Answer

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