Ask Your Question

Problem controlling prismatic joint with gazebo_ros_control

asked 2014-12-04 11:11:23 -0500

tristancrs gravatar image

I am trying to control my scara robot model using gazebo_ros_control but I can't find a solution to control my prismatic joint. I followed this tutorial :

I first load my urdf using a launch file. Then I load my controller with another launch file and when I start the simulation on gazebo the following message is displayed: Started controllers: joint1_position_controller, joint2_position_controller, joint3_position_controller, joint4_position_controller, joint_state_controller So, for me, everything seems to work except that my prismatic joint falls down and I can't send any command to it using the rostopic pub service, as explained in the tutorial. Does anyone have a idea to solve my problem? Thanks in advance

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2014-12-05 03:50:02 -0500

Adolfo Rodriguez T gravatar image

If the controllers are sending effort commands, it might be the case that your joint PID gains are too low to overcome the weight of your links, let alone accelerate them. Try tuning the PID gains as is documented in the tutorial, andsee if this solves your issue.

edit flag offensive delete link more


First I want to thank you Adolfo for the answer. Yes the controllers are sending effort commands: please fin the the URDF part for the prismatic joint belkow. As you recommended I have tried to change the PID gains without any success...the joint continues to fall down when the simulation starts.

tristancrs gravatar image tristancrs  ( 2014-12-08 16:31:06 -0500 )edit

<transmission name="joint3_tran"> <type>transmission_interface/SimpleTransmission</type> <joint name="joint3"/> <actuator name="joint3_motor"> <hardwareinterface>EffortJointInterface</hardwareinterface> <mechanicalreduction>1</mechanicalreduction> </actuator> </transmission>

tristancrs gravatar image tristancrs  ( 2014-12-08 16:31:26 -0500 )edit

Do you have any other idea where the problem comes from?

tristancrs gravatar image tristancrs  ( 2014-12-08 16:32:00 -0500 )edit

Can you confirm that efforts are indeed being applied to the joints, such as by inspecting the joint_states topic?. Did you change the PID gains enough to make the system move?. If gains are too large the system will become unstable, but at least you'll know that the changes are taking effect.

Adolfo Rodriguez T gravatar image Adolfo Rodriguez T  ( 2014-12-09 01:58:25 -0500 )edit

you are right, no efforts are applied to joints. Only positions and velocities are changing when sending command to revolute joints. I tried tuning the PID gains but nothing seems to affect the system, even when they are large enough.

tristancrs gravatar image tristancrs  ( 2014-12-09 10:54:48 -0500 )edit

I really need to control my joint in position because I am using a IK program

tristancrs gravatar image tristancrs  ( 2014-12-09 12:20:17 -0500 )edit

You say you followed this tutorial: Did it work?. Also, in your current setup, do the contents of the joint1_position_controller/state topic make sense?. The topic is of type JointControllerState.

Adolfo Rodriguez T gravatar image Adolfo Rodriguez T  ( 2014-12-10 01:49:14 -0500 )edit

Everything work except the prismatic joint controller. And yes the content of joint1_position_controller/state is of type JointControllerState and make sense. Do you want my project package?

tristancrs gravatar image tristancrs  ( 2014-12-10 10:51:34 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2014-12-04 11:11:23 -0500

Seen: 4,761 times

Last updated: Dec 05 '14