3. State of the Art
In this section, an overview is provided about existing work related to genetic programming (GP) for control theory, focusing on the challenge of automatic controller design and tuning. This is a research domain treated in the literature for more than 30 years, with favorable results. One of the pioneering works in this topic is [
25] where an innovative method to solve problems in computer programs was firstly presented. Back in 1990s, the authors introduced the genetic breeding of non-linear optimal control strategies for the broom balancing problem in [? ]. They considers a functions set of basic arithmetic operations, the system’s model states variables as terminals and a fitness function based on a linear approximation that replaces the hyperbolic functions by terms of the Taylor series expansion. Operative controllers were generated that outperformed classical controllers at that time for the specified plant.
More recent pioneering investigations, such as those by [
26,
27], describe the automatic controller generation applied to the vehicle field. Having as plants (i) a combination of electric motor and electronic drive and (ii) an active suspension system, it is described how it is possible to obtain valid control expressions using evolutionary algorithms. Moreover, out of these examinations it is noted that among the results, some were able to manage non-linearities, despite their linear nature. For instance, in the case of active suspension systems, results included asymptotically stable candidates, which become unstable if a large bump is encountered, thus lacking robustness. Following this line of investigation, research in [
28,
29,
30] integrated GP in the field of mobile robotics control. These studies demonstrate the ease with which custom operations can be integrated in the functions set used to create the individuals. In these cases, instead of directly obtaining a mathematical equation as regulation structure, the controller is an algorithm that combines arithmetic, trigonometric, and custom-made functions. Since the algorithm employs user-defined functions, the resulting controller can be understood by the researchers and, if necessary, transformed into a mathematical equation.
Two major trends can be discerned in the field of automatic controller generation using genetic programming. The first one involves the generation of control structures tailored to specific plants or systems. For instance, research developed in [
31] aims to simultaneously generate four controllers for a helicopter to perform hovering maneuvers; studies in [
32] describe the automated synthesis of optimal controllers using multi-objective genetic programming for a two-mass-spring system; in [
33], the objective is about the control of a turbulent jet system; while work in [
34] seeks for a control structure for a 2-dimensional version of the Goddard rocket problem. In all these studies, despite dealing with complex plants or systems, their functions sets only included basic arithmetic operators, like exponential and trigonometric operations. From classic control theory, it is hard to imagine a controller minimizing the tracking error as much as possible without the use of integral terms. Nevertheless, GP algorithms demonstrated to find an appropriate relationship among the specified functions and terminals, which was able to fulfill the control objectives.
In line with this first trend, some works can be also identified that combine elementary mathematical operations and custom-made functions to generate control programs for specific systems. In [
35], using an acrobot as plant, the automatic control generation for its minimum time swing up and balance regulation is described. This work introduces a set of logical operations into the functions set. Although the final control structure manages to accomplish the regulation objectives, the combination of logical and mathematical operations results in a long expression that can be treated as a control program instead of a control equation. Similarly, research detailed in [
36] describes the generation of controllers for high-level applications on a service robot. In this case, the set of functions considered for the evolution process is fully composed by nine custom-made functions which are unique for this system. The controllers obtained from this work are lists of actions which can be treated as a program, too. As in many analogous cases, the generated controllers outperformed the baseline alternatives.
The second major trend being highlighted is the research on the generation of control structures for generic systems or group of plants. In contrast to the previous research line, the functions set is restricted to simple mathematical operators. The choice of basic elements for the functions set is driven by the main objective of these algorithms, which is to find a suitable mathematical expression which can solve the problem and provide an idea on how to deal with similar scenarios. Research in [
37] is a good example for this trend, where authors are looking for the generation of optimal controllers for linear and non-linear plants. In this case a variant of GP, known as archived-based GP, is used as evolutionary strategy. It is characterized by the use of additional evolutionary functions such as piling, sorting, excerpting, production, and archiving. The functions set described in this work consists of the four basic arithmetic operations. Corresponding to this trend, it can also be found the work presented in [
38], using linear GP to generate controllers for non-linear dynamics with frequency crosstalk. Unlike the previous article, trigonometric operations are also included in the functions set. In [
39], a technique named Multiple Basis Function Genetic Programming (MBFGP) is proposed. The structures of program trees in MBFGP are composed of a random number of linear and/or nonlinear basis functions (terms), which are forced to be linear in parameters. The functions set used for the evolutionary process is composed by arithmetic operations.
In the previously mentioned research works, controllers for generic structures are generated using GP techniques relying on simple mathematics operations, avoiding the use of differential operations such as integrals and derivatives to obtain operative structures. However, these GP techniques compensate the lack of differential operators by increasing the length of the control expression significantly, attempting to mimic pseudo integral and derivative components. Our starting hypothesis is that differential operators are a pivotal component in an optimized control structure. Their use is expected to greatly enhance regulation performance while reducing the expression length.
This research approach aligns with the work presented in [
40]. There, second and third-order generic systems are included into the functions set of an evolutionary algorithm responsible for generating human-competitive controllers. Controllers designed with this algorithm in the Laplace domain are reported to outperform PID (proportional-derivative-integral) control structures. Another contemporary work worth mentioning is the described in [
41], where derivatives and integrals are also included in the functions set. Once again, the control structures obtained from this research show a better performance than those designed using traditional methods, such as those guidelines in [
42]. In this case, the controller is also developed in the Laplace domain.
Previous research has also used differential operators into Genetic Programming (GP) in different forms. In [? ], the evolutionary process is addressed towards the generation of control structures in the form of block diagrams operating in the Laplace domain. Similarly, research is described in [
32] about the integration of differential operators in GP-generated control structures. Although only basic arithmetic operations are used in the functions set, the authors included the Laplace operator into the terminals set. This methodology allows the generation of structures in the form of transfer functions.
As it has been described, the integration of differential operations to GP-generated control structures in the available literature always involves designing in the Laplace domain. Working in the Laplacian domain ensures the creation of structures that, in one way or another, will have integral and derivative components. Moreover, the evolutionary paradigm allows to avoid human preconceptions regarding control design that are not exploited in current approaches. However, current approaches restrict the range of possible solutions to PID-type controllers. Nevertheless, the most significant limitation of these methods is their ability to produce functional expressions that may seem viable in the Laplace domain but are impractical in the physical world due to their complexity, preventing their transformation into the time domain.
To overcome the previous limitations, this paper proposes a GP framework that operating within the second trend, that is designing and tuning generalist controllers, performs the controller generation, design and tune in the time domain while simultaneously using differential operators. Moreover, the designed controllers are obtained by minimizing a fitness function that gathers merits such as standard control performance specifications and includes additional requirements, such as robustness against unmodeled dynamics or external perturbations, as well as implementability of the solutions.
With this approach in mind, our goal is to design a GP-based evolutionary strategy capable of creating control expressions that use differential operations from the functions set rather than the terminals set, while at the same time all of the design and tuning process is completed in the time domain. Theoretically, as it will be demonstrated, operating in this manner will fully expand the group of possible combinations that the computer can present as control solution for complex plants, and importantly, all of these solution will be fully realizable.