Cool!
Does the target-facing rely on the update rate of the camera or are you using the distance-from-target in conjunction with the heading from the gyro to figure out how the robot should move inter-frame from the camera? or is the heading adjustment recalculated based on camera data alone?
I'm a big fan.

It would be cool to see a video of your robot switching between field and target oriented modes.
-q