# Bacterial Foraging-Tabu Search Metaheuristics for Identification of Nonlinear Friction Model

Authors: Nuapett Sarasiri; Kittiwong Suthamno; Sarawut Sujitjorn
Journal: Journal of Applied Mathematics
 (2012)

---

## Abstract

This paper proposes new metaheuristic algorithms for an identification problem of nonlinear friction model. The proposed cooperative algorithms are formed from the bacterial foraging optimization (BFO) algorithm and the tabu search (TS). The paper reports the search comparison studies of the BFO, the TS, the genetic algorithm (GA), and the proposed metaheuristics. Search performances are assessed by using surface optimization problems. The proposed algorithms show superiority among them. A real-world identification problem of the Stribeck friction model parameters is presented. Experimental setup and results are elaborated.


---

## Body

## 1. Introduction

AI-based algorithms have been successfully applied to solve optimal solutions of complex and NP-hard problems in engineering. For some examples, dated back to 1995, the genetic algorithm was proposed to solve line-balancing problem to minimize the cycle time of the line for a given number of workstations [1], similar approach was used to optimize the determination of an optimal control sequence in model-based predictive control [2], the simulated annealing and genetic algorithms were used to solve nonlinear controller parameter optimization for the diving and heading motions of a submarine model [3], and recently the particle swarm optimization algorithm was applied to optimize the parameters of a fuzzy control system that was used for the vibration control problem of a flexible structure [4], and so forth. Of a particular interest in control, current motion control technologies demand very high precision in positioning of an object, for example, in CNC machines, robots, and so forth. Difficulties caused by nonlinear friction arise under very low velocity motions, in which stick-slip phenomenon pronouncedly exhibits. Control techniques can be used to compensate for the problem, and as such an accurate friction model is needed. To obtain the model it requires careful experimental setup, accurate measurement and appropriate identification algorithms. Due to strong nonlinearity of the friction model, the conventional regressive approach is inappropriate.An identification task can be formulated as an optimization problem solvable by available optimization algorithms. Artificial intelligence- (AI-) based methods are efficient candidates of the present technology. There is a wide range of algorithms which has been applied to solve identification problems. For some instances, the genetic algorithm has been applied to various problems including the modelling of a laboratory scale process involving a coupled water tank system and the identification of a helicopter rotor speed controller [5] and the identification of induction machine parameters [6, 7]; the tabu search and simulated annealing algorithms were applied to identify the optimal parameter structure for groundwater models [8]; the adaptive tabu search was applied to harmonic identification for an active power filter [9]; the particle swarm optimization was applied to solve various problems including the identification of thermal power plant [10], the calculation of deformations in soil or rock in geotechnical engineering [11], and the identification of MIMO FIR systems [12]; the ant colony optimization algorithm was used to identify the aquifer parameters for the underground water control engineering [13]; the proportionate affine projection algorithm was applied to the identification of sparse impulse response [14]; recently, the bacterial foraging algorithm was applied for the radiofrequency identification (RFID) communication system [15].Among those metaheuristics, evolutionary and bioinspired algorithms have gained major interests since they are not hard to understand, and programming according to the procedural lists is not so strict compared with conventional scientific programming. It also opens a new route to effectively obtain an optimal or suboptimal solution for a complex system. This paper proposes the use of the tabu search (TS) and the bacterial foraging optimization (BFO) algorithm in a cooperative manner. Due to the dominant explorative property of the BFO algorithm, the modified TS with the BFO built-in is able to start searching with an elite initial solution. While the sharp focusing property of the TS remains, the proposed algorithms can move towards the solution very rapidly. Section2 of the paper explains the algorithms. The search performance was investigated using some well-known unconstrained optimization problems on Pentium IV, 2.4 GHz, 640 Mbytes SD-RAM. The search results are compared among the BFO, the TS, the genetic algorithm (GA), and the modified TS denoted as bacterial foraging-tabu search (BTS). Since the GA is well known, review of the algorithms is omitted herein. The comparative results of performance studies are presented in Section 3. The proposed algorithms are applied to identify the parameters of the nonlinear Stribeck friction model. Section 4 presents the experimental setup, results, and discussions. Conclusions follow in Section 5.


## 2. Bacterial Foraging-Tabu Search Metaheuristics

### 2.1. Tabu Search

Tabu search (TS) originated by Glover [16, 17] has become one of the most efficient metaheuristic methods. It incorporates two major strategies, namely, intensification and diversification, respectively. Successful applications of the TS have appeared in various fields, for example, food processing [18], optimal power flow [19], flow shop problem [20], and so forth. For some complex systems containing many local optima, the simplistic TS is usually unable to release the search move from a local entrapment. This problem has been overcome by different modifications made to the TS. These include the reactive tabu search [21], probabilistic tabu search [22] and adaptive tabu search (ATS) [23]. The ATS has found various successful applications such as identification [9], control [24], and signal processing [25].The ATS consists of two major additional strategies made to the conventional TS. These are back-tracking (BT) and adaptive search radius (AR) mechanisms, respectively. The former assists the TS to release itself from being locked by a local solution. It looks up the tabu list (TL), that is, short-term memory, for a visited elite solution, and uses this solution for starting a new search move. The later enhances the focusing characteristic of the TS. This strategy decreases the search radius gradually when the search comes close to a solution of high quality having a potential of being the optimal one. However, too short of the search radius could result in a slow search. Recommendations for selection of search parameters are in [23]. The ATS algorithm is presented as a part of the proposed algorithms in Section 2.3.


### 2.2. Bacterial Foraging Optimization

