Stage 1 : Real time fault tolerant control
By accepting the challenge to ensure fault tolerant real-time control of a self made wheeled differential mobile robot I have been able to develop a hierarchical software application that minimizes costs and supports extensibility. Analytical software redundancy is implemented rather than hardware redundancy for fault tolerance.

The core of the application is the control and diagnosis level and throughout this short presentation I shall focus only on this aspect. By using the Grafcet, as a specific tool that offers support for parallel or serial execution of both control and fault detection and identification, the application gained flexibility and extensibility. The current implementation uses a cascade control loop, to the extent that there are 2 inner PI (Proportional Integral) control loops for the two DC motors running at 20Hz, and an external loop that uses a Sliding Mode controller, with the kinematic model running at 5Hz in order to control the robot’s position in trajectory tracking operation. Next some specific details about the design of the Sliding Mode controller are given to mark its particular features in mobile robot trajectory tracking. I’ve considered the kinematic model equations for the differential mobile robot by accounting that the geometric center and the rotation center are not identical. The error vector for trajectory tracking can be obtained by knowing the virtual robot position given by the trajectory planner. It is supposed that the desired trajectory for the mobile robot is pre-specified by a trajectory planner, comprised of speed and acceleration references for the robot. The problem was to design a robust controller so that the robot tracks the desired trajectory under disturbances. The selected sliding surfaces that are marking in fact the desired dynamics are ensuring longitudinal and lateral and heading error convergence.

At each sampling moment (every 50ms) each of the DC motor PI controllers are controlling the motors’ speed by tracking the reference set by the Sliding Mode controller (running at 200ms) which is responsible for the accuracy in robot positioning. The odometry system is responsible to output the current robot position by using only the encoder data. Also the odometry system feds in data for the Fault Detection and Identification Module which is using 5 Extended Kalman Filters used to detect and discriminate between several faults and then issue specific signals to the Control Reconfiguration Module. Each of the 5 Kalman filters embeds in his structure a similar kinematic model of the robot, but with different parameters, to the extent that it shall give a state vector estimate, [xest,yest,tetaest]T in the context of a specific fault and by comparing it to the measured state vector [xm,ym,tetam]T , it can decide if a specific fault occurred. The implemented Kalman filters work for a considered fault from the developed benchmark, like the robot wheel radius variation fault and the wheel periodic bump fault. As one can see each EKF computes it’s own residual by considering the presence of the fault. At each sampling time a current residual is computed by subtracting from the current measurement vector, z, each estimated measurement vector zˆ for each filter, and the one minimizing the residual determines the identification of a specific fault. In fact the detection is based on the analysis of the statistical properties of the residual, to the extent that each filter computes a standard sequence of the residual and by using a thresholding method it can effectively decide if a fault occurred. Next the Fault Tolerance subsystem is depicted.

The presented approach is based on an extensive literature survey regarding Sliding mode implementations for trajectory tracking mobile robot control and fault diagnosis using EKF filters mainly used in flight control or chemical/batch processes. The innovative aspect in this approach is the regarding the flexibility of the software application and the specific mechanisms implemented to gain proper results in controlling and diagnosing the self made differential mobile robot.
Stage 2: Offline SLAM algorithm design
On top of the layered real time control base level platform a mapping module was synthesized. The glue logic with the base level application is ensured by the main task concurrency mechanisms and by network file system distributed application support. The developed approach is a metric mapping algorithm, using Bayes rule and filter synthesis to implement an occupation matrix based offline SLAM algorithm. Starting from the Bayes rule a Bayes filter is synthesized to implement sensor fusion between odometry information and range information from the ultrasonic sensors.
