Decentralized Motion Control for Omnidirectional Wheelchair Tracking Error Elimination Using PD-Fuzzy-P and GA-PID Controllers

The last decade observed a significant research effort directed towards maneuverability and safety of mobile robots such as smart wheelchairs. The conventional electric wheelchair can be equipped with motorized omnidirectional wheels and several sensors serving as inputs for the controller to achieve smooth, safe, and reliable maneuverability. This work uses the decentralized algorithm to control the motion of omnidirectional wheelchairs. In the body frame of the omnidirectional wheeled wheelchair there are three separated independent components of motion including rotational motion, horizontal motion, and vertical motion, which can be controlled separately. So, each component can have its different sub-controller with a minimum tracking error. The present work aims to enhance the mobility of wheelchair users by utilizing an application to control the motion of their attained/unattained smart wheelchairs, especially in narrow places and at hard detours such as 90˚ corners and U-turns, which improves the quality of life of disabled users by facilitating their wheelchairs’ maneuverability. Two approaches of artificial intelligent-based controllers (PD-Fuzzy-P and GA-PID controllers) are designed to optimally enhance the maneuverability of the system. MATLAB software is used to simulate the system and calculate the Mean Error (ME) and Mean Square Error (MSE) for various scenarios in both approaches, the results showed that the PD-Fuzzy-P controller has a faster convergence in trajectory tracking than the GA-PID controller. Therefore, the proposed system can find its application in many areas including transporting locomotor-based disabled individuals and geriatric people as well as automated guided vehicles.


Introduction
People with disabilities exist in a large number around the world. In the United States, according to a study published by the Christopher and Dana Reeve Foundation, one person out of fifty is considered paralyzed [1]. In the United Kingdom, statistical surveys showed 40,000 paralytics increasing by one every eight hours [2]. People diagnosed with paralysis, paraplegia, hemiplegia, spinal cord injuries, and lower limb muscular disorder live with a degraded life quality due to concomitant immobility [3]. Therefore, several mobility aids have been introduced recently in the market such as: conventional and electric wheelchairs, exoskeletons, orthoses, and scooters to facilitate every-day-activity and, consequently, raise productivity. Electrical wheelchairs are preferred over the conventional ones due to the fact that the majority of users cannot apply the needed physical effort to drive the conventional wheelchairs. Milenković et al. in [4] have developed a health monitoring Android application utilizing a smart phone equipped with built-in sensors to record, capture, and process physical activities of conventional wheelchair users. appropriate action by the users. In another study by Kouzehgar et al. [22], the authors developed a crack detection approach based on deep-learning for a modular facade-cleaning robot. A real robot was used and equipped with an on-board camera to load a live video. The authors in [23] presented an integrated system that provided detailed semantic 3D models of buildings. The system could scan and reconstruct large scenes at a high level of detail, passing through five semantic levels, to generate a detailed semantic model of the building. In another study by [24] a robot tower-crane system was developed by studying the feasibility of a laser-technology-based lifting-path tracking system to improve productivity by 9.9%-50%. A path tracking was developed by Huang et al. in [25] for two vision-guided tractors of a robotic vehicle to make the two robotic vehicles move along a guide path accurately and smoothly.
Many wheelchair users are usually seeking independent self-support; they try to avoid asking for help of others in moving their attained/unattained wheelchairs. This research was first motivated by a junior disabled female student at Jordan University of Science and Technology (JUST). She used to store her wheelchair inside a building that was considerably far from her parking spot. She usually had to get help from her sophomore sister in order to move her unattained wheelchair from and to the parking spot almost every day, in addition to the help at home. When we asked her and some other wheelchair users about the features needed in the electric wheelchair, they showed a lot of concern regarding being self-independent, in addition to the fact that most electric wheelchairs have conventional wheels which limit maneuverability, especially when a rotation is needed. A design of a smart wheelchair was developed by a group of researchers in JUST [3]. That design was tested and evaluated by the disabled female student and it was one step toward helping such users with similar cases. The authors in [3] designed and implemented a wireless motion control system for conventional electric wheelchairs. Moreover, a Wi-Fi module was equipped to provide remote control using an Android mobile application. The system showed an easy and effective remote motion control experimentally.
In this paper, a decentralized algorithm for motion control of omnidirectional wheeled robot was used to overcome the complexity and difficulty of the conventional methods in applying to a real system is developed. The method is expressed in the body frame, where the omnidirectional mobile robot has three separated independent components of motion including rotational motion, horizontal motion, and vertical motion, which can be controlled separately with independent controllers, which makes it simple to apply and independent on accurate mathematical model of the controlled object [26]. Two methods of controlling will be tested on the three components of motion and then the optimal one of each is chosen separately to get the best overall result. Thus, this study suggests the design, implementation, and control of a uniquely reliable system that controls the motion of an electric wheelchair utilizing Omnidirectional wheels. Furthermore, the developed system will be designed to be upgradable for potential future versions. The authors believe such a system will add a huge contribution to the community. This paper is organized as follows: Section 2 introduces the modeling and the decentralized algorithm of the Omnidirectional wheelchair. Section 3 presents the trajectory tracking controllers design including both PD-Fuzzy-P and GA-Optimized PID controller depending on the decentralized algorithm. Section 4 summarizes and discusses the simulation results. The paper is concluded in the final section.