In 2002, Passino developed a new bioinspired optimization algorithm called bacterial foraging optimization (BFO) [26, 27]. The algorithm imitates the foraging behavior of E. coli bacteria; the computer codes appear in http://www2.ece.ohio-state.edu/~passino/ICbook/ic_code.html. The BFO has been applied to various optimization problems including estimation of harmonics [28], active power filter design [29], transmission loss reduction [30], and optimal power flow [31]. Unfortunately, the BFO sometimes does not converge to a high-quality solution, particularly when applied to complicated problems. The difficulty has been resolved by some researchers [32, 33] who modified the chemotaxis step of the BFO to become an adaptive mechanism and, hence, the name adaptive bacterial foraging optimization, or ABFO. It incorporates an adaptive jumping step denoted as C(i) under a basic concept of a long step corresponding to a large deviation of the cost value from the targeted one, and vice versa. The ABFO algorithm consists of 4 main mechanisms as follows.Chemotaxis
This mechanism imitates the swimming movement of a bacterium. The position of a bacterium is denoted asθi.Swarming
When one bacterium presents itself in an elite position, that is, a local hill or valley, it attracts the others. Simultaneously, each bacterium tries to repel the others nearby. The attractive and the repellent effects are modeled as weighted summation of exponential terms presenting the objective function,JCC. The weighting factors are dattract, wattract, hrepellant, and wrepellant and can be chosen arbitrarily.Reproduction
The bacteria are classified during the computing process as healthy and unhealthy due to their cost values. Only the healthy ones reproduce by duplicating themselves at the same positions.Elimination and Dispersal
The mechanism allows the unhealthy bacteria to be discarded. The healthy ones are dispersed randomly over the search space with the probabilityPed.
The original BFO and the ABFO algorithms run iteratively and terminate on the maximum iteration criterion. The solutions obtained from search are stored in a memory and eventually sorted to find the optimal solution. From testing the ABFO algorithm, it demonstrates a strong explorative (or diversification) property. This property is commonly found in population-based algorithms, and the ABFO algorithm is one of them. In contrast, single-solution-based algorithms, such as the TS, have strong exploitative property [34–36]. Therefore, both algorithms complement each other in the senses that the ABFO is useful for provision of an elite initial solution to the TS, and the TS is an efficient tool to track down a global solution rapidly. The ABFO algorithm is presented as a part of the algorithms in the next section.


### 2.3.  Bacterial Foraging-Tabu Search

As mentioned, the TS has a dominant focusing characteristic, while the ABFO is strong in explorative operation. Such properties can complement each other. Since the TS has straightforward procedures, and moves rapidly towards a local solution, the method forms the hunting steps for a satisfied solution to the problem. The two algorithms are combined to form new metaheuristics working in a cooperative manner. The new algorithms are referred to as bacterial foraging-tabu search or BTS in short. In this new algorithmic form, it is unnecessary to employ the reproduction mechanism of the ABFO part because ranking the available solutions to single out one with the minimum cost is an important step. This specific solution is transferred to the TS part as an initial solution. The procedural list of the BTS algorithms is as follows.Step 1.
Initialize search parameters:p, search space,S, Nc, Ns, α, dattract, wattract, hrepellant, wrepellant, R, N, TL, countmax, BT, n_re_back, best_neighbor1, best_error,Ri and εi.Step 2.
Randomly or heuristically select an initial solutionθi from the search space. Set θi as the current solution.Step 3.
Compute objective functionsJ(i,j) according to (2.1) (i=1,2,…,S). Set Jlast=J(i,j); j=1,2,…Nc,
(2.1)J(i,j)=J(i,j)+JCC(θi(j),P(i,j))JCC(θi,P(i,j))=∑i=1SJCCi(θ,θi(j))=∑i=1S[-dattractexp⁡(-wattract∑m=1p(θm-θmi)2)]+∑i=1S[hrepellentexp⁡(-wrepellent∑m=1p(θm-θmi)2)].Step 4.
Generate randomly([-1,1]) the elements of the random vector Δp(i)∈ℜp, then compute the adaptive step size, C(i,j) using (2.2), and update the solution θi(j+1) according to (2.3). Compute the objective function for j=j+1 according to (2.1). Set m=0,
(2.2)C(i,j)=|J(i,j)||J(i,j)|+α=11+α/|J(i,j)|,(2.3)θi(j+1)=θi(j)+C(i,j)Δ(i)ΔT(i)Δ(i).Step 5.
IfJ(i,j+1)<Jlast then Jlast=J(i,j+1); use the direction of the same random vector Δ(i) to compute θi(j+1) and J(i,j+1). Update m  and repeat Step 5 until m>Ns.Step 6.
Ifj≤Nc, go to Step 3.Step 7.
Do minimum sorting of the objective functionsJ. Define best_θ as the solution with the minimum J. Set S0 = best_θ.Step 8.
Generate a neighbourhood aroundS0 within an initial search radius R. Set N solutions as the members of the set S1(r).Step 9.
Evaluate the objective function of each member belonging toS1(r). Define S1 = best_neighbor1 as a solution with the minimum cost, J1.Step 10.
IfJ1<J0, store S0 in the TL, assign S0=S1, otherwise, store S1 in the TL.Step 11.
Invoke theBT when a solution deadlock occurs (the current solution has been repeated many times as defined by n=1,2,…,BT) (Algorithm 1).Algorithm 1
BT:  ifn≥BTn=n+1best_error = RANK(TL)look back in theTL, then retrieve the n_re_backth solution from the TL.elsen=0defineS0 = best_neighborbest_error = best_errorend  ifStep 12.
If the termination criterion based on theJ  values is met or count>countmax(count=1,2,…,countmax) exit with the global solution.Step 13.
Invoke theAR when the current solution is relatively close to a local minimum (Algorithm 2).Algorithm 2
AR:  ifbest_error <ε1R=R1 where R<R1.endifbest_error <ε2R=R2 where R2<R1 and ε2<ε1.end…if  best_error <εnR=Rn where Rn<Rn-1 and εn<εn-1.endStep 14.
Updated count. Ifcount≤countmax then go to Step 8.Referring to Step12, one termination criterion is the maximum number of iterations. There are other approaches the users may employ, that is, maximum CPU time, maximum iteration with or without improvement in solution quality, and a solution of sufficient quality [35]. Another termination criterion is the sufficient solution quality concept, which is represented by the cost J. The value of the cost J depends on application. For engineering problems, the cost J can be set from design specifications, component tolerances, and so forth. The maximum number of iterations (countmax) can be determined from the ratio of search boundary to search radius of the TS. Some presearch trials are useful to determine an adjustment to the value of countmax. The above algorithms are general enough for various optimization problems. Specific alterations for the problem of friction model identification will be discussed in Section 4.


## 2.1. Tabu Search

Tabu search (TS) originated by Glover [16, 17] has become one of the most efficient metaheuristic methods. It incorporates two major strategies, namely, intensification and diversification, respectively. Successful applications of the TS have appeared in various fields, for example, food processing [18], optimal power flow [19], flow shop problem [20], and so forth. For some complex systems containing many local optima, the simplistic TS is usually unable to release the search move from a local entrapment. This problem has been overcome by different modifications made to the TS. These include the reactive tabu search [21], probabilistic tabu search [22] and adaptive tabu search (ATS) [23]. The ATS has found various successful applications such as identification [9], control [24], and signal processing [25].The ATS consists of two major additional strategies made to the conventional TS. These are back-tracking (BT) and adaptive search radius (AR) mechanisms, respectively. The former assists the TS to release itself from being locked by a local solution. It looks up the tabu list (TL), that is, short-term memory, for a visited elite solution, and uses this solution for starting a new search move. The later enhances the focusing characteristic of the TS. This strategy decreases the search radius gradually when the search comes close to a solution of high quality having a potential of being the optimal one. However, too short of the search radius could result in a slow search. Recommendations for selection of search parameters are in [23]. The ATS algorithm is presented as a part of the proposed algorithms in Section 2.3.


