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

create a .yaml config file to use jointPositionController in order to control a robot joints

asked 2018-06-27 10:19:28 -0600

samo gravatar image

updated 2018-06-29 03:19:07 -0600

i was following this tutorial : http://gazebosim.org/tutorials/?tut=r... to create a .yaml config file in order to control my robot's joints, so that did work for me but i want to create just one controller to controll many joints.

i wrote this code but the controllers didn't want to be load :

joint_position_controller:

type: effort_controllers/JointPositionController

joints: joint1

          joint2

          joint3

          joint4

pid: {p: 100.0, i: 0.01, d: 10.0}

any suggestions?

edit retag flag offensive close merge delete

Comments

Do you mean , how to control the joints ?

There are two ways , Publish from CLI

or Use rqt_reconfigure

chrissunny94 gravatar image chrissunny94  ( 2018-06-28 09:08:24 -0600 )edit

Thank you. yeah, i used rqt_gui in order to control the joints and that worked for me, but i want to declare just one controller, so when i want to publish from a node i can use just one topic to publish in all my joints.

did you understand me? if there is any question i'm listenning.

samo gravatar image samo  ( 2018-06-28 09:16:20 -0600 )edit
1

@samo please stop bumping your question. If someone can answer, he/she will probably have done so...

mgruhler gravatar image mgruhler  ( 2018-06-29 03:59:39 -0600 )edit

@mgruhler got it, and sorry

samo gravatar image samo  ( 2018-06-29 08:00:46 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-06-29 04:09:49 -0600

mgruhler gravatar image

This is not possible with the effort_controllers/JointPositionController. This is intended for a single joint.

However, there is also an effort_controllers/JointGroupPositionController. I don't have personal experience, but this might do what you want.

Syntax for the yaml is (according to this example) :

type: "position_controllers/JointGroupPositionController"
joints:
 - joint_1
 - joint_2
pid_gains:
  joint_1: {p: 100.0, i: 0.01, d: 10.0}
  joint_2: {p: 100.0, i: 0.01, d: 10.0}
edit flag offensive delete link more

Comments

thanks, i tried what you told me here but it gives me an error "load_parameters: unable to set parameters (last param was [/pid_gains/elbow/i=1]): cannot marshal None unless allow_none is enabled"

samo gravatar image samo  ( 2018-07-06 03:50:13 -0600 )edit

do you know what kind of error is this, and how to solve it?

samo gravatar image samo  ( 2018-07-06 03:50:44 -0600 )edit

see e.g. #q165686

mgruhler gravatar image mgruhler  ( 2018-07-06 04:25:55 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2018-06-27 10:19:28 -0600

Seen: 2,874 times

Last updated: Jun 29 '18