I have a differential drive robot whose linear velocity and angular velocity is to be controlled. The current strategy for doing that is:
A high level path tracking module spits out the reference velocities (linear and angular)
Using the kinematic equations of the differential drive robot, the rpm of each wheel is calculated.
A PID controller is run for each motor which achieves the desired RPM for that motor.
Is this a good strategy for controlling the linear and angular velocity?
It seems like an open loop controller because two separate PIDs are just maintaining the RPMs of individual motors. But the linear and angular velocities seem uncontrolled.
If I want to model a plant whose states are linear velocity and angular velocity, I don't know how to find the dynamics equation for the states (linear acceleration and angular acceleration)
Even if I refer to the data sheet of the motors and get the dynamics right would it make sense to implement such a controller?
What would be the best way to go about this problem of controlling linear and angular velocity of a mobile robot?