Robotics StackExchange | Archived questions

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

Answers