How to model a contact between two Models

asked 2017-08-11 10:37:17 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi all,

I am trying to model an environment in Gazebo. I am not an expert and I am using Gazebo 7 and ROS kinetic. I have made my models in Creo parametric and imported them as .dae and .stl files in the individual sdf model files for gazebo. The models consist of a simple box, pallets and signboard. The <static> tags are set to false, since the models have to be movable. is if the robot collides with them they should move away. I have also defined the <inertial> tags and assigned the corresponding masses and inertia matrix values correspondingly. The inertia tensors were computed both with Creo and then Meshlab. I tried giving the values from both the sources. The problem is when I launch the .world file the models are spawned , but they are behaving weird. When spawned, the signboards are already in fallen position instead of being vertical. The boxes keep wobbling and sliding on the gazebo plane. The box to be put on the pallet is half immersed into it rather than being on top of it and both the box and pallet are shaking as if there is some contact / collision problem. I have also given the mu,mu2 and kp,kd values in the friction tags. I tried tuning the kp and kd values following this link. But by increasing the kd parameter the models fall below the plane, while keeping it to minimum and increasing the kp parameter to very high values did make some stability, Also increasing the inertia tensors values to very large values..... but I am not sure if this is the right solution. The gravity is enabled in the .world file. My objective is to place the box on the pallet and the sign boards standing vertical. The box on the pallet should not slide away or vibrate. I am attaching the corresponding files and also a video of the simulation to show what is happening. @chapulina , @nkoenig , @AndreiHaidu perhaps can tell me what am I doing wrong here.

C:\fakepath\box.sdf C:\fakepath\stand.sdf C:\fakepath\pallet.sdf C:\fakepath\wall.sdf C:\fakepath\storage.world

simulation

edit retag flag offensive close merge delete