# Evolving the Controller of Automated Steering of a Car in Slippery Road Conditions

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Materials and Methods

#### 2.1. The Car in the Open Racing Car Simulator

#### 2.2. The Track

#### 2.3. Servo Control as a PD Controller

_{1}e + k

_{2}θ

_{1}and k

_{2}are calculated as follows:

_{1}= Steering_Factor⁄Steering lock angle

_{2}= 1⁄Steering lock angle.

_{1}and k

_{2}affects the tradeoff between the main requirements of steering [25]: smoothness, fast response, and stability in the way the car returns to the center of the lane if it occasionally deviates from it. The servo control model is intended to steer the car in such a way that results in minimization of the mean value of the absolute deviation (the error) e of the geometrical center of the car from the center of the lane during a given trial.

_{v}de⁄dt = k

_{v}e’

_{1}e + k

_{2}(k

_{v}e’) = k

_{1}e + k

^{*}

_{2}e’.

_{1}and k

^{*}

_{2}in Section 3.

#### 2.4. Extending the Servo-Control Model: A PID Steering Controller

_{1}e + k

^{*}

_{2}e’ + k

_{3}∫ e dt.

#### 2.5. Evolving the Steering Controller via GP

- Creative design: GP could evolve the controller’s SAF of an arbitrary structure and complexity. Moreover, GP does not require an incorporation of any a priori, domain-specific expert knowledge. This is especially important when such knowledge is mostly empirical, rather than analytical.
- Emergent intelligence: Rather than being introduced by the human expert, the task-specific knowledge of how to steer the car on slippery roads might emerge solely from the interaction of the problem solver (the GP) and the steering evaluation (trial) runs of the car [30].
- Human competiveness: GP, as an automated process that does not follow the human top-down problem-solving logic, opens the possibility of creating a solution that would be better than one (i.e., based on the PD and PID servo control models) designed by a human [26].

#### 2.5.1. Genetic Representation, Function Set, and Terminal Set of the GP

#### 2.5.2. Fitness Evaluation

_{CR}. The critical speed is the speed at which the car theoretically could not negotiate the corners of the test track with the given coefficient of friction without losing control, running off the track, and eventually crashing. This speed is approximated as the speed at which the centrifugal forces during steady-state cornering F

_{C}= mV

_{CR}

^{2}/R (where m is the mass of the car, and R is the radius of the turn) become theoretically equal to the friction force F

_{F}= μ m g (where μ is the overall coefficient of friction and g is the gravitational acceleration). At the traveling speed of 0.85 of V

_{CR}, the car inherently suffers from intermittent instability due to the yaw inertia both in the entry and exit of corners and due to the dynamics of lateral weight transfer in corners [3,14] that we intend to counter by the evolved SAF. The car, traveling at V

_{CR}(and above), is theoretically uncontrollable. Consequently, there would be no existing SAF that results in a steerable car. Similarly, a car traveling considerably slower than V

_{CR}does not suffer from any instability and its steering could be accomplished adequately by the canonical servo-control models. The speeds of the car during the trials on the track featuring different friction coefficients are shown in Table 3.

_{T}under the trajectory of the car around the center of the lane (as an integral of the absolute value of the lateral deviation e) and (ii) the average of the lateral velocity V

_{L_AVR}(as an integral of the lateral acceleration a) of the car:

_{T}+ C

_{V}V

_{L_AVR}.

_{T}under the trajectory (Figure 2, Case 1) or a too-high lateral velocity V

_{L_AVR}(Figure 2, Case 2). We verified experimentally that the value 0.5 of the weight coefficient C

_{V}in Equation (7) results in an optimal tradeoff between the values of the two additive components of the fitness function.

#### 2.5.3. Genetic Operations

Algorithm 1. The main algorithmic steps of the GP algorithm. |

Step 1: Creating the initial population of random SAFs; |

Step 2: Evaluating the population; |

Step 3: While Not (Termination criteria) Do Steps 4, 5, 6, and 7; |

Step 4: Selecting the mating pool of SAFs of the next generation; |

Step 5: Crossing over random pairs of SAFs of the mating pool; |