## 2.2. Bacterial Foraging Optimization

In 2002, Passino developed a new bioinspired optimization algorithm called bacterial foraging optimization (BFO) [26, 27]. The algorithm imitates the foraging behavior of E. coli bacteria; the computer codes appear in http://www2.ece.ohio-state.edu/~passino/ICbook/ic_code.html. The BFO has been applied to various optimization problems including estimation of harmonics [28], active power filter design [29], transmission loss reduction [30], and optimal power flow [31]. Unfortunately, the BFO sometimes does not converge to a high-quality solution, particularly when applied to complicated problems. The difficulty has been resolved by some researchers [32, 33] who modified the chemotaxis step of the BFO to become an adaptive mechanism and, hence, the name adaptive bacterial foraging optimization, or ABFO. It incorporates an adaptive jumping step denoted as C(i) under a basic concept of a long step corresponding to a large deviation of the cost value from the targeted one, and vice versa. The ABFO algorithm consists of 4 main mechanisms as follows.Chemotaxis
This mechanism imitates the swimming movement of a bacterium. The position of a bacterium is denoted asθi.Swarming
When one bacterium presents itself in an elite position, that is, a local hill or valley, it attracts the others. Simultaneously, each bacterium tries to repel the others nearby. The attractive and the repellent effects are modeled as weighted summation of exponential terms presenting the objective function,JCC. The weighting factors are dattract, wattract, hrepellant, and wrepellant and can be chosen arbitrarily.Reproduction
The bacteria are classified during the computing process as healthy and unhealthy due to their cost values. Only the healthy ones reproduce by duplicating themselves at the same positions.Elimination and Dispersal
The mechanism allows the unhealthy bacteria to be discarded. The healthy ones are dispersed randomly over the search space with the probabilityPed.
The original BFO and the ABFO algorithms run iteratively and terminate on the maximum iteration criterion. The solutions obtained from search are stored in a memory and eventually sorted to find the optimal solution. From testing the ABFO algorithm, it demonstrates a strong explorative (or diversification) property. This property is commonly found in population-based algorithms, and the ABFO algorithm is one of them. In contrast, single-solution-based algorithms, such as the TS, have strong exploitative property [34–36]. Therefore, both algorithms complement each other in the senses that the ABFO is useful for provision of an elite initial solution to the TS, and the TS is an efficient tool to track down a global solution rapidly. The ABFO algorithm is presented as a part of the algorithms in the next section.


## 2.3.  Bacterial Foraging-Tabu Search

As mentioned, the TS has a dominant focusing characteristic, while the ABFO is strong in explorative operation. Such properties can complement each other. Since the TS has straightforward procedures, and moves rapidly towards a local solution, the method forms the hunting steps for a satisfied solution to the problem. The two algorithms are combined to form new metaheuristics working in a cooperative manner. The new algorithms are referred to as bacterial foraging-tabu search or BTS in short. In this new algorithmic form, it is unnecessary to employ the reproduction mechanism of the ABFO part because ranking the available solutions to single out one with the minimum cost is an important step. This specific solution is transferred to the TS part as an initial solution. The procedural list of the BTS algorithms is as follows.Step 1.
Initialize search parameters:p, search space,S, Nc, Ns, α, dattract, wattract, hrepellant, wrepellant, R, N, TL, countmax, BT, n_re_back, best_neighbor1, best_error,Ri and εi.Step 2.
Randomly or heuristically select an initial solutionθi from the search space. Set θi as the current solution.Step 3.
Compute objective functionsJ(i,j) according to (2.1) (i=1,2,…,S). Set Jlast=J(i,j); j=1,2,…Nc,
(2.1)J(i,j)=J(i,j)+JCC(θi(j),P(i,j))JCC(θi,P(i,j))=∑i=1SJCCi(θ,θi(j))=∑i=1S[-dattractexp⁡(-wattract∑m=1p(θm-θmi)2)]+∑i=1S[hrepellentexp⁡(-wrepellent∑m=1p(θm-θmi)2)].Step 4.
Generate randomly([-1,1]) the elements of the random vector Δp(i)∈ℜp, then compute the adaptive step size, C(i,j) using (2.2), and update the solution θi(j+1) according to (2.3). Compute the objective function for j=j+1 according to (2.1). Set m=0,
(2.2)C(i,j)=|J(i,j)||J(i,j)|+α=11+α/|J(i,j)|,(2.3)θi(j+1)=θi(j)+C(i,j)Δ(i)ΔT(i)Δ(i).Step 5.
IfJ(i,j+1)<Jlast then Jlast=J(i,j+1); use the direction of the same random vector Δ(i) to compute θi(j+1) and J(i,j+1). Update m  and repeat Step 5 until m>Ns.Step 6.
Ifj≤Nc, go to Step 3.Step 7.
Do minimum sorting of the objective functionsJ. Define best_θ as the solution with the minimum J. Set S0 = best_θ.Step 8.
Generate a neighbourhood aroundS0 within an initial search radius R. Set N solutions as the members of the set S1(r).Step 9.
Evaluate the objective function of each member belonging toS1(r). Define S1 = best_neighbor1 as a solution with the minimum cost, J1.Step 10.
IfJ1<J0, store S0 in the TL, assign S0=S1, otherwise, store S1 in the TL.Step 11.
Invoke theBT when a solution deadlock occurs (the current solution has been repeated many times as defined by n=1,2,…,BT) (Algorithm 1).Algorithm 1
BT:  ifn≥BTn=n+1best_error = RANK(TL)look back in theTL, then retrieve the n_re_backth solution from the TL.elsen=0defineS0 = best_neighborbest_error = best_errorend  ifStep 12.
If the termination criterion based on theJ  values is met or count>countmax(count=1,2,…,countmax) exit with the global solution.Step 13.
Invoke theAR when the current solution is relatively close to a local minimum (Algorithm 2).Algorithm 2
AR:  ifbest_error <ε1R=R1 where R<R1.endifbest_error <ε2R=R2 where R2<R1 and ε2<ε1.end…if  best_error <εnR=Rn where Rn<Rn-1 and εn<εn-1.endStep 14.
Updated count. Ifcount≤countmax then go to Step 8.Referring to Step12, one termination criterion is the maximum number of iterations. There are other approaches the users may employ, that is, maximum CPU time, maximum iteration with or without improvement in solution quality, and a solution of sufficient quality [35]. Another termination criterion is the sufficient solution quality concept, which is represented by the cost J. The value of the cost J depends on application. For engineering problems, the cost J can be set from design specifications, component tolerances, and so forth. The maximum number of iterations (countmax) can be determined from the ratio of search boundary to search radius of the TS. Some presearch trials are useful to determine an adjustment to the value of countmax. The above algorithms are general enough for various optimization problems. Specific alterations for the problem of friction model identification will be discussed in Section 4.


