Driving a vehicle to a desired position and orientation is one of the most important problems that should be solved in most navigation systems. This paper describes a new complete design and hardware implementation of a two-level controller that will enable a differential drive mobile robot to reach any desired posture starting from any initial position. The first or low-level controller consists of a set of two proportional–integral–derivative (PID) controllers, running on an embedded system on board of the robot. These controllers provide the required voltages to the motors to make the left and right wheels of the robot rotate with the angular speeds computed by the second or high-level controller, running on a stationary PC system. This second controller is based on the Lyapunov stability theorem to derive two control laws for the kinematic model, used to transform the linear and angular speeds of the unicycle model in terms of left and right rotational speeds, required by the motors. As will be shown later, this architecture provides a very flexible way not only to tune the main controller parameters but also to get access and record all the system states.
Read full abstract