PID controller stablizer application
Camera stabilization is a lot tougher than it sounds. A PID loop is just one necessary ingredient. Depending on the performance you require, you may also need feed-forward and a lot of bandwidth.

The first issue is that a pure PID loop is driven by error. If there is no error, there is is no command to correct any motion. So you won't get any correction until the there is enough error to effect a correction, and that amount of motion will likely be visible.

There are two ways to deal with this. One is to have a tight enough PID loop that a very small amount of motion effects a correction, with the sensor located with the camera (inside the envelope, where it senses how the camera is being affected). There will still be error, but the hope is to have the loop responsive enough that the resulting motion is hardly visible. That takes bandwidth, and I'm pretty sure an Arduino is not up to the task. I use a 200 MHz DSP to get a tight enough loop. 

The second way to deal with the error is to try to prevent it from occurring in the first place. For that, you would use feed-forward. With feed-forward, you would need a sensor OUTSIDE the envelope, where it senses the motion that would affect that portion of the camera platform that is not being stabilized. This motion is then fed forward to command the loop, with a gain that is precise enough to apply the  amount of correction needed to prevent any error. Again, it will require enough bandwidth to react before any motion is visible, and setting the precise amount of feed-forward gain is critical.

With either approach, high bandwidth sensors are required. Both techniques are often needed for high quality stabilization.