Fuzzy logic PD controller for trajectory tracking of an autonomous differential drive mobile robot (i.e. Quanser Qbot)

Ali Alouache (Beijing Institute of Technology, Beijing, China)
Qinghe Wu (Beijing Institute of Technology, Beijing, China)

Industrial Robot

ISSN: 0143-991x

Publication date: 15 January 2018

Abstract

Purpose

The aim of this paper is to propose a robust robot fuzzy logic proportional-derivative (PD) controller for trajectory tracking of autonomous nonholonomic differential drive wheeled mobile robot (WMR) of the type Quanser Qbot.

Design/methodology/approach

Fuzzy robot control approach is used for developing a robust fuzzy PD controller for trajectory tracking of a nonholonomic differential drive WMR. The linear/angular velocity of the differential drive mobile robot are formulated such that the tracking errors between the robot’s trajectory and the reference path converge asymptotically to zero. Here, a new controller zero-order Takagy–Sugeno trajectory tracking (ZTS-TT) controller is deduced for robot’s speed regulation based on the fuzzy PD controller. The WMR used for the experimental implementation is Quanser Qbot which has two differential drive wheels; therefore, the right/left wheel velocity of the differential wheels of the robot are worked out using inverse kinematics model. The controller is implemented using MATLAB Simulink with QUARC framework, downloaded and compiled into executable (.exe) on the robot based on the WIFI TCP/IP connection.

Findings

Compared to other fuzzy proportional-integral-derivative (PID) controllers, the proposed fuzzy PD controller was found to be robust, stable and consuming less resources on the robot. The comparative results of the proposed ZTS-TT controller and the conventional PD controller demonstrated clearly that the proposed ZTS-TT controller provides better tracking performances, flexibility, robustness and stability for the WMR.

Practical implications

The proposed fuzzy PD controller can be improved using hybrid techniques. The proposed approach can be developed for obstacle detection and collision avoidance in combination with trajectory tracking for use in environments with obstacles.

Originality/value

A robust fuzzy logic PD is developed and its performances are compared to the existing fuzzy PID controller. A ZTS-TT controller is deduced for trajectory tracking of an autonomous nonholonomic differential drive mobile robot (i.e. Quanser Qbot).

Keywords

Citation

Alouache, A. and Wu, Q. (2018), "Fuzzy logic PD controller for trajectory tracking of an autonomous differential drive mobile robot (i.e. Quanser Qbot)", Industrial Robot, Vol. 45 No. 1, pp. 23-33. https://doi.org/10.1108/IR-07-2017-0128

Download as .RIS

Publisher

:

Emerald Publishing Limited

Copyright © 2018, Emerald Publishing Limited


1. Introduction

In the recent years, there have been a lot of research activities in the design of autonomous ground vehicles or mobile robots due to their use in many applications mostly for the industrial and household automation. Mobile robots are machines that can move from one place to another autonomously, that is, without assistance from external human operators (Jitendra and Gopal, 2012). Wheeled mobile robots (WMRs) are very popular because they are appropriate for typical applications with relatively low mechanical complexity and energy consumption (Inoue et al., 2013; Jacobs et al., 2012; Zhang et al., 2016).

Recently, many research studies are being carried on increasingly in trajectory tracking of WMRs (Yanwen et al., 2010; Jiancheng et al., 2012; Asif et al., 2015; Sun et al., 2014). The trajectory tracking control problem is to design a control laws for the velocities of the robot to minimize the tracking error between the real path of the robot and the reference path. The tracking error is occurred due to slippage, disturbances, noise and the measured sensor errors from both internal and external sources (Sanhoury et al., 2011).

Generally in the field of industrial robotic, the proportional-integral-derivative (PID) controller is useful (Su and Zheng, 2009; Li and Yu, 2011; Pacheco and Luo, 2015), where both stability and tracking control can be achieved, but static error exits in tracking control, and its performance is related to the scaling factor kp (Pervozvanski and Freidovich, 1999); moreover, it requires establishing the parameters for the mathematical model. In Wu et al. (2001), a proportional-derivative (PD) controller is applied for the mobile robot guidance where the velocity is the control objective. Thongchai et al. (2000) applied the PD controller, then analyzed the stability and robustness of three commonly used robot tracking algorithms and compared their control performance.

Computational intelligence techniques (neural networks, fuzzy logic and genetic algorithms) have found wide application in the identification, planning and control of robotic and other complex nonlinear technological systems. In the work of Velagic et al. (2008), NNs are applied to motion control of a differential drive WMR using a PD velocity controller as a teacher to train offline a multilayer perceptron.

