This is the first time that we had all subsystems come together and our PID control converging on a horizontal target shown in green: Board In Action
We have a lot more to do with respect to the tweaking of this algorithm to work in our case but this is a promising start. The major hurdle we have to overcome is the static coefficient of friction causing the PID algorithm to stop working well when the ball stops. This is problematic because the integral portion continually adds errors together to get it to move but when the ball starts to move it moves massively and is tough to counteract reliably.