Contact problem between a pushrod and suspended weight

asked 2018-01-14 12:39:36 -0600

mohit005 gravatar image

Dear Gazebo Community,

I am in the process of developing a gazebo model of a UAV that incorporates a mechanism to drop certain weight blocks. All the weight blocks are designed with hooks which are positioned within slots enclosed at the bottom of the UAV base. The linear motion of the pushrod (controlled via gazebo plugin) opens the interlocking for the blocks (as visualized from Fig.). While running the simulation, the problem that I am encountering is the wobbly/bouncy motion of the weight block when it is suspended from the pushrod. Even the pushrod oscillates back and forth, which eventually opens the interlocking for the hook and it gets dropped even without commanding. I suspect the problem lies within the contact definition between the weight block and the pushrod. Whenever a contact is detected, a significant reaction force is applied to the hook of the weight block that results in its bouncy motion. I tried increasing damping for the contact by changing <kp> and <kd> parameters within the <contact> tag of the sdf file, but with no success. Another thing that I noticed, when I make the pushrod joint to be 'fixed' (by specifying zero values for <upper> and <lower> limits), the weight block although oscillates, but does not get dropped. To me it implied that there might be something wrong with the controller of the pushrod. So, I tried playing with the PID parameters but still it didn't solve the problem. After few moments of hover flight, the block drops due to rapid wobbling.

Attached are the snippet of my sdf codes for the pushrod and weight block, along with the physics definition in the workd file.

My PID controller definition for the pushrod is: p = 0.9, i = 0.05, d = 0.4, iMax = 0.1, iMin = -0.1, cmdMax = 2.7, cmdMin = -2.7.

I have spent some time in finding a similar issue, however, couldn't find one. Any of your help is highly appreciated.

Mohit C:\fakepath\setup.png C:\fakepath\pushrod_snippet.sdf C:\fakepath\weightblock_snippet.sdf C:\fakepath\physics_world.world

edit retag flag offensive close merge delete