Fuzzy logic or fuzzy set theory in its present form was coined by the control scientist Lotfi Zadeh in 1965, thus breaking down the classical two-valued (yes/no) Aristotelian logic. Fuzzy logic control is often used for controlling processes with nonlinearity and even with unknown structure (Berenji and Khedkar, 1992). This is used when the problem is ambiguous and cannot be precisely modelled mathematically. However, the knowledge of the process functionality is necessary for the designer. The determination of the rules and definitions are not obvious for complex systems, and it depends on the designer’s experience too much as in Li and Chang (2003).

Fuzzy logic is advantageous due to its effectiveness in robot applications to overcome the effects of disturbances and/or the sensors’ errors (Sypros, 2014). Fuzzy control provides stable real time control for WMRs which can perform the control tasks faster depending on the ability of tuning the parameters of the fuzzy controller (Abatari and Tafti, 2013; Liu et al., 2014; Qing et al., 2014; Abadi and Khooban, 2015; Thoa et al., 2016).

1.1 Related works and motivations

The work by Abatari and Tafti (2013) proposed a fuzzy PID controller for path following a car like mobile robot and compared its results with the standard PID controller for circle path. In Liu et al. (2014), a fuzzy PID control strategy is proposed to make the end effector of a spatial and ground robot manipulators track the desired trajectories in different gravity environments, where the simulation results of tracking a circle path using the fuzzy PID are compared with the PID controller. In Qing et al. (2014), the authors presented a fuzzy logic PID controller for trajectory tracking of a four WMR with its Simulink models, and the results of simulations using the fuzzy PID controller for tracking straight line and the circle path are compared with the results obtained using the standard PID controller. In Abadi and Khooban (2015), the authors designed an optimal fuzzy PID controller based on Mamdani type fuzzy controller for WMR control and PID optimized by random inertia weight particle swarm optimization. Thoa et al. (2016) proposed a multi inputs multi outputs (MIMO) fuzzy controller for trajectory tracking of a differential drive mobile robot. The MIMO fuzzy controller has two inputs and two outputs (i.e. the right/left velocity) for tracking task, and the controller comprises two independent fuzzy controllers for generating the right/left of the differential drive mobile robot.

The cited fuzzy PID controllers (Abatari and Tafti, 2013; Liu et al., 2014; Qing et al., 2014; Abadi and Khooban, 2015) are developed by the combination of the standard PID and three Mamdani fuzzy controllers for the generation of three output ports of the overall controller, which is computationally expensive, time-consuming and less flexible. In practice, using three fuzzy controllers for adapting the parameters of the fuzzy PID controller is consuming more memory resources on the robot, more computing time. In this paper, my major objective is to develop an effective fuzzy controller with less resource consumption for trajectory tracking of a differential drive WMR (i.e. Quanser Qbot).

1.2 The main contributions

Compared to the above-related works, the present paper addresses three main contributions that are given as follows.

First, I develop a robust fuzzy logic PD controller based on the fuzzy robot control approach with an output feedback implementation of the fuzzy robot control. The characteristics and performances of the proposed fuzzy PD controller are compared with the existing fuzzy PID controller.

Second, by using the fuzzy rule base (FRB) of the proposed fuzzy PD controller, I deduce a new fuzzy controller called zero-order Takagy–Sugeno trajectory tracking (ZTS-TT) controller for an autonomous nonholonomic differential drive mobile robot. The input variables are fuzzified into triangular and trapezoidal forms. Membership functions are defined for the inputs and the output variable of the ZTS-TT controller. The fuzzy control rules are defined with the form (IF premise THEN consequent). Using singletons for the fuzzy output variable, the implication method is a multiplication, and the aggregation operator just includes all the singletons.

Third, an experimental implementation is performed with a ground differential drive robot of the type Quanser Qbot for tracking any given reference trajectory of coordinates (xr(t), yr(t))T and starting from any given initial pose on the XY plane. The kinematic modelling of the differential drive mobile robot (i.e. Quanser Qbot) is adopted from the book (Gregory and Jenkin, 2010). Mathematical relations are established between the linear/angular velocity of the robot and the left/right wheel velocity using the equations of the differential drive kinematics. The linear/angular velocity of the robot can be calculated from the left/right wheel velocity using the values of the left/right wheel velocity and the value of the distance between the two wheels’ centers. Otherwise, the left/right wheel velocity cannot be computed directly using the linear/angular velocity of the mobile robot; hence, the inverse kinematic model is founded to calculate the left/right velocity of the robot. The control laws for the linear/angular velocity of the forward kinematics are formulated such that the tracking errors between the reference trajectory and the robot’s actual trajectory converge asymptotically to zero. The angular velocity is adjusted for orienting the mobile robot toward the reference points. The linear velocity is adjusted such that the tracking errors converge asymptotically to zero. The proposed ZTS-TT controller is used for adjusting the speed of the mobile robot. The tracking controller implemented for the Quanser Qbot constitutes two stages, which are the forward and inverse kinematic models. The forward kinematic stage updates the actual configuration of the Qbot (x, y, θ), whereas the inverse kinematic stage generates the left/right wheel velocity (Vr/Vl) of the Quanser Qbot.