Modeling and Decentralized Algorithm of Omnidirectional Wheelchair
In this section, a derivation for the nonlinear kinematics and dynamics equations of motion governing the Omni-wheel system in addition to the decentralized motion control are presented in the following subsections. Details of the derived equation of the omnidirectional motion are adopted from [26].

Omnidirectional Wheelchair Modeling
The proposed omnidirectional wheelchair is considered with three omnidirectional wheels spaced at 120 • from one to another, it is assumed to have single rigid-body chassis with a center of geometry denoted by C. Figure 1 shows the configuration of the model, where O xy represents the global coordinate frame, and C x0y0 represents the body coordinate frame of the wheelchair body.
Sensors 2020, 20, x FOR PEER REVIEW 4 of 16 geometry denoted by C. Figure 1 shows the configuration of the model, where Oxy represents the global coordinate frame, and Cx0y0 represents the body coordinate frame of the wheelchair body. The distance from each wheel's center to the center of geometry is L, and each of the three wheels has the radius r and is driven by a separate motor. The rotation matrix is used from the body frame to the global frame as follows [26]: Each wheel has a position vector PCi(i=1,2,3) with respect to the body frame as follows: Likewise, the unit vectors that specify the wheels' drive direction vectors with respect to the body frame Di(i=1,2,3) are given by: The omnidirectional wheelchair's wheels' position vectors, Pi, and their linear velocity vectors, vi, expressed in the global frame are obtained as follows: So, the angular velocity of wheel i can be presented as: The distance from each wheel's center to the center of geometry is L, and each of the three wheels has the radius r and is driven by a separate motor. The rotation matrix is used from the body frame to the global frame as follows [26]: Each wheel has a position vector P Ci (i = 1,2,3) with respect to the body frame as follows: Likewise, the unit vectors that specify the wheels' drive direction vectors with respect to the body frame D i (i = 1,2,3) are given by: Sensors 2020, 20, x FOR PEER REVIEW 4 of 16 geometry denoted by C. Figure 1 shows the configuration of the model, where Oxy represents the global coordinate frame, and Cx0y0 represents the body coordinate frame of the wheelchair body. The distance from each wheel's center to the center of geometry is L, and each of the three wheels has the radius r and is driven by a separate motor. The rotation matrix is used from the body frame to the global frame as follows [26]: Each wheel has a position vector PCi(i=1,2,3) with respect to the body frame as follows: Likewise, the unit vectors that specify the wheels' drive direction vectors with respect to the body frame Di(i=1,2,3) are given by: The omnidirectional wheelchair's wheels' position vectors, Pi, and their linear velocity vectors, vi, expressed in the global frame are obtained as follows: So, the angular velocity of wheel i can be presented as: The omnidirectional wheelchair's wheels' position vectors, P i , and their linear velocity vectors, v i , expressed in the global frame are obtained as follows: Sensors 2020, 20, 3525

