although it's an old topic,I'd like to share my case>>
I used to have the same problem.. using PD only the robot wouldn't respond to small change in angle and when I increased the P term it went crazy,,,D term wasn't helpful at all and when increased the robot starts to vibrate !!
as mentioned in previous posts this maybe due to noisy data...and what they said is true
I zeroed the D term and put I term instead and it balanced!! just like that!!
I term was like magic!