0
$\begingroup$

Rosanswers logo

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 :

http://gazebosim.org/tutorials?tut=ros_control

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


Originally posted by tristancrs on ROS Answers with karma: 21 on 2014-12-04

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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.


Originally posted by Adolfo Rodriguez T with karma: 3907 on 2014-12-05

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by tristancrs on 2014-12-08:
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.

Comment by tristancrs on 2014-12-08:
transmission_interface/SimpleTransmission EffortJointInterface 1

Comment by tristancrs on 2014-12-08:
Do you have any other idea where the problem comes from?

Comment by Adolfo Rodriguez T on 2014-12-09:
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.

Comment by tristancrs on 2014-12-09:
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.

Comment by tristancrs on 2014-12-09:
I really need to control my joint in position because I am using a IK program

Comment by Adolfo Rodriguez T on 2014-12-10:
You say you followed this tutorial: http://gazebosim.org/tutorials?tut=ros_control 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.

Comment by tristancrs on 2014-12-10:
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?

Comment by tristancrs on 2014-12-10:
I think the problem is about the gravity compensation. When setting the gravity to 0 everything work perfectly, I am able to command thr joint. The position controller seems not to deal with the gravity

Comment by tristancrs on 2015-01-29:
There is still no answer to my question : I can't control the prismatic joint horizontally (z), even if it's working vertically (x,y)

$\endgroup$

Your Answer

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