of 16
So, the angular velocity of wheel i can be presented as: Substituting v i from Equation (5) into Equation (6) yields: The angular velocity vector of the three omnidirectional wheelchair's wheels is denoted by ω = ω 1 ω 2 ω 3 , Note that a vector q = x y θ T describes the posture of the wheelchair refers to the global frame. Rearranging Equation (7) to obtain the kinematic equation expressed in the global frame as the following: where . q is the velocity vector of the omnidirectional wheelchair in the global frame. The motion of omnidirectional wheeled wheelchair in the decentralized algorithm should be presented in the body frame. Figure 2 shows the three separated components of the omnidirectional wheeled wheelchair motion presented in the body frame, which are rotational motion; ω C , horizontal motion; H, and vertical motion; V. These three components represent the velocity vector of the wheelchair with respect to the body frame, which is mentioned by Sensors 2020, 20, x FOR PEER REVIEW 5 of 16 Substituting vi from Equation (5) into Equation (6) yields: The angular velocity vector of the three omnidirectional wheelchair's wheels is denoted by x y θ = q describes the posture of the wheelchair refers to the global frame. Rearranging Equation (7) to obtain the kinematic equation expressed in the global frame as the following: where q  is the velocity vector of the omnidirectional wheelchair in the global frame.
The motion of omnidirectional wheeled wheelchair in the decentralized algorithm should be presented in the body frame. Figure 2 shows the three separated components of the omnidirectional wheeled wheelchair motion presented in the body frame, which are rotational motion; ωC, horizontal motion; H, and vertical motion; V. These three components represent the velocity vector of the wheelchair with respect to the body frame, which is mentioned by It is easier to transform the system from global frame to body frame as the following: By rearranging Equation (8) and Equation (10), yields: It is easier to transform the system from global frame to body frame as the following: where is the rotation matrix.

Decentralized Algorithm of Omnidirectional Wheelchair for Motion Control
The omnidirectional wheeled wheelchair has more powerful movement than a conventional wheeled wheelchair. It is considered as a holonomic robot, where at any given instant it has three controllable degrees of freedom (DOF) in its motion plane. The decentralized algorithm of omnidirectional wheelchair for motion control is used in the body frame to control the three DOF separately, which makes it simple to apply and independent on accurate mathematical model of the controlled object. As shown in Figure 3 the four moving manners of omnidirectional wheeled wheelchair: rotational motion (a), horizontal motion (b), vertical motion (c), and a translation moving (d). Details for the decentralized algorithm can be found in Reference [26].

Decentralized Algorithm of Omnidirectional Wheelchair for Motion Control
The omnidirectional wheeled wheelchair has more powerful movement than a conventional wheeled wheelchair. It is considered as a holonomic robot, where at any given instant it has three controllable degrees of freedom (DOF) in its motion plane. The decentralized algorithm of omnidirectional wheelchair for motion control is used in the body frame to control the three DOF separately, which makes it simple to apply and independent on accurate mathematical model of the controlled object. As shown in Figure 3 the four moving manners of omnidirectional wheeled wheelchair: rotational motion (a), horizontal motion (b), vertical motion (c), and a translation moving (d). Details for the decentralized algorithm can be found in Reference [26]. For the first case, the pure rotational motion is attained when ωC ≠0 and H=V=0.
( ) Similarly, a horizontal motion is attained when H ≠0 and ωC =V=0 and finally, a pure vertical motion is attained when V ≠0 and ωC =H=0 For the first case, the pure rotational motion is attained when ω C 0 and H = V = 0.
Similarly, a horizontal motion is attained when H 0 and and finally, a pure vertical motion is attained when V 0 and ω C = H = 0 Sensors 2020, 20, 3525 7 of 16 Figure 3d shows the wheelchair moves in a combined manner (horizontal and vertical motion), it is called a pure translation motion where the motion direction is specified by the sum of V and H vectors. This motion attained when V 0, H 0 and ω C = 0.
The following equation gives the moving translation angle: The last case is when the three components of omnidirectional wheeled wheelchair's motion are not zero, this mode is called simultaneous translation-rotation, and could be obtained using Equation (12). The obtained motion of the omnidirectional wheeled wheelchair using the decentralized algorithm is more flexible and effective than the conventional wheeled wheelchair.

