Robot control using top camera image analysis?

thank you! but I'm restricted to use only MATLAB/C++/OpenCV.

i can't really help myself to get to a point,
how to move the robot forward(just sayin.) ?
my approach is as below.,.

  1. keep a red/green colored arrow on the top of the robot (prob. a sticker)
  2. Use MATLAB/OpenCV/C++ (Development Environment doesn't matter ) to track the position of the arrow.
  3. Compare the arrow's position with the predefined arrow image and the track.
  4. Rotate the respective motors and check the position of the arrow till it come straight with respect to the path.
  5. if everything comes straight, move the robot forward.

does anyone have any ideas or suggestions?
thanks again.