Step 6: Mutating randomly the newly created offspring SAFs; |

Step 7: Evaluating the population; |

## 3. Experimental Results

_{1}and k

^{*}

_{2}(resulting in a size of the search space equal to 25

^{2}= 625). For the PID, we borrowed the optimal values of the two parameters of the PD controller, and used only 10 discrete values in the vicinity of these values and 25 values for the third parameter k

_{3}(i.e., the size of the search space is 2500). The best fitness of the three proposed controllers—PD, PID, and GP-RMEP—and the optimal values of the coefficients of the PD and PID controllers are shown in Table 5.

_{CR}) in different road conditions. As shown in Figure 8, all GP-RMEP controllers, evolved for a particular slippery condition (e.g., for µ equal to 0.3, 0.4, 0.5, or 0.6, respectively) feature a reasonably small degradation (if any) when tested in different (unforeseen during the evolution) road conditions.

## 4. Discussion

## 5. Conclusions

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Holland, J. Adaption in Natural and Artificial Systems; The University of Michigan Press: Ann Arbor, MI, USA, 1975. [Google Scholar]
- Stone, P.; Brooks, R.; Brynjolfsson, E.; Calo, R.; Etzioni, O.; Hager, G.; Hirschberg, J.; Kalyanakrishnan, S.; Kamar, E.; Kraus, S.; et al. Artificial Intelligence and Life in 2030; One Hundred Year Study on Artificial Intelligence: Report of the 2015–2016 Study Panel; Stanford University: Stanford, CA, USA, 2016; p. 52. [Google Scholar]
- Mousel, T.; Treis, A. Hands off Detection Requirements for UN R79 Regulated Lane Keeping Assis. IEE S.A., Luxembourg. Available online: https://www.unece.org/fileadmin/DAM/tra (accessed on 3 April 2018).
- Ross, P. IBM Program would Help Robocars Decide Whether to Cede Control. IEEE Spectrum. 2017. Available online: https://spectrum.ieee.org/car online (accessed on 25 January 2018).
- Zeeb, K.; Buchner, A.; Schrauf, M. Is take-over Time All that Matters? The Impact of Visual-cognitive Load on Driver Take-over Quality after Conditionally Automated Driving. Accid. Anal. Prev.
**2016**, 92, 230–239. [Google Scholar] [CrossRef] [PubMed] - State of California. Department of Motor Vehicles. Report of Traffic Collision Involving an Autonomous Vehicle (OL 316). 2016. Available online: https://www.dmv.ca.gov/portal/dmv/detail/vr/autonomous/autonomousveh_ol316+ (accessed on 27 January 2018).
- Lin, P. Who’s at Fault in Uber’s Fatal Collision? IEEE Spectrum. 2018. Available online: https://spectrum.ieee.org/car (accessed on 28 January 2018).
- Lin, P. Tesla Autopilot Crash: Why We Should Worry about a Single Death. IEEE Spectrum. Available online: https://spectrum.ieee.org/cars-that-think/transportation/self-driving/tesla-autopilot-crash-why-we-should-worry-about-a-single-death (accessed on 11 July 2016).
- Paden, B.; Čáp, M.; Yong, S.Z.; Yershov, D.; Frazzoli, E. A Survey of Motion Planning and Control Techniques for Self-driving Urban Vehicles. IEEE Trans. Intell. Veh.
**2016**, 1, 33–55. [Google Scholar] [CrossRef] - Pendleton, S.D.; Andersen, H.; Du, X.; Shen, X.; Meghjani, M.; Eng, Y.H.; Rus, D.; Ang, M.H. Perception, Planning, Control, and Coordination for Autonomous Vehicles. Machines
**2017**, 5, 6. [Google Scholar] [CrossRef] - Huang, J.; Tanev, I.; Shimohara, K. Evolving a General Electronic Stability Program for Car Simulated in TORCS. In Proceedings of the 2015 IEEE Conference on Computational Intelligence Games (CIG 2015), Tainan, Taiwan, 31 August–2 September 2015; pp. 446–453. [Google Scholar]
- Koza, J.R. Genetic programming as a means for programming computers by natural selection. Stat. Comput.
**1994**, 4, 87–112. [Google Scholar] [CrossRef] - Gillespie, T.D. Fundamentals of Vehicle Dynamics; Society of Automotive Engineers: Warrendale, PA, USA, 1992. [Google Scholar]
- TORCS—The Open Racing Car Simulator. Available online: http://sourceforge.net/projects/torcs/ (accessed on 5 May 2018).
- Wymann, B.; Dimitrakakis, C.; Sumner, A.; Espié, E.; Guionneau, C. TORCS, the Open Racing Car Simulator, v1.3.5. 2013. Available online: http://www.torcs.org (accessed on 1 May 2018).
- Sallab, A.E.; Abdou, M.; Perot, E.; Yogamani, S. Deep Reinforcement Learning Framework for Autonomous Driving. Electron. Imaging
**2017**, 2017, 70–76. [Google Scholar] [CrossRef] - Chi, L.; Mu, Y. Deep Steering: Learning End-to-End Driving Model from Spatial and Temporal Visual Cues. arXiv, 2017; arXiv:1708.03798. [Google Scholar]
- Falcone, P.; Borrelli, F.; Asgari, J.; Tseng, H.E.; Hrovat, D. Predictive active steering control for autonomous vehicle systems. IEEE Trans. Control Syst. Technol.
**2007**, 15, 566–580. [Google Scholar] [CrossRef] - Carvalho, A.; Gao, Y.; Gray, A.; Tseng, H.E.; Borrelli, F. Predictive Control of an Autonomous Ground Vehicle Using an Iterative Linearization Approach. In Proceedings of the 2013 16th International IEEE Conference on Intelligent Transportation Systems-(ITSC), The Hague, The Netherlands, 6–9 October 2013; pp. 2335–2340. [Google Scholar]
- Gao, Y.; Lin, T.; Borrelli, F.; Tseng, E.; Hrovat, D. Predictive Control of Autonomous Ground Vehicles with Obstacle Avoidance on Slippery Roads. In Proceedings of the ASME 2010 Dynamic Systems and Control Conference, Cambridge, MA, USA, 12–15 September 2010; American Society of Mechanical Engineers: New York, NY, USA, 2010; pp. 265–272. [Google Scholar]
- Ledin, A. Hardware-in-the-Loop Simulation. Embed. Syst. Program.
**1999**, 12, 42–60. [Google Scholar] - Liebemann, E.K.; Meder, K.; Schuh, J.; Nenninger, G. Safety and performance enhancement: The Bosch electronic stability control (ESP). In Proceedings of the 2004 International Congress on Transportation Electronics, Detroit, MI, USA, 18–20 October 2004. [Google Scholar]
- Nikulin, V.; Podusenko, A.; Tanev, I.; Shimohara, K. Regression-based Supervised Learning of Autosteering of a Road Car Featuring a Delayed Steering Response. Int. J. Data Sci. Anal.
**2018**. [Google Scholar] [CrossRef] - Aly, M. Real Time Detection of Lane Markers in Urban Streets. IEEE Intell. Veh. Symp.
**2008**, 7–12. [Google Scholar] [CrossRef] - Melder, N.; Tomlinson, S. Racing Vehicle Control Systems using PID Controllers. In Game AI Pro; pp. 491–500. Available online: http://www.gameaipro.com/GameAIPro/GameAIPro_Chapter40_Racing_Vehicle_Control_Systems_using_PID_Controllers.pdf (accessed on 21 July 2018).
- Koza, J.R.; Keane, M.A.; Yu, J.; Bennett, F.H., III. Automatic Creation of Human-Competitive Programs and Controllers by Means of Genetic Programming. Genet. Program. Evol. Mach.
**2000**, 1, 121–164. [Google Scholar] [CrossRef] - Wang, W. The New Design Strategy on PID Controllers. In PID Controller Design Approaches-Theory, Tuning and Application to Frontier Areas; InTech: London, UK, 2012. [Google Scholar][Green Version]
- Marinoa, R.; Scalzia, S.; Nettob, M. Nested PID steering control for lane keeping in autonomous vehicles. Control Eng. Pract.
**2011**, 19, 1459–1467. [Google Scholar] [CrossRef] - Koza, J.R. Genetic Programming 2: Automatic Discovery of Reusable Programs; MIT Press: Cambridge, MA, USA, 1994. [Google Scholar]
- Angeline, P.J.; Kinnear, K.E., Jr. Genetic Programming and Emergent Intelligence. In Advances in Genetic Programming; MIT Press: Cambridge, MA, USA, 1994; pp. 75–98. [Google Scholar]
- Coello, C.; Lamont, G.B.; van Veldhuizen, D. Evolutionary Algorithms for Solving Multi-Objective Problems; Springer: New York, NY, USA, 2007. [Google Scholar]
- Kinnear, K. Generality and Difficulty in Genetic Programming: Evolving a Sort. Proceeding of the Fifth International Conference on Genetic Algorithms, San Mateo, CA, USA, 17–21 July 1993; Morgan Kaufmann: Burlington, MA, USA, 1993. [Google Scholar]
- Nolfi, S.; Floreano, D. Evolutionary Robotics: The Biology, Intelligence, and Technology of Self-Organizing Machines; MIT Press: Cambridge, MA, USA, 2000. [Google Scholar]
- Beal, C.E. Independent Wheel Effects in Real Time Estimation of Tire-Road Friction Coefficient from Steering Torque. In Proceedings of the 8th IFAC Symposium on Advances in Automotive Control (AAC), Norrköping, Sweden, 20–23 June 2016; pp. 319–326. [Google Scholar]