Trajectory Tracking Controllers Design for the Omnidirectional Wheelchair
In this section, two types of controllers are designed for the omnidirectional wheeled wheelchair, namely; PD-Fuzzy-P and GA-PID controllers. Each of them has three sub-controllers for the three motion components (ω C , H and V) of the wheelchair separately, instead of using a multi inputs-multi outputs system (MIMO) controller. Then a comparison between the two approaches will be made for each component to choose the best approach for each motion. In this paper the decentralized algorithm is used to control the motion of the wheelchair under consideration where each input could be controlled independently. The tracking error in body coordinate frame can be represented as: where e b = e H e V e θ Many industrial plants are very complicated due to different reasons, including time delays, higher order, and nonlinearities, and consequently it has been not easy to be able to tune PID controller gains accurately due to these difficulties. To overcome these complexities, modified conventional PID controllers have been produced to improve the conventional methods in tuning the PID controller parameters [27,28]. Thus, two approaches are presented in this paper to tune the PID controller's gains; PD fuzzy to tune a proportional controller and a Genetic Algorithm (GA) to tune a PID controller. These two controllers will be developed in the following subsections.

PD Fuzzy-P Controller (PD Fuzzy for Proportional Adaptation)
PID controller is well known and commonly used in many industries, but it does not obtain reasonable performance over a range of process conditions. Fuzzy logic is a technique in control system which deals with if-else logic, its concept was proposed by Zadeh [29], it is insensitive to parametric uncertainty, load and parameter fluctuations, and able to manage trouble with inaccurate data. Adaptation of PID using fuzzy (Fuzzy-PID) has been used in the research [30,31] because of its big advantage over the conventional PID. Thus, in this study a proportional-derivative fuzzy (PD-fuzzy) controller is used to tune a proportional controller for tracking a trajectory of omnidirectional wheeled wheelchair. For this system three separate PD-fuzzy sub-controllers are united to produce the overall controller. As shown in Figure 4, the first sub-controller is used to develop the gain of the proportional controller of the horizontal motion. Its inputs are the horizontal error e H and its derivative, and its output is the change in the horizontal proportional controller gain dKp. Similarly, for the vertical and rotational motion controllers. data. Adaptation of PID using fuzzy (Fuzzy-PID) has been used in the research [30,31] because of its big advantage over the conventional PID. Thus, in this study a proportional-derivative fuzzy (PDfuzzy) controller is used to tune a proportional controller for tracking a trajectory of omnidirectional wheeled wheelchair. For this system three separate PD-fuzzy sub-controllers are united to produce the overall controller. As shown in Figure 4, the first sub-controller is used to develop the gain of the proportional controller of the horizontal motion. Its inputs are the horizontal error eH and its derivative, and its output is the change in the horizontal proportional controller gain dKp. Similarly, for the vertical and rotational motion controllers. The fuzzy rules are arranged to update the proportional controller gain based on the change in error and its derivative at each step. Each sub-controller will have two inputs and one output. The inputs and outputs ranges are normalized to the range of −1 to 1. Figure 5 shows the membership function plots for the horizontal and vertical motions, and Figure 6 shows the membership function plot for the rotational motion. The fuzzy rules are arranged to update the proportional controller gain based on the change in error and its derivative at each step. Each sub-controller will have two inputs and one output. The inputs and outputs ranges are normalized to the range of −1 to 1. Figure 5 shows the membership function plots for the horizontal and vertical motions, and Figure 6 shows the membership function plot for the rotational motion. Table 1 shows the fuzzy law rules used for the Horizontal and Vertical controllers, and Table 2 shows the rules of the rotational controller in the form of If-then rule. For example, if E is NL and DE is NL then dKp is PL, where NL represents the Negative Large range, NM represents the Negative Medium range, NS represents the Negative Small range, Z represents the Zero range, PS represents the Positive Small range, PM represents the Positive Medium range, and finally PL represents the Positive Large range.

GA-PID Controller
The Genetic Algorithm (GA) is one of the artificial intelligence fields that belongs to the evolutionary algorithms; a stochastic global search method that mimics the process of natural evolution. It efficiently determines global minima/maxima of linear or nonlinear problems by depending on bio-inspired operators such as mutation, crossover and selection. The function to minimized is called the objective function, which contains n number of variables. At first an initial population of individual solutions (a vector of n variables) is generated and then goes through three principles to create the next generation based on the current population. These principles are listed as follows:

1.
Selection: chooses the individuals (parents), these individuals produce the population of the next generation.

2.
Crossover: arranges new children for the next generation by merging two old parents.

