Dampening parameter ignored?
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.
But if you call the gazebo service getjointproperties, 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
Asked by Eisenhorn on 2020-04-03 04:24:02 UTC
Answers
Not sure if you are still working on your project, however I believe this is a topic which is important which justifies a response. Those inexperienced with ROS and/or Gazebo are often filtered through the ROS tutorials and the Gazebo tutorials at the same time, making it seem like they are entirely compatible projects, which is not true. If you started learning in ROS it is likely the case that you have made a model using URDF format. While you can use URDF with Gazebo and can load URDF files without an error, when Gazebo launches it converts to SDF behind the scenes and many important properties you so carefully built in the URDF are either partially ignored, or ignored entirely. This includes
Either move to SDF format and forget about ROS entirely or stick with URDF and make your own plugin which will set those properties.
Asked by Adam Gronewold on 2021-05-19 22:12:59 UTC
Comments