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