I want to find the instantaneous center of rotation of a differential drive robot.

Assuming I know that the robot will travel with a particular linear and angular velocity $(v,w)$ I can use the equations (given at [A Path Following a Circular Arc To a Point at a Specified Range and Bearing][1]) which come out to be:

$$x_c = x_0 - |\frac{v}{w}| \cdot sin(\theta_0)$$
$$y_c = y_0 - |\frac{v}{w}| \cdot cos(\theta_0) $$

    x_c = x_0 - abs(v/w) sin(\theta_0)
    y_c = y_0 - abs(v/w) cos(\theta_0) 

I'm using the webots simulator and I dumped gps points for the robot moving in a circle (constant v,w (1,1)) and instead of a single $x_c$ and $y_c$ I get a center point for every point. If I plot it out in matlab it does not look nice:

[![circles.jpg][2]][3]

The red points in the image are the perceived centers, they just seem to trace the curve itself. 

Is there some detail I am missing? I'm really really confused as to what's happening. 

I'm trying to figure out the center so I can check whether an obstacle is on this circle or not and whether collision will occur. 

  [1]: http://rossum.sourceforge.net/papers/CalculationsForRobotics/CirclePath.htm
  [2]: https://i.sstatic.net/J1r3m.jpg
  [3]: https://docs.google.com/file/d/0BzLnU1-OKHh7dmxvbGU1bDFKcFU/edit?usp=sharing