I have a field filled with obstacles, I know where they are located, and I know the robot's position. Using a path-finding algorithm, I calculate a path for the robot to follow.
Now my problem is, I am guiding the robot from grid to grid but this creates a not-so-smooth motion. I start at A, turn the nose to point B, move straight until I reach point B, rinse and repeat until the final point is reached.
So my question is: What kind of techniques are used for navigating in such an environment so that I get a smooth motion?
The robot has two wheels and two motors. I change the direction of the motor by turning the motors in reverse.
EDIT: I can vary the speed of the motors basically the robot is an arduino plus ardumoto, I can supply values between 0-255 to the motors on either direction.
You need feedback linearization for a differentially driven robot. This document explains it in Section 2.2. I've included relevant portions below:
The simulated robot required for the project is a differential drive robot with a bounded velocity. Since the differential drive robots are nonholonomic, the students are encouraged to use feedback linearization to convert the kinematic control output from their algorithms to control the differential drive robots. The transformation follows:
where v, ω, x, y are the linear, angular, and kinematic velocities. L is an offset length proportional to the wheel base dimension of the robot.