3.
Mutation: forming new children by making random modulation to the new individuals.
Each individual of the new generation is applied in the fitness function, the individuals that attain the best fitness values have more chance to survive. The old generation passes away and produces a new generation with size n. In this study, GA is used to tune the PID controller gains (Kp, Ki, and Kd), which are the three variables in the objective function exist in the error of the three motion components. The objected function is formulated in the form of: where n is number of the wheelchair steps.
The GA convergence is a user-defined specification (e.g, solution fitness threshold or the maximum number of generations). The parameters that are used in the study are specified as shown in Table 3: Table 3. Parameters of the GA used for GA-PID controller.

Characteristics
Items population type double vector the population size 50

Selection SUS
The cross over fraction 0.8 Figure 7 shows conventional PID sub-controllers with its parameter optimized by GA. It is easy to understand the GA concept and it deals with multi-objective optimization and is good for noisy environments. However, also, it has no guarantee of finding global minima. It is easy to understand the GA concept and it deals with multi-objective optimization and is good for noisy environments. However, also, it has no guarantee of finding global minima.

Results and Discussion
This section presents the performance of the two approaches in different paths such as squared, circular, and rose-shaped paths. The simulation tests of design and implementation of the tuned PID based path tacking are discussed. The design of the omnidirectional wheelchair consists of three wheels spaced at 120° from one to another. MATLAB software is used for programming the system.
The wheelchair initial conditions at starting point are x = 0 m, y = 0 m, θ =30 deg. Figure 8 shows the results of the simulated path without controller and the system response using PD-fuzzy-P and the GA-PID approaches in the squared path, circular path, and rose path in the global coordinate frame, where each side of the square is 1.5 m, the radius of the circle is 1 m, and the rose has 4 petals. The performance shows that the omnidirectional wheelchair can overcome the complexity of the sharp curves' maneuverability, which improves the quality of life of disabled users by facilitating their wheelchairs' maneuverability especially at the complex regions as mentioned before. In the case of square shape movement shown in Figure 8a, the zoom in view in the square shape's corner shows how easily the omnidirectional wheelchair can track a 90˚ corner with a zero-radius turning. As well as the circular and rose shaped paths, the zoom in view in the rose shaped path's curve in Figure 8c, shows how easily can the omnidirectional wheelchair track a U-turn with a quite small error. The PD-Fuzzy-P and GA-PID controllers' parameters are tabulated in Table 4, where both methods attended to present a proportional controller.