**Figure 4.**Servo-control model of steering as a proportional-derivative (PD) steering controller. The steering angle function (SAF), defining the steering angle δ, is implemented as the sum of the proportional (P) and derivative (D) terms of the error: the deviation e from the center of the lane.

**Figure 6.**The three main cases of the trajectory of the car during the fitness trial: the preferred trajectory (Case 3) of the car would feature both a quick (i.e., with a narrow area under the trajectory) and oscillation-free (with a low average lateral velocity) return to the center of the lane. Case 1 and Case 2 illustrate a too-slow and a too-quick (oscillating) return to the center of the line, respectively.

**Figure 7.**Fitness convergence characteristics for 20 independent runs of GP evolving the SAF of the GP-RMEP controller for friction coefficients µ = 0.3 (

**a**), µ = 0.4 (

**b**), µ = 0.5 (

**c**), µ = 0.6 (

**d**), µ = 0.8 (

**e**), and µ = 1.0 (

**f**), respectively. The bold curves correspond to the mean, while the envelope shows the minimum and maximum values in each generation. The best fitness of the PD and PID controllers (obtained via a complete enumeration of the values of their parameters) are shown as horizontal lines.

**Figure 8.**Generality of the best-evolved steering functions manifested by a reasonable change in their respective fitness value when tested on different (unforeseen during the evolution) friction coefficients. The fitness of the steering functions evolved for a particular friction coefficient is indicated by larger circular markers.