## 3.  Search Performance

This section presents the performance comparison studies among the following algorithms: adaptive tabu search (ATS), adaptive bacterial foraging optimization (ABFO), bacterial foraging-tabu search metaheuristics (BTS), and genetic algorithm (GA). Review of the GA is omitted since the algorithm is well known. Good sources that readers may refer to are [37–39]. Each of these algorithms performs search on several test functions for 50 trials, and the results are averaged. Each search trial begins the search with different initial solutions, while search parameters are kept the same for all trials.This approach is commonly referred to as multiple-points-single-strategy (MPSS) in metaheuristic contexts. The test functions adapted are well-known unconstrained problems for testing optimization algorithms. These include Bohachevsky function (BF), Rastrigin function (RF), Shekel’s fox-holes function (SF), Schwefel function (SchF), and Shubert function (ShuF), respectively. Table1 summarizes these test functions in which Jmin is the minimum cost required to terminate the search. Search parameter settings for the ATS follow [23], the for ABFO follow [26], and for the GA follow MATLAB-GA Toolbox [39]. Tables 2 and 3 summarize the search parameters of the ATS and the ABFO, respectively. These parameters are adapted for the BTS with Nc=20, in particular.Table 1
Summary of the unconstrained problems used for performance test.
Test functionsEquationsSurfaces in 3DBFf(x,y)=x2+2y2-0.3cos(3πx)-0.4cos(4πy)+0.7 global minimum of 0 at (0,0), search space: [2 2; −2 −2] and Jmin≤1×10-9.RFf(x,y)=x2+y2-10cos(2πx)-10cos(2πy)+20 global minimum of 0 at (0,0), search space: [2 2; −2 −2] and Jmin≤1×10-8.SFf(x1,x2)=[1/500+∑j=125(1/(j+∑i=12(xi-aij)6))]-1 when aij=(-32-1601632-32⋯01632-32-32-32-32-32-16⋯323232). global minimum of 0.998 at (-32,-32), search space: [40 40; −40 −40] and Jmin≤0.9990.SchFf(x)=418.9829n-∑i=1n(xisin|xi|);n=2 global minimum of 0 at (420.9687, 420.9687), search space: [500 500; −500 −500] and Jmin≤1×10-1.ShuFf(x1,x2)=∑i=15icos((i+1)x1+i)*∑i=15icos((i+1)x2+i) when -10≤x1,x2≤10. global minima of equal values −186.7309 at 18 different locations, search space: [10 10; −10 −10] and Jmin≤−186.73.Table 2
ATS parameters.
Test functionsNCountmaxRBT,n_re_backARStage IStage IIStage IIIBF3010,0000.25J<1×10-1,J<1×10-3,—RF3010,0000.25R=2×10-3R=2×10-4—SF3010,0000.85J<5,R=0.5J<2,R=0.1—SchF3010,000505J<100,R=25J<10,R=10J<1,R=1ShuF3010,0001.05J<1,R=1×10-2J<-1,R=1×10-3—Table 3
ABFO parameters.
Test functionsABFO parametersSNcNSNreNedPedαdattracthrepellantwattractwrepellantBF30204420.25100.10.10.21RF302004420.251000.10.10.21SF305004420.250.010.10.10.210SchF3020004420.2510.10.10.210ShuF3010004420.2510.10.10.210Table4 summarizes the average results over 50 trials. There are 2 groups of data denoted as average search time and average search rounds, respectively. Since the ATS, ABFO, and GA have different algorithmic approaches, comparisons of their average search rounds are not meaningful. On the contrary, the ABFO is combined to the ATS in order to reduce search rounds and search time. So, it is meaningful to compare the search rounds consumed by the ATS and the BTS. In average, the proposed BTS consumes search rounds of 63.45% less than the ATS does. Referring to the search time data in Table 4, the BTS spends search time of 37.15% less than the ATS does, and 68.31% less than the ABFO does as averages. Moreover, the BTS consumes 58.21% less search time than the GA does. In terms of the number of local entrapment, the BTS encounters the entrapment of 73.43% less than the ATS does, and produces high-quality solution to the problem. Convergence curves are shown in Figure 1 for comparison purposes.Table 4
Summary of the results (averaged over 50 trials).
Test  functionsAverage search time (seconds)Average search roundsATSABFOBTSGAATSABFO (NC)BTSGABF11.665.756.8349.12616.4820151.201177.18RF14.6048.635.8111.78868.28200323.30225.54SF4.18146.673.698.53139.3650025.70141.28SchF408.58728.87172.52868.326889.4220001469.14354.44ShuF3.28182.832.803.3968.06100055.2834.24Convergence curves—(a) BF, (b) RF, (c) SF, (d) SchF, and (e) ShuF.
(a)(b)(c)(d)(e)Table5 summarizes the solutions obtained from different methods. It can be noticed that the ABFO provides solutions with the best quality in an exchange of a considerably long search time (see Table 4). The proposed BTS provides solutions with second to the best quality within the shortest search time (see Table 4). Note that the solutions found by the BTS meet the criterion of minimum cost. This outstanding performance of the BTS is achieved due to the explorative characteristic of the ABFO, the exploitative characteristic of the TS, and the deadlock releasing property of the ATS.Table 5
Solutions obtained from different approaches.
Objective functionATSABFOBTSGABF:Average4.5090e-101.0833e-105.30112e-106.0074e-08Min7.3184e-112.2204e-163.569e-121.1830e-11Max9.4151e-108.8759e-109.97229e-102.9855e-06Std.2.7476e-102.0742e-103.13515e-104.2216e-07RF:Average5.3478e-091.1534e-105.2460e-094.9642e-09Min2.9051e-103.5527e-155.9587e-101.1486e-10Max9.3771e-096.7094e-109.6620e-099.5235e-09Std.2.4328e-091.4942e-102.6721e-092.6740e-09SF:Average0.99820.99810.99830.9983Min0.99800.99800.99800.9980Max0.99890.99880.99900.9990Std.0.00020.00020.00030.0003SchF:Average0.04560.01390.02730.0439Min0.00062.5455e-050.00020.0008Max0.09980.07680.09440.0982Std.0.02780.02400.03410.0281ShuF:Average−186.7305−186.7305−186.7305−186.7304Min−186.7309−186.7309−186.7309−186.7309Max−186.7300−186.7300−186.7301−186.7300Std.0.00030.00030.00030.0002Figure2 shows a representation of bacteria movements on the search space of the test functions. Noticeably, large areas of search spaces are explored by the bacteria. In other words, the BTS can provide a high-quality solution rapidly because the ABFO provides an elite initial solution to the ATS, and the ATS effectively releases the search from a deadlock or local entrapment while rapidly focuses the search to the solution.Bacterial search movements—(a) BF, (b) RF, (c) SF, (d) SchF, and (e) ShuF.
(a)(b)(c)(d)(e)The BTS has been applied to a constrained parametric search problem, that is, an identification of the nonlinear friction model. In the next section, experimental setup, and identification results are presented.


