self-balancing once again and pid

Hi guys,
I have a problem with my balancing (actually not balancing) robot. It's like it either moves too slow or moves from side to side, but it's never fast enough to catch itself. I tried many ways of PID tuning but I don't understand it fully. How to make the robot's response faster? I learned that I term makes it faster, but in my robot it only makes worse. With let's say kI 0.5 it's ok, but with kI 1 robot oscillates. How to find the right values of pid?

And while playing with pid tuning I think I discovered one problem. I set my setpoint to -0.60 where the centre of gravity is. With only P term everything’s ok. Motors don’t move at the setpoint. But when I add K term, my setpoint moves a little in one direction. It’s about at 9 degrees and at that point motors stop moving. The robot behaves like 9 degrees was its setpoint, not -0.60. Do you know what could cause that?

  • sorry I meant 'I' term, not 'K' term