This paper is organized into six sections. Section 2 presents the developed robot fuzzy PD controller and a comparison with the fuzzy PID controller. Section 3 gives a description of the differential drive forward and inverse kinematics. Section 4 discusses in details the proposed ZTS-TT controller for trajectory tracking controller of WMR. Section 5 demonstrates the implementation of the tracking controller using the Quanser Qbot and the experimental validation. Section 6 gives conclusions and some further investigations.

2. Robot fuzzy proportional-derivative controller

2.1 Fuzzy robot control

The basic structure of a fuzzy robot control system is shown in Figure 1. The general structure of the fuzzy controller in Figure 1 is developed by the human experts. It involves the following units:

  • A FRB, that is, a base of IF-THEN fuzzy control rules

  • A fuzzy inference mechanism

  • An input fuzzification unit for transforming the input variables into fuzzy forms

  • An output defuzzification unit for deriving the conclusions from the fuzzy controller.

The fuzzy robot approach eliminates the need to have available mathematical model of the controlled robot. Figure 2 shows an implementation of the fuzzy robot control based on the output feedback approach. As shown in Figure 2, the input to the robot consists of delayed measured values of the control input and the approximate output ŷ(k). Assume f(.) is the unknown nonlinear mapping that describes the unknown dynamics of the robot, and z(k) is the information vector that is given as follows:

z(k)=[y^(k1),y^(k2),,y^(kny);u(k1),,u(knu)]T
where ny and nu are the delay degrees.

The training data are generated as follows y(k) = f(z(k)).

A fuzzy model of the robot has the following form ŷ(k) = f̂(z(k)) where f̂(.) is the fuzzy approximation of f(.). The fuzzy PD controller can track asymptotically the output that is limke(k)=0, where e(k) = ŷ(k)y(k).

2.2 Robot fuzzy proportional-derivative controller

The robot fuzzy PD controller receives as input data the error e(k) and the error change rate Δe(k), and it produces the control signal u(k).

The real control signal is u(k) = u(k – 1) + Δu(k). The fuzzy rules produce the incremental control signal Δu(k), and they are described in Table I.

The membership functions for the variables e(k), Δe(k) and u(k) are illustrated in Figure 3.

The symbols of Table I which are indicated in Figure 3 have the following meaning:

NB (Negative Big), NM (Negative Middle), NS (Negative Small), AZ (Zero), PS (Positive Small), PM (Positive Middle) and PB (Positive Big).

The tuning of the conventional PD controllers is made by selecting the values of the gains kp and kd. But in developed fuzzy PD controller, the tuning is done by selecting the position of the membership functions.

The resulting form of the control action is an interpolation between several types of control for each subdivision of the input space.

The performance of a fuzzy PD controller is illustrated pictorially by the phase portrait, shown in Figure 4, with axes eo(k) and Δeo(k). The symbol “o” denotes normalized values in the interval [−1, +1].

The various regions of the phase plane illustrated in Figure 4 correspond to positions in Table I of the fuzzy PD controller. Typically, the desired performance of a fuzzy PD controller is the one shown in Figure 4, that is eo(k), Δeo(k) converges asymptotically to the equilibrium point (0,0).

A comparison between the structure of developed robot fuzzy PD controller and the fuzzy PID controllers (Liu et al., 2014) is summarized in Table II. The comparison demonstrates the superiority of the proposed fuzzy PD controller.

3. Differential mobile robot kinematics

A differential drive mobile robot consists of two wheels mounted on a common axis, and each wheel can be controlled independently to drive the robot either in forward or backward direction. While the velocity of each wheel can be varied to achieve rolling motion, the robot must rotate about a point [instantaneous center of curvature (ICC)] that lies along the common left and right wheel axis as shown in Figure 5.

The trajectory of the robot can be controlled by varying the velocities of the wheels. The rate of rotation w about the ICC must be the same for both wheels.

The relation between the motion parameters of a differential drive mobile robot:

(1) w(R+d2)=Vr
(2) w(Rd2)=Vt

where d is the distance between the centers of the two wheels. Vr and Vl are the right and the left wheel velocities along the ground. R is the signed distance from ICC to midpoint between the wheels. Equations (1) and (2) can be solved for R and w as:

(3) R=d(Vr+Vl)2(VrVl)
(4) w=(VrVl)d

3.1 Forward kinematics model

3.1.1 Robot’s pose relative to instantaneous center of curvature location

Given nonvarying velocities Vr, Vl the ICC location (ICCx, ICCy) will be a fixed position. Hence, at time t + δt the robot’s pose will be:

(5) [x´y´θ´]=[cos(ω×δt)sin(ω×δt)0sin(ω×δt)cos(ω×δt)0001][xICCxyICCyθ]+[ICCxICCyω×δt]