## 4.  Identification Results

### 4.1.  Experimental Setup

A closed loop position control system is a necessary test bed for monitoring stick-slip phenomenon. The diagram in Figure3 represents the experimental setup. The linear slide bed is the controlled plant consisting of a dc motor, a threaded rod, a reflector, and an ultrasonic transducer (UC3000-UIE2). The effective moving range of the reflector is 0–400 mm with the home position at the middle. In test mode, the motion control circuit performs an initial test move of the reflector for the whole range and, eventually, places the reflector at the home position.Figure 3
Circuit diagram representing the experimental setup.For the reflector to follow a ramp command, a closed loop position control has been built. The hardware components consist of a PC as a P-controller, a 12-bit ADC, a 2Q-drive circuit, a current sensor, an ultrasonic transducer, a 2nd-order differentiator producing a speed signal from a position signal, and a few signal conditioning circuits including zero-span circuits and a bipolar voltage generator, respectively, and a dc power supply. In control mode, the motion follows an up-down ramp command directing the reflector to move rightward (positive direction, ramp-up command) and leftward (negative direction, ramp-down command). The reflector moves in the range of 50–350 mm in the control mode. A desired speed can be set via the keyboard of the PC functioning as a P-controller.


### 4.2.  Nonlinear Friction Model

When two solid materials translating over one another at very low velocity, a stick-slip phenomenon occurs. This phenomenon is caused by nonlinear friction characteristics also known as Stribeck’s effect [40]. An effective model describing the friction can be represented by the curve in Figure 4, and is referred to as complex friction model or Stribeck model [41–43]. When an applied force to a mass cannot overcome the static friction, which is represented by either FS+ or FS- depending on the direction of motion, the mass cannot move.Figure 4
Stribeck friction curve.This situation is referred to as stick mode, and described by the stick-friction force(4.1)Fstick(Fin)={Fs+,Fin>Fs+Fin,Fs-≤Fin≤Fs+Fs-,Fin<Fs-.
Once the applied force is greater than the static friction, the mass begins moving. After a certain period of time, the mass keeps up a higher velocity during which it encounters both Coulomb and viscous frictions. This situation is known as slip mode and described by the slip-friction force  (4.2)Fslip(v)=(FC+(FS-FC)⋅e-(v/vss))⋅sgn⁡(v)+Fv⋅v.
To cover the whole velocity range, the friction force can be expressed in a compact form as  (4.3)Ff(v,Fin)={Fstick(Fin),|v|=0Fslip(v),|v|≠0.


### 4.3.  Objective Function Implementation

During the search process to identify the friction model parameters, an objective function(J) has to be evaluated repeatedly. To calculate the objective function, it is assumed that the translational dynamic can be represented by the mass-spring model as follows:(4.4)mẍ=kspring(xi-xd)-Ff(v,Fin)+Fex,
in which the parameters FS, FC, FV, vss, and kspring are to be identified. Below is the procedural list for objective function calculation.Step 1.
Calculate an average displacementxi=(∑j=150xtest(j))/50.For ramping-up motion, calculate an approximated forceFmotor=k̂(xi-xd)≈3.5(xi-xd).For ramping-down motion, calculate an approximated forceFmotor=k̂(xi-xd)≈2.8(xi-xd).An approximated forceFmotor=k̂(xi-xd)≈2.8(xi-xd).Step 2.
If(Fmotor≥Ffm) then (Ff_motor=Ffm).
If(Fmotor≤-Ffm) then (Ff_motor=-Ffm).
If(-Ffm<Fmotor<Ffm) then (Ff_motor=Fmotor).Step 3.
CalculateFm_motor(v)=Kkt(Jm(dv/dt)+Dmv).
If(Fm_motor>30N) then (Fm_motor=30N).
If(Fm_motor<-30N) then (Fm_motor=-30N).Step 4.
Calculate the following forces:externally applied force—Fex=Fmotor-Ff_motor(Fmotor)-Fm_motor(v),spring force—Fsp=kspring(xi-xd),internally applied force—Fin=Fex+Fsp,stick friction force—if(Fin>FS) then (Fstick=FS), if (Fin<-FS) then (Fstick=-FS), if (-FS≤Fin≤FS) then (Fstick=Fin), and slip friction force—Fslip(v)=(FC+(FS-FC)·e-(v/vss))·sgn(v)+Fv·v.Step 5.
Calculate velocity and displacement of the mass:
P=∫[Fin-Ff(v,Fin)]dt.
If(-dp<P<dp) then (v=0) otherwise (v=P/m).
xd=∫vdt.Step 6.
Calculate the objective function:(4.5)J=∑i=1n(xtest-xd)2n.Step 7.
Return to main search.


### 4.4.  Algorithm Implementation

Regarding this identification problem, the mass (m) is known, m=10.90 kg. There are 5 parameters to be searched, that is, FS, FC, FV, vss, and kspring, respectively. The termination criterion is either J<4.5 orcountmax=1,000. The procedural list below presents the implemented algorithm for this identification problem.Step 1.
Initialization: search parameters:{p=5, S=30, Nc=20, NS=4,  α=1×103, dattract=0.1,  wattract=0.2, hrepellant=0.1, wrepellant=0.1, R=0.15, N=40, countmax=1000, BT=5 and n_re_back= 5},   search spaces: {FS=[100–180], FC=[40–80], FV=[0.4–1.0], vss=[1–7], and kspring=[0.1–1.5]}.Step 2.
Randomly assign real values to the parameters to be searched forS sets. Calculate the corresponding objective functions. Select the solution set having the best objective function, and store it in the variable θi.Step 3.
Calculate the objective functions,J(i,j), with Jcc taken into account according to (2.1). Assign Jlast=J(i,j).Step 4.
Random the value ofΔ(i) in [-1,1]. Use (2.2) to calculate C(i,j). Calculate the next parameters, θi(j+1), according to (2.3). Calculate the objective functions J(i,j+1).Step 5.
Evaluate the objective functions: if (J(i,j+1)≤Jlast) then (Jlast=J(i,j+1)), otherwise Jlast remains unchanged. Update J(i,j+1) by using Δ(i) until iteration count = NS.Step 6.
Repeat Steps3 to 5 for Nc times.Step 7.
Evaluate the objective functions,J. Assign best_θ = minimum value of J just found. Assign the current best solutions as the initial solutions, S0, and their corresponding objective functions as the initial J0 values.Step 8.
In the neighborhood ofS0 with the search radius R, create randomly N sets of solutions and store them in the set S1(r). Calculate the objective functions for all solutions according to the procedures described in Section 4.3.Step 9.
Based on the objective functions, do minimum sorting for the solutions inS1(r). Assign best_neighbor1 = solutions with minimum objective functions and their objective functions = J1.Step 10.
If (J1<J0) then (store S0 in the 2nd–6th columns of TL, and store J0 in the 7th column of TL), otherwise (store S1 and J1 in the TL).Step 11 (backtracking mechanism).
If the frequency of solution cycling occurrence is equal to BT, do minimum sorting for the previous solutions stored in the TL, retrieve the 5th backward solution set, and assign it as the initial solution set for the next search move.Step 12.
If (J<2 or count=countmax) then (terminate the search, exit and render the best solutions).Step 13 (Adaptive search radius mechanism).
If (best_error <15) then (R=0.0375).
If (best_error <8) then (R=0.0095).
If (best_error < 3) then (R=0.0025).Step 14.
Go to Step8 until computing expires.


### 4.5.  Results and Discussions

#### 4.5.1. Identification

Due to the strong nonlinearity in friction force, it is necessary to identify two sets of model parameters corresponding to rightward and leftward motions. Referring to Figure5, the illustrated graphs correspond to the rightward motion, that is, ramp-up command of 5 mm/s, that uses the data in the range of 112–295 mm for identification. The convergence curve in Figure 5(a) indicates that the search terminated by countmax=1000. The cost of the returned results is J=5.3822. The obtained parameters are as follows: {FS=144.5463 N, FC=47.8514 N, FV=0.9583Ns/mm, vss=1.0964 mm/s, kspring=0.96798 N/mm}. The experimental data and the model plots for displacement and force exerted by motor are illustrated in Figures 5(b) and 5(c), respectively. Good agreement between the experiment and the model can be observed.Identification results of ramp-up command at 5 mm/s—(a) convergence curve, (b) displacement, and (c) force exerted by motor. (Note: positions in the range of 112–295 mm).
(a)(b)(c)For the leftward motion, that is, ramp-down command of −5 mm/s, the graphical displays of identification results are shown in Figure6. The data used for identification are in the range of 325–127 mm. As indicated by the convergence curve in Figure 6(a), the search terminated at the 528th iteration and returned the solutions with the cost J=4.2114.The obtained parameters are as follows: {FS=-152.2804 N, FC=-40.4153N, FV=-0.9757 Ns/mm, vss=-3.21475 mm/s, kspring=0.55384 N/mm}. The experimental data and the model plots in Figures 6(b) and 6(c) show a good agreement.Identification results of ramp-down command at −5 mm/s—(a) convergence curve, (b) displacement, and (c) force exerted by motor. (Note: positions in the range of 325–127 mm).
(a)(b)(c)


#### 4.5.2. Validation

Model validation was conducted for both directions of motion. Figure7 illustrates the experimental data and the model plots for the rightward direction covering two ranges, that is, 44–112 mm and 295–352 mm. Figures 7(a) and 7(b) display the plots of the displacement and the force exerted by motor for 44–112 mm range. Similarly, the results for 295–352 mm range are shown in Figures 7(c) and 7(d). For the leftward direction covering 352–325 mm and 127–68 mm ranges, similar graphical displays are illustrated in Figures 8(a) and 8(b). Very good agreement among the practical and the theoretical results can be observed.Validation results of ramp-up command—(a) displacement (44–112 mm), (b) force exerted by motor (44–112 mm), (c) displacement (295–352 mm), and (d) force exerted by motor (295–352 mm).
(a)(b)(c)(d)Validation results of ramp-down command—(a) displacement (352–325-mm), (b) force exerted by motor (352–325 mm), (c) displacement (127–68 mm), and (d) force exerted by motor (127–68 mm).
(a)(b)(c)(d)Furthermore, the friction curves based on model plots are shown against the experimental data in Figure9. Very good agreement between the two can be observed. Therefore, the identified models are very good representations of the nonlinear friction forces.Figure 9
Plots of friction force curves (ramp command of ±5 mm/s).


## 4.1.  Experimental Setup

A closed loop position control system is a necessary test bed for monitoring stick-slip phenomenon. The diagram in Figure3 represents the experimental setup. The linear slide bed is the controlled plant consisting of a dc motor, a threaded rod, a reflector, and an ultrasonic transducer (UC3000-UIE2). The effective moving range of the reflector is 0–400 mm with the home position at the middle. In test mode, the motion control circuit performs an initial test move of the reflector for the whole range and, eventually, places the reflector at the home position.Figure 3
Circuit diagram representing the experimental setup.For the reflector to follow a ramp command, a closed loop position control has been built. The hardware components consist of a PC as a P-controller, a 12-bit ADC, a 2Q-drive circuit, a current sensor, an ultrasonic transducer, a 2nd-order differentiator producing a speed signal from a position signal, and a few signal conditioning circuits including zero-span circuits and a bipolar voltage generator, respectively, and a dc power supply. In control mode, the motion follows an up-down ramp command directing the reflector to move rightward (positive direction, ramp-up command) and leftward (negative direction, ramp-down command). The reflector moves in the range of 50–350 mm in the control mode. A desired speed can be set via the keyboard of the PC functioning as a P-controller.


## 4.2.  Nonlinear Friction Model

When two solid materials translating over one another at very low velocity, a stick-slip phenomenon occurs. This phenomenon is caused by nonlinear friction characteristics also known as Stribeck’s effect [40]. An effective model describing the friction can be represented by the curve in Figure 4, and is referred to as complex friction model or Stribeck model [41–43]. When an applied force to a mass cannot overcome the static friction, which is represented by either FS+ or FS- depending on the direction of motion, the mass cannot move.Figure 4
Stribeck friction curve.This situation is referred to as stick mode, and described by the stick-friction force(4.1)Fstick(Fin)={Fs+,Fin>Fs+Fin,Fs-≤Fin≤Fs+Fs-,Fin<Fs-.
Once the applied force is greater than the static friction, the mass begins moving. After a certain period of time, the mass keeps up a higher velocity during which it encounters both Coulomb and viscous frictions. This situation is known as slip mode and described by the slip-friction force  (4.2)Fslip(v)=(FC+(FS-FC)⋅e-(v/vss))⋅sgn⁡(v)+Fv⋅v.
To cover the whole velocity range, the friction force can be expressed in a compact form as  (4.3)Ff(v,Fin)={Fstick(Fin),|v|=0Fslip(v),|v|≠0.


## 4.3.  Objective Function Implementation

During the search process to identify the friction model parameters, an objective function(J) has to be evaluated repeatedly. To calculate the objective function, it is assumed that the translational dynamic can be represented by the mass-spring model as follows:(4.4)mẍ=kspring(xi-xd)-Ff(v,Fin)+Fex,
in which the parameters FS, FC, FV, vss, and kspring are to be identified. Below is the procedural list for objective function calculation.Step 1.
Calculate an average displacementxi=(∑j=150xtest(j))/50.For ramping-up motion, calculate an approximated forceFmotor=k̂(xi-xd)≈3.5(xi-xd).For ramping-down motion, calculate an approximated forceFmotor=k̂(xi-xd)≈2.8(xi-xd).An approximated forceFmotor=k̂(xi-xd)≈2.8(xi-xd).Step 2.
If(Fmotor≥Ffm) then (Ff_motor=Ffm).
If(Fmotor≤-Ffm) then (Ff_motor=-Ffm).
If(-Ffm<Fmotor<Ffm) then (Ff_motor=Fmotor).Step 3.
CalculateFm_motor(v)=Kkt(Jm(dv/dt)+Dmv).
If(Fm_motor>30N) then (Fm_motor=30N).
If(Fm_motor<-30N) then (Fm_motor=-30N).Step 4.
Calculate the following forces:externally applied force—Fex=Fmotor-Ff_motor(Fmotor)-Fm_motor(v),spring force—Fsp=kspring(xi-xd),internally applied force—Fin=Fex+Fsp,stick friction force—if(Fin>FS) then (Fstick=FS), if (Fin<-FS) then (Fstick=-FS), if (-FS≤Fin≤FS) then (Fstick=Fin), and slip friction force—Fslip(v)=(FC+(FS-FC)·e-(v/vss))·sgn(v)+Fv·v.Step 5.
Calculate velocity and displacement of the mass:
P=∫[Fin-Ff(v,Fin)]dt.
If(-dp<P<dp) then (v=0) otherwise (v=P/m).
xd=∫vdt.Step 6.
Calculate the objective function:(4.5)J=∑i=1n(xtest-xd)2n.Step 7.
Return to main search.


## 4.4.  Algorithm Implementation

Regarding this identification problem, the mass (m) is known, m=10.90 kg. There are 5 parameters to be searched, that is, FS, FC, FV, vss, and kspring, respectively. The termination criterion is either J<4.5 orcountmax=1,000. The procedural list below presents the implemented algorithm for this identification problem.Step 1.
Initialization: search parameters:{p=5, S=30, Nc=20, NS=4,  α=1×103, dattract=0.1,  wattract=0.2, hrepellant=0.1, wrepellant=0.1, R=0.15, N=40, countmax=1000, BT=5 and n_re_back= 5},   search spaces: {FS=[100–180], FC=[40–80], FV=[0.4–1.0], vss=[1–7], and kspring=[0.1–1.5]}.Step 2.
Randomly assign real values to the parameters to be searched forS sets. Calculate the corresponding objective functions. Select the solution set having the best objective function, and store it in the variable θi.Step 3.
Calculate the objective functions,J(i,j), with Jcc taken into account according to (2.1). Assign Jlast=J(i,j).Step 4.
Random the value ofΔ(i) in [-1,1]. Use (2.2) to calculate C(i,j). Calculate the next parameters, θi(j+1), according to (2.3). Calculate the objective functions J(i,j+1).Step 5.
Evaluate the objective functions: if (J(i,j+1)≤Jlast) then (Jlast=J(i,j+1)), otherwise Jlast remains unchanged. Update J(i,j+1) by using Δ(i) until iteration count = NS.Step 6.
Repeat Steps3 to 5 for Nc times.Step 7.
Evaluate the objective functions,J. Assign best_θ = minimum value of J just found. Assign the current best solutions as the initial solutions, S0, and their corresponding objective functions as the initial J0 values.Step 8.
In the neighborhood ofS0 with the search radius R, create randomly N sets of solutions and store them in the set S1(r). Calculate the objective functions for all solutions according to the procedures described in Section 4.3.Step 9.
Based on the objective functions, do minimum sorting for the solutions inS1(r). Assign best_neighbor1 = solutions with minimum objective functions and their objective functions = J1.Step 10.
If (J1<J0) then (store S0 in the 2nd–6th columns of TL, and store J0 in the 7th column of TL), otherwise (store S1 and J1 in the TL).Step 11 (backtracking mechanism).
If the frequency of solution cycling occurrence is equal to BT, do minimum sorting for the previous solutions stored in the TL, retrieve the 5th backward solution set, and assign it as the initial solution set for the next search move.Step 12.
If (J<2 or count=countmax) then (terminate the search, exit and render the best solutions).Step 13 (Adaptive search radius mechanism).
If (best_error <15) then (R=0.0375).
If (best_error <8) then (R=0.0095).
If (best_error < 3) then (R=0.0025).Step 14.
Go to Step8 until computing expires.


## 4.5.  Results and Discussions

### 4.5.1. Identification

Due to the strong nonlinearity in friction force, it is necessary to identify two sets of model parameters corresponding to rightward and leftward motions. Referring to Figure5, the illustrated graphs correspond to the rightward motion, that is, ramp-up command of 5 mm/s, that uses the data in the range of 112–295 mm for identification. The convergence curve in Figure 5(a) indicates that the search terminated by countmax=1000. The cost of the returned results is J=5.3822. The obtained parameters are as follows: {FS=144.5463 N, FC=47.8514 N, FV=0.9583Ns/mm, vss=1.0964 mm/s, kspring=0.96798 N/mm}. The experimental data and the model plots for displacement and force exerted by motor are illustrated in Figures 5(b) and 5(c), respectively. Good agreement between the experiment and the model can be observed.Identification results of ramp-up command at 5 mm/s—(a) convergence curve, (b) displacement, and (c) force exerted by motor. (Note: positions in the range of 112–295 mm).
(a)(b)(c)For the leftward motion, that is, ramp-down command of −5 mm/s, the graphical displays of identification results are shown in Figure6. The data used for identification are in the range of 325–127 mm. As indicated by the convergence curve in Figure 6(a), the search terminated at the 528th iteration and returned the solutions with the cost J=4.2114.The obtained parameters are as follows: {FS=-152.2804 N, FC=-40.4153N, FV=-0.9757 Ns/mm, vss=-3.21475 mm/s, kspring=0.55384 N/mm}. The experimental data and the model plots in Figures 6(b) and 6(c) show a good agreement.Identification results of ramp-down command at −5 mm/s—(a) convergence curve, (b) displacement, and (c) force exerted by motor. (Note: positions in the range of 325–127 mm).
(a)(b)(c)


### 4.5.2. Validation

Model validation was conducted for both directions of motion. Figure7 illustrates the experimental data and the model plots for the rightward direction covering two ranges, that is, 44–112 mm and 295–352 mm. Figures 7(a) and 7(b) display the plots of the displacement and the force exerted by motor for 44–112 mm range. Similarly, the results for 295–352 mm range are shown in Figures 7(c) and 7(d). For the leftward direction covering 352–325 mm and 127–68 mm ranges, similar graphical displays are illustrated in Figures 8(a) and 8(b). Very good agreement among the practical and the theoretical results can be observed.Validation results of ramp-up command—(a) displacement (44–112 mm), (b) force exerted by motor (44–112 mm), (c) displacement (295–352 mm), and (d) force exerted by motor (295–352 mm).
(a)(b)(c)(d)Validation results of ramp-down command—(a) displacement (352–325-mm), (b) force exerted by motor (352–325 mm), (c) displacement (127–68 mm), and (d) force exerted by motor (127–68 mm).
(a)(b)(c)(d)Furthermore, the friction curves based on model plots are shown against the experimental data in Figure9. Very good agreement between the two can be observed. Therefore, the identified models are very good representations of the nonlinear friction forces.Figure 9
Plots of friction force curves (ramp command of ±5 mm/s).


## 4.5.1. Identification

Due to the strong nonlinearity in friction force, it is necessary to identify two sets of model parameters corresponding to rightward and leftward motions. Referring to Figure5, the illustrated graphs correspond to the rightward motion, that is, ramp-up command of 5 mm/s, that uses the data in the range of 112–295 mm for identification. The convergence curve in Figure 5(a) indicates that the search terminated by countmax=1000. The cost of the returned results is J=5.3822. The obtained parameters are as follows: {FS=144.5463 N, FC=47.8514 N, FV=0.9583Ns/mm, vss=1.0964 mm/s, kspring=0.96798 N/mm}. The experimental data and the model plots for displacement and force exerted by motor are illustrated in Figures 5(b) and 5(c), respectively. Good agreement between the experiment and the model can be observed.Identification results of ramp-up command at 5 mm/s—(a) convergence curve, (b) displacement, and (c) force exerted by motor. (Note: positions in the range of 112–295 mm).
(a)(b)(c)For the leftward motion, that is, ramp-down command of −5 mm/s, the graphical displays of identification results are shown in Figure6. The data used for identification are in the range of 325–127 mm. As indicated by the convergence curve in Figure 6(a), the search terminated at the 528th iteration and returned the solutions with the cost J=4.2114.The obtained parameters are as follows: {FS=-152.2804 N, FC=-40.4153N, FV=-0.9757 Ns/mm, vss=-3.21475 mm/s, kspring=0.55384 N/mm}. The experimental data and the model plots in Figures 6(b) and 6(c) show a good agreement.Identification results of ramp-down command at −5 mm/s—(a) convergence curve, (b) displacement, and (c) force exerted by motor. (Note: positions in the range of 325–127 mm).
(a)(b)(c)


## 4.5.2. Validation

Model validation was conducted for both directions of motion. Figure7 illustrates the experimental data and the model plots for the rightward direction covering two ranges, that is, 44–112 mm and 295–352 mm. Figures 7(a) and 7(b) display the plots of the displacement and the force exerted by motor for 44–112 mm range. Similarly, the results for 295–352 mm range are shown in Figures 7(c) and 7(d). For the leftward direction covering 352–325 mm and 127–68 mm ranges, similar graphical displays are illustrated in Figures 8(a) and 8(b). Very good agreement among the practical and the theoretical results can be observed.Validation results of ramp-up command—(a) displacement (44–112 mm), (b) force exerted by motor (44–112 mm), (c) displacement (295–352 mm), and (d) force exerted by motor (295–352 mm).
(a)(b)(c)(d)Validation results of ramp-down command—(a) displacement (352–325-mm), (b) force exerted by motor (352–325 mm), (c) displacement (127–68 mm), and (d) force exerted by motor (127–68 mm).
(a)(b)(c)(d)Furthermore, the friction curves based on model plots are shown against the experimental data in Figure9. Very good agreement between the two can be observed. Therefore, the identified models are very good representations of the nonlinear friction forces.Figure 9
Plots of friction force curves (ramp command of ±5 mm/s).


## 5.  Conclusions

This paper has proposed new metaheuristics denoted as bacterial foraging-tabu search (BTS), which are formed from the adaptive bacterial foraging optimization algorithm (ABFO) and the adaptive tabu search (ATS). The paper has elaborated the search performance assessment among the ABFO, ATS, GA, and BTS. The proposed BTS algorithms provide superior search performances as the presentation appears in Section3. The algorithms have been applied to identify 5 parameters of the Stribeck friction model. An experimental bed of a closed-loop position control of a linear slide bed was constructed at the laboratory. The system setup is described in Section 4. Several test runs of ramp command following control were conducted for the slide bed to follow ±5 mm/s commands such that the slide bed pronouncedly exhibited stick-slip. The experimental data were split into 2 groups for identification and validation purposes. Section 4 also elaborates important issues of objective function and algorithm implementations as well as identification results. As a result of model validation, very satisfactory model parameters have been identified by the proposed metaheuristics.



---

*Source: 238563-2012-08-13.xml*