gazebo set values of joint angles beyond the joint limits or `break` when robot contact with ground or some object
Gazebo set values of joint angles beyond the joint limits, and not set the joint states to normal value depend on the current model state, even if the robot has moved to other poses. And sometimes the robot breaks
when contact with some object in gazebo!
The following joint angles are too much larger than the joint limit (-pi, pi):
header:
seq: 14205682
stamp:
secs: 71085
nsecs: 101000000
frame_id: ''
name: ['elbow_joint', 'shoulder_lift_joint', 'shoulder_pan_joint', 'wrist_1_joint', 'wrist_2_joint', 'wrist_3_joint']
position: [-8.51584976541768, -22393.868370150947, -23210.903847882473, -23059.99195414233, 7.4320796024417355, 9.18637489720941]
velocity: [0.00021875832846863282, 0.00585327683488699, 0.003416905486500389, -0.0001427822974524656, 6.232113829809081e-05, 1.6280227906504893e-06]
effort: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Asked by jacknlliu on 2018-03-06 21:49:32 UTC
Comments
Hi, I’m having the exact same problem right now, I am using ros-kinetic + Gazebo7, used EffortJointInterface to control the joints. And even if I set joint positions within [-pi, pi], gazebo (or the robot_state_publisher) sometimes just decides to set/give back (2pi -) as joint_state.
Have you managed to solve this problem by now?
Asked by Kloping on 2019-05-23 05:04:34 UTC