I am building a robot that looks roughly like this:(Image taken from this site and modified by myself.)
The two wheels are powered by stepper motors so that I have fine control over the turning angle and speed of the wheels. I want to use Differential Steering
to control the robot. The robot has no sensors whatsoever. Instead it assumes that by giving the right commands to the two motors it will be get to the desired position. (The floor will be flat.)
I want the robot to be able to follow a pre-defined path. The path is not drawn on the floor but exists as an array of bezier points or coordinates. I want to program a controller that can follow this path not only by going from point to point in a straight line but also by following curves:
As mentioned before, going from point to point in straight lines would not be enough:
There are at least two problems I have to solve:
1. Do the math to know how fast to turn each wheel to get from A to B. This is a nice article on the subject: A Tutorial and Elementary Trajectory Model for the Differential Steering System of Robot Wheel Actuators
. Equation  shows how to calculcate the robots position based on the velocities of the two wheels. But I need it the other way round: I know where I want to go and need to know the wheel velocities. Can you help?
2. Enable the robot to not only go from A to B but follow a pre-defined curve along the way. A first idea would be to split the curve into lots of little curves (i.e. add points along the path). Any thoughts on this approach?
Thanks in advance, I am looking forward to your thoughts.