**Figure 9.**The dynamics of the steering angle of the car steered by the sample best-evolved SAF shown in Equation (8) in snowy (µ = 0.5) road conditions.

**Figure 10.**The dynamics of the deviation from the center of the lane of the car steered by the sample best-evolved SAF shown in Equation (8) in snowy (µ = 0.5) road conditions.

Feature | Value |
---|---|

Model | Coupé Leicht Kompakt Deutsche Tourenwagen Meisterschaft (CLK DTM) |

Length, m | 4.76 |

Width, m | 1.96 |

Height, m | 1.17 |

Mass, kg | 1050 |

Front/rear weight repartition | 0.5/0.5 |

Height of center of gravity, m | 0.25 |

Coefficient of friction of tires | 1.0 |

Drivetrain | Front engine, rear wheel drive |

Steering delay, s | 0.1 |

Steering rate limit, °/s | 30 |

Feature | Value |
---|---|

Total length, m | 300 |

Lane width, m | 20 |

Length of sector 1, m | 90 |

Radius of turn 1, R_{1} m | 50 |

Length of sector 2, m | 210 |

Radius of turn 2, R_{2}, m | 50 |

**Table 3.**Speed of the car during the fitness trial on the test track with different friction coefficients.

#Road Condition | Friction of Tires, µ_{t} | Friction of Road Surface, µ_{s} | Overall Friction, µ = µ_{t} × µ_{s} | Critical Speed, V_{CR}, m/s | Speed of the Car (0.85 V_{CR}), m/s |
---|---|---|---|---|---|