where (x, y, θ) and (x´, y´, θ´) are the robot’s position at time t and t + δt, respectively (Gregory and Jenkin, 2010).

3.1.2 Robot’s pose relative to its initial position

The forward kinematics problem of a mobile robot aims at determining the robot’s position (x, y, θ) at time t given (x, y, θ)t = 0.

General motion equations of a differential mobile robot capable of moving in particular direction θ(t) at a given linear velocity V(t) and angular velocity w(t) are described as follows:

(6) x(t)=0tV(t)[cosθ]dty(t)=0tV(t)[sinθ]dtθ(t)=0tw(t)dt           

For a differential drive robot, such as Qbot, equation (6) becomes:

(7) x(t)=120t(Vr(t)+Vl(t))[cosθ]dty(t)=120t(Vr(t)+Vl(t))[sinθ]dtθ(t)=1d0t(Vr(t)Vl(t))dt           

3.2 Inverse kinematics model

The inverseinematics problem of mobile robot poses the question: How can a robot with initial configuration (x, y, θ)t = 0 reach a target configuration (x, y, θ) assuming that Vl(t) = Vl, Vr(t) = Vr and (x, y, θ)t = 0 = (0, 0, 0)?

Equation (7) yields the following system of equations:

(8) x(t)=d[Vr+Vl]2[VrVl]sin[td(VrVl)] y(t)=d[Vr+Vl]2[VrVl]cos[td(VrVl)]+d[Vr+Vl]2[VrVl]θ(t)=d[Vr+Vl]2[VrVl]

Given a goal time t and a target position (x, y), equation (8) solves for Vr and Vl, but it does not provide for independent control of the variable θ.

The inverse kinematic can be worked out from equation (8) as follows: equation (5) yields the following:

(9) Vr+Vl=2×(xx)2+(yy)2δt=2×V
(10) VrVl=d×(θθ)δt=d×w

where (x, y, θ) is the current position of the Qbot and (x′,y′,θ′) is the target configuration.

Note that Vmax = Vlimitupper results in wmax=2×Vmaxd, where Vlimitupper means the maximum speed of the robot.

Assuming δt = Ts, then equations (9) and (10) are solved for the following two cases:

  1. If w > wmax, w = wmax and V = 0. Hence, Vr=d×w2 and Vl = –Vr.

  2. Else Vr=(2×V)+(d×w)2 and Vl = (2×V) –Vr, where Vr and Vl are scaled so that |Vr|, |Vl| ∈ [0 Vmax] provided that VrVl is unchanged.

When the robot reaches target position at (x′,y′), finally, it rotated in place until the required goal orientation θ′ is met.

4. The proposed zero-order Takagy–Sugeno trajectory tracking controller of a differential drive mobile robot (Quanser Qbot)

In this section, I discuss in details the proposed ZTS-TT of a differential drive nonholonomic WMR.

Considering the forward kinematics of the WMRs given by equation (6), then the aim is to design the control laws for the input velocities (V(t), w(t)).

Let me first formulate the vector of tracking errors X̂(t) as follows:

(11) X̂(t)=(xr(t),yr(t),θr(t))T(x(t),y(t),θ(t))T

In matrix form the tracking error vector X̂(t) is:

(12) X^(t)=[xr(t)x(t)yr(t)y(t)θr(t)θ(t)]=[X^x(t)X^y(t)X^θ(t)]

The reference angle θr(t) is computed using the coordinates (xr(t),yr(t))T of the reference trajectory and the actual coordinates of the robot (x(t),y(t))T as following:

(13) θr(t)=tan1(yr(t)y(t)xr(t)x(t))    

To orient the robot toward the reference point, the angular velocity input w(t) is adjusted as follows:

(14) w(t)=k(θr(t)θ(t))=kX^θ(t)

where k is a proportional gain.

The tracking error e(t) indicated in Figure 6 is formulated as follows:

(15) e(t)=E(X^(t))

The function E(X̂(t)) is defined as follows:

(16) E(X̂(t))=X̂x2(t)+X̂y2(t)

It is desired that the limit of the tracking error e(t) tends to zero as the time increases:

(17) limte(t)=limt,X^(t)0E(X^(t))0

4.1 The standard proportional-derivative controller

The tracking error e(t) is regulated to zero by adjusting the robot linear velocity V(t) as follows:

(18) V(t)=kpe(t)+kdde(t)dt

where kp and kd are non-negative coefficients, denote the proportional, and the derivative terms, respectively.

4.2 The proposed zero-order Takagy–Sugeno trajectory tracking controller

Instead of the PD controller, I propose a ZTS-TT controller to adjust the robot linear velocity V(t) (Figure 6) based on online collected data of the tracking errors as follows:

(19) V(t)=(ZTSTT)(e(t),Δe(t))

where Δe(t) is the time derivative of e(t) computed as follows:

(20) Δe(t)=de(t)dt

