0
$\begingroup$

Rosanswers logo

Hi all, I'm using libgazebo_ros_ft_sensor.so plugin to find torques in joints and control joints using gazebo_ros_control plugin. However when I compare joint torque from sensor and position_controller/state/command value (result of PID work), they are not the same. Their behaviour looks similar but as if sensor value n times smaller than command value. What could be the reason? Thanks!


Originally posted by RamilK on ROS Answers with karma: 26 on 2017-08-16

Post score: 0


Original comments

Comment by 2ROS0 on 2017-08-16:
units? proportional term?

Comment by RamilK on 2017-08-16:
Sensor uses GetForceTorque function of gazebo which provides values in SI as I expect. ros_control generates effort as I understand and should be also in N*m. There are no multiplication factors

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Hi everyone! Seems that the solution is found! The issue was that i set high friction and damping coefficients in joint. As mentioned in here, motor torque = joint torque + friction (static and dynamic damping). PID set motor torque by Joint::SetForce in Gazebo and joint effort limits its value (see here). As for ft_sensor, it shows joint torque value (motor torque - friction). So if we set friction to 0 (both static and dynamic) ft_sensor and PID values are identical. Or in case of joint effort limits effect ft_sensor value is cut.


Originally posted by RamilK with karma: 26 on 2017-08-17

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

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