Results and Discussion
This section presents the performance of the two approaches in different paths such as squared, circular, and rose-shaped paths. The simulation tests of design and implementation of the tuned PID based path tacking are discussed. The design of the omnidirectional wheelchair consists of three wheels spaced at 120 • from one to another. MATLAB software is used for programming the system.
The wheelchair initial conditions at starting point are x = 0 m, y = 0 m, θ =30 deg. Figure 8 shows the results of the simulated path without controller and the system response using PD-fuzzy-P and the GA-PID approaches in the squared path, circular path, and rose path in the global coordinate frame, where each side of the square is 1.5 m, the radius of the circle is 1 m, and the rose has 4 petals. The performance shows that the omnidirectional wheelchair can overcome the complexity of the sharp curves' maneuverability, which improves the quality of life of disabled users by facilitating their wheelchairs' maneuverability especially at the complex regions as mentioned before. In the case of square shape movement shown in Figure 8a, the zoom in view in the square shape's corner shows how easily the omnidirectional wheelchair can track a 90 • corner with a zero-radius turning. As well as the circular and rose shaped paths, the zoom in view in the rose shaped path's curve in Figure 8c, shows how easily can the omnidirectional wheelchair track a U-turn with a quite small error. The PD-Fuzzy-P and GA-PID controllers' parameters are tabulated in Table 4, where both methods attended to present a proportional controller.  The parameters of the GA used for GA-PID controller were mentioned in Table 3 and the parameters of Fuzzy controller were mentioned in Figure 6. Figures 9, 10, and 11 show the tracking errors of the omniwheeled wheelchair in the rose shaped path. Figure 9 shows the horizontal motion tracking error of the omniwheeled wheelchair without controller, with PD-Fuzzy-P and with GA-PID, where the overall error of the both approaches is about zero. PD-Fuzzy-P has the best performance with error within ±1 × 10 −16 meter around zero, and the GA-PID error is within ±2 × 10 −16 meter around zero. Figure 10 shows the vertical tracking error of the omniwheeled wheelchair without controller, with PD-Fuzzy-P and with GA-PID. Where the overall error of the both approaches is about zero. PD-Fuzzy-P has the best performance with error within ±6×10 −17 meter around zero, and the GA-PID error is within ±2 × 10 −16 meter around zero. Figure  11 shows the rotational tracking error of the omniwheeled wheelchair without controller, with PD-Fuzzy-P and with GA-PID, where the overall error of both approaches is zero.  The parameters of the GA used for GA-PID controller were mentioned in Table 3 and the parameters of Fuzzy controller were mentioned in Figure 6. Figures 9-11 show the tracking errors of the omniwheeled wheelchair in the rose shaped path. Figure 9 shows the horizontal motion tracking error of the omniwheeled wheelchair without controller, with PD-Fuzzy-P and with GA-PID, where the overall error of the both approaches is about zero. PD-Fuzzy-P has the best performance with error within ±1 × 10 −16 m around zero, and the GA-PID error is within ±2 × 10 −16 m around zero. Figure 10 shows the vertical tracking error of the omniwheeled wheelchair without controller, with PD-Fuzzy-P and with GA-PID. Where the overall error of the both approaches is about zero. PD-Fuzzy-P has the best performance with error within ±6 × 10 −17 m around zero, and the GA-PID error is within ±2 × 10 −16 m around zero. Figure 11 shows the rotational tracking error of the omniwheeled wheelchair without controller, with PD-Fuzzy-P and with GA-PID, where the overall error of both approaches is zero. Sensors 2020, 20, x FOR PEER REVIEW 13 of 16   The angular velocities of the three wheels in the rose shaped path are shown in Figure 12, where the obtained angular velocities from the two approaches are pretty much identical to the desired angular velocities.   The angular velocities of the three wheels in the rose shaped path are shown in Figure 12, where the obtained angular velocities from the two approaches are pretty much identical to the desired angular velocities.   The angular velocities of the three wheels in the rose shaped path are shown in Figure 12, where the obtained angular velocities from the two approaches are pretty much identical to the desired angular velocities. The angular velocities of the three wheels in the rose shaped path are shown in Figure 12, where the obtained angular velocities from the two approaches are pretty much identical to the desired angular velocities.
The results show that PD-Fuzzy-P controller has the best performance, for more calculations, Table 5 shows the Mean Error (ME) and the Mean Square Error (MSE) of the system are, where they are obtained as follows: The Mean Error The Mean Square Error where the norm of the error (NE) is: The results show that PD-Fuzzy-P controller has the best performance, for more calculations, Table 5 shows the Mean Error (ME) and the Mean Square Error (MSE) of the system are, where they are obtained as follows: The Mean Error where the norm of the error (NE) is:

Conclusion
This work used the decentralized algorithm to control the motion of omnidirectional wheelchairs. In the body frame of the omnidirectional wheeled wheelchair there are three separated

Conclusions
This work used the decentralized algorithm to control the motion of omnidirectional wheelchairs. In the body frame of the omnidirectional wheeled wheelchair there are three separated independent components of motion including rotational motion, horizontal motion, and vertical motion, which can be controlled separately. So, each component can have its different sub-controller with a minimum tracking error. As shown in the results, the performance of this algorithm itself without controller was excellent. Two approaches of artificial intelligent-based controllers (PD-Fuzzy-P and GA-PID controllers) were designed to optimally enhance the maneuverability of the system. MATLAB software was used to simulate the system and calculate the Mean Error (ME) and Mean Square Error (MSE) for various scenarios of motion in both approaches.
The proposed system was tested in different trajectory scenarios including: squared, circular and rose trajectories. The results showed that the PD-fuzzy proportional controller has a faster convergence in trajectory tracking than the GA-PID controller in all scenarios. In addition, the omnidirectional robot showed the ability to overcome the complexity of the sharp curves' maneuverability, such as a 90 • corner in the square shape and a U-turn in the rose shaped path with infinitesimal error using both approaches with the superiority of the PD-Fuzzy-P controller resulted on the best performance on the system.