The inputs of the ZTS-TT controller are discrete variables based on fuzzy logic, where at each instant time t = k, the linear velocity is:

(21) V(k)=(ZTSTT)(e(k),Δe(k))

The ZTS-TT controller receives the inputs e(k) and Δe(k) and produces the control signal V(k).

The proposed ZTS-TT controller is developed using zero-order Takagy–Sugeno fuzzy inference system as follows.

4.2.1 Fuzzification

The purpose of fuzzification is transforming the nonfuzzy input values e(k) and Δe(k) into a form which can be expressed by the FRB and can be compared with the other rules.

4.2.2 Structure of the membership functions

It is very important to select appropriate membership functions for the inputs and the output variable of the ZTS-TT controller.

The input variables e(k) and Δe(k) are partitioned in the universe of discourse [−6, +6] cm as shown in Figure 7, which are represented by seven fuzzy partitions expressed as NB, NM, NS, ZO, PS, PM and PB.

Notice that the fuzzy partitions NM, NS, ZO, PS and PM are represented by triangular shape, whereas NB and PB are represented by trapezoidal shape.

I assume that the values of e and Δe out of the range ([−6, +6] cm) are big values (NB or PB) and represented by trapezoidal shape as shown in Figure 7.

The speed of the robot V(k) is partitioned in the universe of discourse [−25, +25] cm/sec, and it is represented with seven fuzzy singletons as shown in Figure 8.

4.2.3 Fuzzy rule base structure

After detailing the membership functions, I designed the FRB of the controller. The fuzzy control rules are of the following form (IF premise THEN consequent).

Takagi and Sugeno have described a fuzzy implication R as:

R: if (x1 is μA(x1),… xn is μA(xn)) then y = g(x1, …, xn).

where y is the variable of the consequence whose value is inferred.

(x1,…,xn) are the n input variables of the premise.

A(x1),… μA(xn)) are the fuzzy sets with linear membership functions representing a fuzzy subspace in which the implication R can be applied for reasoning.g is the function that implies the value of y when (x1, …, xn) satisfies the premise.

For the zero-order Takagy–Sugeno model then the fuzzy implication R will be given as follows:

R: if (x1 is μA(x1),… xn is μA(xn)) then y = k.

where k represents a constant output.

The structure of the proposed ZTS-TT was a zero-order Takagy–Sugeno fuzzy model.

The ZTS-TT controller has two input variables x1 = e(k), x2 = Δe(k) and one output variable y = V(k).

Based on the fuzzy implication R of the zero-order Takagy–Sugeno model, then the fuzzy implications of the proposed ZTS-TT controller are defined with the following set of 49 fuzzy control rules:

  • R 01: if e is NB and Δe is NB, then V is ZO (0 cm/sec)

  • R 02: if e is NB and Δe is NM, then V is PS (5 cm/s)

  • R 49: if e is PB and Δe is PB, then V is ZO (0 cm/sec)

The 49 fuzzy rules which constitutes the FRB of the ZTS-TT controller are summarized in Table I.

4.2.4 Aggregation

Because the structure of the ZTS-TT controller was zero-order Takagy–Sugeno, the implication method is a multiplication, and the aggregation operator just includes all the singletons. At time instant t = k, the output V(k) is given by the value of the fuzzy implication R.

5. Experimental validation

To validate the effectiveness of the proposed ZTS-TT controller, therefore, the tracking controller is implemented for an autonomous differential drive mobile robot of the type Quanser Qbot shown in Figure 9. The results of the experimental tests using the proposed ZTS-TT controller are compared to the results of the standard PD controller.

5.1 Description of the Quanser Qbot

The Quanser Qbot (Figure 9) is an innovative autonomous ground robot system incorporating a robust educational ground vehicle with the Quanser controller module (QCM).

The QCM is an embedded system mounted on the vehicle, which uses the Gumstix computer (www.gumstix.com) to run QUARC (Quanser’s real-time control software) and the Qbot data acquisition card.

The interface to the QCM is MATLAB Simulink with QUARC. The controllers are developed in Simulink on the host computer, and these models are downloaded and compiled into executables on the target (Gumstix (www.gumstix.com)) seamlessly.

The Qbot uses an iRobot CreateR frame (Figure 9). The Qbot follows the Quanser standard for body frame axes, where the x-axis is in the forward direction, the y-axis is to the left and the z-axis is up. The diameter of the vehicle is (d = 34 cm), and its height (without camera attachment) is (h = 7 cm).

Qbot is driven by two differential drive wheels where the maximum speed of the Qbot is (V = 500 mm/s). The total mass of the Qbot is 2,92 kg.

5.2 Qbot motion description