1 | 1.0 | 1 (dry) | 1 | 22.13 | 18.82 |

2 | 1.0 | 0.8 (dry) | 0.8 | 19.79 | 16.8 |

3 | 1.0 | 0.6 (rainy) | 0.6 | 17.15 | 14.5 |

4 | 1.0 | 0.5 (rainy) | 0.5 | 15.65 | 13.3 |

5 | 1.0 | 0.4 (snowy) | 0.4 | 14 | 11.9 |

6 | 1.0 | 0.3 (icy) | 0.3 | 12.12 | 10.3 |

Parameter | Value |
---|---|

Evolved individuals | SAF δ |

Genetic representation | Parse tree |

Set of non-terminals (functions) | {+, -, *, /} |

Set of terminals | Variables pertinent to the state of the car, and their derivatives: lateral deviation (e, e’, ∫e), speed (V), steering angle (δ), lateral acceleration (a, a’) angular deviation (θ, θ’), and a random constant (C) |

Population size | 200 individuals |

Selection | Binary tournament, ratio 0.1 |

Elitism | Best 4 individuals |

Crossover | Single point, random, ratio 0.9 |

Mutation | Single point, random, ratio 0.05 |

Fitness value | Sum of (i) the area under the trajectory of the car around the center of the lane and (ii) the average of its lateral velocity. |

Termination criteria | (#Generations >200) or (no improvement of fitness during 16 consecutive generations) |

#Road Condition | Overall Friction µ | Controller | ||||
---|---|---|---|---|---|---|

PD, δ = k_{1} e + k^{*}_{2} e’ | PID, δ = k_{1} e + k^{*}_{2} e’ + k_{3} ∫ e dt | GP-RMEP, an Arbitrary SAF δ (e, e’, ∫e, V, δ, a, a’, θ, θ’, C) | ||||

Values of k_{1} and k^{*}_{2} | Fitness Value | Values of k_{1}, k^{*}_{2} and k_{3} | Fitness Value | Fitness Value | ||

1 | 1 | 0.1145, 3.378 | 622 | 0.3079, 1.677, 0.067 | 511 | 498 |

2 | 0.8 | 0.271, 1.677 | 636 | 0.2472, 2.244, 0.012 | 526 | 545 |

3 | 0.6 | 0.2472, 1.866 | 661 | 0.229, 2.055, 0.0321 | 546 | 430 |

4 | 0.5 | 0.1864, 2.244 | 687 | 0.113, 2.433, 0.048 | 584 | 373 |

5 | 0.4 | 0.1135, 3.378 | 765 | 0.150, 3.189, 0.0013 | 702 | 314 |

6 | 0.3 | 0.3322, 2.055 | 1693 | 0.1257, 4.512, 0.0415 | 1212 | 374 |

© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Alekseeva, N.; Tanev, I.; Shimohara, K. Evolving the Controller of Automated Steering of a Car in Slippery Road Conditions. *Algorithms* **2018**, *11*, 108.
https://doi.org/10.3390/a11070108

**AMA Style**

Alekseeva N, Tanev I, Shimohara K. Evolving the Controller of Automated Steering of a Car in Slippery Road Conditions. *Algorithms*. 2018; 11(7):108.
https://doi.org/10.3390/a11070108

**Chicago/Turabian Style**

Alekseeva, Natalia, Ivan Tanev, and Katsunori Shimohara. 2018. "Evolving the Controller of Automated Steering of a Car in Slippery Road Conditions" *Algorithms* 11, no. 7: 108.
https://doi.org/10.3390/a11070108