Gazebo sends wrong velocities when using joint effort controller
Hello Everyone,
I am working with Kinova Jaco 2 arm in Gazebo. I have set up joint effort controllers (type: effort_controllers/JointEffortControllers
) for each joint as well as a state publisher (type: joint_state_controller/JointStateController
) to publish the joint states. When Gazebo launches the robot falls down and all of the torques are set to zero (which is correct) but surprisingly the joint velocities are large non-zero values.
This is an example of the joint states:
header:
seq: 374
stamp:
secs: 7
nsecs: 960000000
frame_id: ''
name: ['j2n6s300_joint_1', 'j2n6s300_joint_2', 'j2n6s300_joint_3', 'j2n6s300_joint_4', 'j2n6s300_joint_5', 'j2n6s300_joint_6', 'j2n6s300_joint_finger_1', 'j2n6s300_joint_finger_2', 'j2n6s300_joint_finger_3']
position: [-0.9012024910200029, 1.0208960902473638, 2.5683548384732386, -3.113053974961307, -3.003218016745004, -14.645901287670581, 0.49310698169504263, 1.9998755950416065, 1.9992591337701349]
velocity: [22.471898998067832, -9.565097861942068, 0.8652258587505691, 1.1186389825126324, -1.176501196002201, -0.4477771946902821, -0.3705619297587054, 0.2368315633849316, 0.5800874302398775]
effort: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
An interesting point is that Gazebo will return correct joint velocities if I switch the controllers to effort_controllers/JointPositionController
.
Does anybody know the reason behind this strange behaviour?
Thanks a lot,
Sahand