Dampening parameter ignored?

asked 2020-04-03 04:24:02 -0600

Eisenhorn gravatar image

Hello,

I have a description file for a robot arm. The URDF is generated by an XACRO file. Within the joint tag I have a dynamics dampening tag

<joint name="arm_joint_4" type="revolute">
        <origin xyz="${arm_joint_4_offset_x} ${arm_joint_4_offset_y} ${arm_joint_4_offset_z}" rpy="${M_PI} 0 ${150 * M_PI / 180}"/>
        <axis xyz="0 0 1"/>
        <limit lower="0.016" upper="5.75" effort="100" velocity="${(0.95 * 1)}"/>
        <parent link="arm_link_3"/>
        <child link="arm_link_4"/>
        <dynamics damping="0.7" />
    </joint>

Nevertheless the following ca be observed.

If you check the properties of the respective link of the modell in the Gazebo Client GUI one can see that values are parsed at least.

C:\fakepath\gui.PNG

But if you call the gazebo service get_joint_properties, one can see that damping: [] is empty.

rosservice call /gazebo/get_joint_properties "joint_name: 'arm_joint_4'"
type: 0
damping: []
position: [4.2]
rate: [0.0]
success: True
status_message: "GetJointProperties: got properties"

Now its possible to set the values after the simulation is loaded

rosservice call /gazebo/set_joint_properties "joint_name: 'arm_joint_4'
ode_joint_config:
  damping: [0.7]
  hiStop: [0]
  loStop: [0]
  erp: [0.2]
  cfm: [0]
  stop_erp: [0]
  stop_cfm: [0]
  fudge_factor: [0]
  fmax: [0]
  vel: [0]"

But this is not optimal. Do I get something wrong?

BR

edit retag flag offensive close merge delete