The following is rephrased (mostly copied) from a TA's email (thanks Addison!):
It is important to understand the feedback control loop used in PID control. This pdf does a good job of explaining both the function and implementation of PID on the NXT bricks.
If you're having trouble tuning, try running your robot while it is still plugged in and pop the debugger window open. That way, you will have real time access to all the data you need to make a successful control mechanism.
The handyboard groups do not have built-in PID control, and are thus forced to implement their own feeback control loops. That may be a factor that works against you in later labs.