There exist three interesting cases Vr = Vl, Vr = –Vl, Vl = 0 or Vr = 0, these cases are described as follows:

  1. If Vr = Vl: forward linear motion of the robot is obtained in a straight line. In this case R becomes infinity and w(t) equals zero, i.e. the radius of curvature is infinite and the angular motion of the robot is zero.

  2. If Vr = –Vl: R = 0 the robot either spins left or right, i.e. it rotates about the midpoint of the wheel axis.

  3. If Vr = 0 the robot rotates about the left wheel and R=d2, similarly Vr = 0 results in a rotational motion about the right wheel and R=d2.

5.3 Implementation of the trajectory tracking controller

The tracking controller implemented for the Qbot basically has two stages which are the forward and inverse kinematic models of the Qbot as shown in Figure 10. The forward kinematic stage updates the actual configuration of the Qbot (x, y, θ), and the inverse kinematic stage generates left/right wheel velocity (Vr/Vl) of the Qbot.

5.4 Software

The packages that have been installed on the host computer are MATLAB 2012a with Simulink, QUARC version 2.2 and Microsoft Visual Studio 2010.

The code generation functionality allows a Simulink diagram to be executed in real time on Qbot. MATLAB real time workshop is used to generate target specific code, which is ported to Gumstix using TCP/IP connection. The final executable is obtained by compiling the generated code on Gumstix using GNU compiler.

5.5 Trajectory tracking

Assume a reference path of infinity shape which is defined with the following equations:

{xr(t)=50sin(π7t)cm yr(t)=50sin(2π7t)cm

where xr(t) and yr(t) are the coordinates of the reference trajectory along x-axis and y-axis, respectively.

Consider that at t = 0, the initial configuration of the robot is (x(0),y(0),θ(0))=(100cm,100cm,π2).

The sampling period is Ts = 0.1 s. The distance between the two wheels’ centers is d = 252.5 mm.

The space used for experiments is of surface 200 × 200 cm, and it is enough for tracking the desired path.

The results of the proposed ZTS-TT controller are compared with the corresponding standard PD controller.

The parameters of the PD controller given by equation (18) are chosen as follows kp = 25, kd = 15.

When the linear velocity of the Qbot is controlled by the PD controller as given by equation (18), therefore, the experimental results can be seen from Figures 11, 12 and 13.

It can be observed from analyzing the results that the Qbot becomes instable when it is controlled by the PD controller because the robot fails to follow the reference trajectory as shown in Figure 11, and the resulted tracking errors are not converging as illustrated in Figure 12.

It is desired that the mobile robot presents a stable behavior such that it leaves its initial state and tracks directly the reference trajectory. Here, the proposed ZTS-TT controller is adopted for the Qbot and showing its advantages.

Figures 14, 15 and 16 demonstrate the results of trajectory tracking obtained when the Qbot is controlled with the proposed ZTS-TT controller.

The time histories for the different velocities of the robot obtained from experiments are demonstrated in Figure 16 [i.e. the linear angular velocity, the right/left wheel velocity (Vr and Vl)].

It can be observed from the trajectory shown in Figure 14 that the behavior of Qbot is stable and it successfully tracks the reference trajectory without any motion oscillation.

The analysis of the different errors shown in Figure 15 indicates that the tracking errors keep decreasing until the convergence to small values.

The right/left wheel velocity of the Qbot controlled with the ZTS-TT controller shown in Figure 16(c) indicate stable behavior. The different cases stated in Section 5.2 which describe the motion of the differential drive Quanser Qbot can be verified by the results of Figure 16(c) (Vr and Vl), with simultaneously viewing the Qbot’s trajectory shown in the Figure 14.

Note that the Qbot does not uses case (c) (Section 5.2) (case where Vr = 0 or Vl = 0), where the robot does not exhibit any rotational motion about the right wheel or rotational motion about the left wheel.

Comparing to the results of the standard PD controller I can conclude that the proposed ZTS-TT controller demonstrated better tracking performances, robustness and the convergence of the tracking errors.

Controlled with the proposed ZTS-TT controller, the robot behaves stably and the desired performances are achieved in the experiments.

6. Conclusions

This paper described the development of a robust robot fuzzy PD controller based on robot fuzzy control. Compared to other fuzzy PID controllers which mostly used three fuzzy control spaces for adapting the parameters of the controller, which is computationally expensive, time consuming and less flexible for different systems; hence, the proposed fuzzy PD controller found to be stable, flexible and constituted by one fuzzy space for the generation of the control signal.

Based on the FRB of the proposed fuzzy PD controller, a new controller called ZTS-TT controller is deduced for regulating the mobile robot’s linear speed for trajectory tracking of autonomous nonholonomic differential drive WMR.

For validating the effectiveness of the proposed (ZTS-TT) controller, a tracking controller is implemented for a ground mobile robot of the type Quanser Qbot using MATLAB Simulink with QUARC framework, downloaded and compiled into the Qbot using the WIFI TCP/IP connection.

Compared with the experimental results of the standard PD controller, the proposed ZTS-TT controller demonstrated better tracking performances. The comparative results illustrated clearly the advantages of the ZTS-TT controller for trajectory tracking control of WMR. When the Quanser Qbot is controlled with the proposed (ZTS-TT) controller the results showed that the Qbot presents effective and robust trajectory tracking, stable behavior where the time evolution of the right/left wheel velocity indicate stable behavior.

The major features of the proposed fuzzy logic PD controller can be reviewed as follows:

  • Flexibly and robustness for real time robot control, which has been validated by experimental tests using the Quanser Qbot.

  • Providing stability for the real-time control of the WMR.

  • Using minimum memory resources on the robot and saving more computation time.

The proposed fuzzy PD controller can be improved using hybrid techniques. By exploiting the advantages of the proposed fuzzy PD controller; hence in the further investigations, I attempt to develop the presented approach for obstacle detection and collision avoidance in combination with trajectory tracking for use in environments with obstacles.

Figures

Basic fuzzy robot control loop

Figure 1

Basic fuzzy robot control loop

Output feedback implementation of a fuzzy robot control

Figure 2

Output feedback implementation of a fuzzy robot control

Fuzzy values (membership functions) of e(k) and Δe(k) of the fuzzy PD controller

Figure 3

Fuzzy values (membership functions) of e(k) and Δe(k) of the fuzzy PD controller

Trajectory of the error dynamics state [e(k), Δe(k)] of the fuzzy PD controller

Figure 4

Trajectory of the error dynamics state [e(k), Δe(k)] of the fuzzy PD controller

Differential drive kinematics

Figure 5

Differential drive kinematics

The proposed ZTS-TT controller for robot speed regulation

Figure 6

The proposed ZTS-TT controller for robot speed regulation

The membership functions of the inputs e(k), Δe(k)

Figure 7

The membership functions of the inputs e(k), Δe(k)

The membership functions of the output V(k)

Figure 8

The membership functions of the output V(k)

Anatomy of the Qbot with various components and body axes

Figure 9

Anatomy of the Qbot with various components and body axes

Trajectory tracking implementation for the Quanser Qbot

Figure 10

Trajectory tracking implementation for the Quanser Qbot

Trajectory of the Qbot based on the PD controller

Figure 11

Trajectory of the Qbot based on the PD controller

Tracking errors based on the PD controller

Figure 12

Tracking errors based on the PD controller

Times histories of the different velocities of the robot based on the PD controller

Figure 13

Times histories of the different velocities of the robot based on the PD controller

Trajectory of the Qbot based on the proposed ZTS-TT controller

Figure 14

Trajectory of the Qbot based on the proposed ZTS-TT controller

Tracking errors based on the proposed ZTS-TT controller

Figure 15

Tracking errors based on the proposed ZTS-TT controller

Times histories of the different velocities of the robot based on the proposed ZTS-TT controller

Figure 16

Times histories of the different velocities of the robot based on the proposed ZTS-TT controller

The fuzzy control rules for the proposed fuzzy PD controller

Δe

e
NB NM NS AZ PS PM PB
NB
NM
NS
AZ
PS
PM
PB
AZ
NS
NM
NB
NB
NB
NB
PS
AZ
NS
NM
NB
NB
NB
PM
PS
AZ
NS
NM
NB
NB
PB
PM
PS
AZ
NS
NM
NB
PB
PB
PM
PS
AZ
NS
NM
PB
PB
PB
PM
PS
AZ
NS
PB
PB
PB
PB
PM
PS
AZ

Comparison between the fuzzy PD and fuzzy PID controller

Fuzzy PID (Liu et al., 2014) The proposed fuzzy PD
Inputs ports 2 2
Output ports 3 (Adaptive Parameters) 1 (Control Signal)
Computation cost Expensive Mean
Number of summations for defuzzification (weighted average) per each iteration computed twice [(7 × 7) × 3] + 3 = 150 7 × 7 = 49
Number of products per each iteration computed twice [(7 × 7) × 3] + 3 = 150 7 × 7 = 49
Flexibility/robustness Mean (three fuzzy spaces for the adaptive variables) Good (one fuzzy space for control signal)

References

Abatari, H.T. and Tafti, A.D. (2013), “Using a fuzzy PID controller for the path following of a car-like mobile robot”, Proceeding of the RSI/ISM International Conference on Robotics and Mechatronics, IEEE, Tehran, pp. 189-193.

Asif, M., Khan, M.J., Safwan, M. and Rehan, M. (2015), “Feedforward and feedback kinematic controllers for wheeled mobile robot trajectory tracking”, Journal of Automation and Control Engineering, Vol. 3 No. 3, pp. 178-182.

Berenji, H.R. and Khedkar, P. (1992), “Learning and tuning fuzzy logic controllers through reinforcements”, IEEE transactions on neural networks, Vol. 3 No. 5, pp. 724-740.

Abadi, D.N. and Khooban, M.H. (2015), “Design of optimal mamdani-type fuzzy controller for nonholonomic wheeled mobile robots”, Journal of King Saud University–Engineering Sciences, Vol. 27, pp. 92-100.

Gregory, D. and Jenkin, M. (2010), “Mobile robot hardware”, in Computational Principles of Mobile Robotics, Cambridge University Press, Cambridge, pp. 31-77.

Inoue, Y., Hirama, T. and Wada, M. (2013), “Design of omnidirectional mobile robots with ACROBAT wheel mechanisms”, IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, pp. 4852-4859.

Jacobs, T., et al. (2012), “Design of wheel modules for nonholonomic, omnidirectional mobile robots in context of the emerging control problems”, Proceedings of 7th German ROBOTIK conference, IEEE, German, pp. 1-4.

Jiancheng, F., Cunxiao, M. and Yuhu, D. (2012), “Adaptive nonlinear path following method for fix-wing micro aerial vehicle”, Industrial Robot: An International Journal, Vol. 39 No. 5, pp. 475-483.

Jitendra, R. and Gopal, A.K. (2012), Mobile Intelligent Autonomous Systems, Taylor & Francis, CRC Press, Boca Raton, FL.

Li, T. and Chang, S. (2003), “Autonomous fuzzy parking control of a car-like mobile robot”, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans, Vol. 33 No. 4, pp. 451-465.

Li, X. and Yu, W. (2011), “A systematic tunning method of PID controller for robot manipulators”. Proceedings of 9th International Conference on Control and Automation (ICCA), IEEE, Santiago, pp. 274-279.

Liu, F.C., Liang, L.H. and Gao, J. (2014), “Fuzzy PID control of space manipulator for both ground alignment and space applications”, International Journal of Automation and Computing, Vol. 11 No. 4, pp. 353-360.

Pacheco, L. and Luo, N. (2015), “Testing PID and MPC performance for mobile robot local path-following”, International Journal of Advanced Robotic Systems, Vol. 12 No. 11.

Pervozvanski, A.A. and Freidovich, L.B. (1999), “Robust stabilization of robotic manipulators by PID controllers”, Dynamics and Control, Vol. 9 No. 3, pp. 203-222.

Qing, X., Kan, J., Chen, S. and Yan, S. (2014), “Fuzzy PID based trajectory tracking control of mobile robot and its simulation in Simulink”, International Journal of Control and Automation, No. 8, pp. 233-244.

Sanhoury, I., Amin, S. and Husain, A. (2011), “Trajectory tracking of steering system mobile robot”, Proceedings of the 4th International Conference on Mechatronics (ICOM), 17-19 May, IEEE, Kuala Lumpur, pp. 1-5.

Su, Y. and Zheng, C. (2009), “A simple nonlinear PID control for finite-time regulation of robot manipulators”, Proceedings of the International Conference on Robotics and Automation, 12-17 May, IEEE, Japan, pp. 2569-2574.

Sun, W., Wu, Y.-Q. and Sun, Z.-Y. (2014), “Tracking control design for nonholonomic mechanical systems with affine constraints”, International Journal of Automation and Computing, Vol. 11 No. 3, pp. 328-333.

Sypros, G.T. (2014), “Fuzzy and neural methods”, in Introduction to Mobile Robot Control, Elsevier, Amsterdam, pp. 269-317.

Thoa, T.M., Copot, C., Keyser, R.D., Tran, T.D. and Vu, T. (2016), “MIMO fuzzy control for autonomous mobile robot”, Journal of Automation and Control Engineering, Vol. 4 No. 1, pp. 65-70.

Thongchai, S., Suksakulchai, S., Wilkes, D.M. and Sarkar, N. (2000), “Sonar behavior-based fuzzy control for a mobile robot”, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans, Vol. 5, pp. 3532-3537.

Velagic, J., Osmic, N. and Lacevic, B. (2008), “Neural network controller for mobile robot motion control”, World Academy of Science, Engineering and Technology International Journal of Electrical and Computer Engineering, Vol. 2 No. 11.

Wu, S., Mei, J.-S. and Niu, P.-Y. (2001), “Path guidance and control of a guided wheeled mobile robot”, Control Engineering Practice, Vol. 9 No. 1, pp. 97-105.

Yanwen, H., Qixin, C. and Chuntao, L. (2010), “The path tracking controller based on dynamic model with slip for one four wheeled OMR”, Industrial Robot: An International Journal, Vol. 37 No. 2, pp. 193-201.

Zhang, Z., Wang, L. and Li, L. (2016), “Design and implementation of two-wheeled mobile robot by variable structure sliding mode control”, Proceedings of the 35th Chinese Control Conference, 27-29 July, IEEE, Chengdu, pp. 5869-5873.

Corresponding author

Ali Alouache can be contacted at: alouache15@yahoo.com