THE UNIVERSITY OF QUEENSLAND
Bachelor of Engineering Thesis
Development of Multiple-Phase Trajectory Planner Using Legendre-Gauss-Radau Collocation Methods
Student Name: Inderpreet METLA
Course Code: MECH4500
Supervisor: Dr Michael Kearney
Submission Date: 25 October 2018
A thesis submitted in partial fulfilment of the requirements of the Bachelor of Engineering degree in Mechanical Engineering
UQ Engineering
Faculty of Engineering, Architecture and Information Technology
Abstract
Trajectory planning is a technique used to solve optimisation problems for constrained dynamic systems. Advances in personal computers have enabled trajectory planning techniques to become prevalent within many branches of engineering, such as the aerospace and robotics industries. However, practical problems within these industries can be complex and intricate. In particular, such complex problems can exhibit significant changes in the dynamics, constraints and performance measures as systems evolve over time. A technique used to handle these problems is known as “multiple-phase” trajectory planning. In this technique, the time domain is partitioned into connected phases such that each phase can be formulated with a distinct set of parameters and equations. At present, there are no open-source packages available for array-oriented programming languages that can solve multiple-phase trajectory planning problems. As a result, a scope has been identified to develop such a software. Within this thesis, a MATLAB implementation of a multiple-phase trajectory planning software called the Pseudospectral OPTimiser (풫풪풫풯) is developed. The software uses a variable-order Legendre-Gauss-Radau (LGR) orthogonal collocation technique to transcribe the continuous time trajectory planning problem into a sparse nonlinear program (NLP). In this technique, solution trajectories are approximated using orthogonal polynomials with the system dynamics and constraints collocated at LGR quadrature points. The resulting NLP subproblem is solved by employing an interior-point optimisation method. A grid refinement algorithm has been implemented that can determine the degree of the approximating polynomial, as well as the number of grid intervals required to achieve a specified level of accuracy. The software efficiently calculates the first and second order derivatives required by the NLP solver by exploiting the well-defined Jacobian and Hessian sparsity patterns of the LGR pseudospectral method. The performance of the software has been evaluated on five benchmark problems from literature and then compared against a variety of open-source and commercial packages. The problems range in complexity from single-phase two-point boundary problems to multiple- phase problems with numerous constraints and non-convex performance measures. The results show that 풫풪풫풯 has superior performance compared to many open-source counterparts in terms of computation time, optimality and solution accuracy. 풫풪풫풯 has also demonstrated comparable performance against commercial solvers. The outcomes of this thesis prove that 풫풪풫풯 is a highly competitive open-source software that can solve a broad range of optimal control problems, and will be a valuable addition to the existing literature.
iii
Acknowledgements
First and foremost, I would like to thank my supervisor, Dr Michael Kearney, for providing me guidance, support and direction throughout this thesis. This has been the most stimulating work I have done throughout my degree, and I would like to thank Michael for allowing me to change the direction of my thesis so I could study this topic. I would also like to thank Michael for taking an active interest in me outside of my studies and always being willing to chat about other aspects of life.
I would like to acknowledge and thank Sholto Forbes-Spyratos for allowing me to borrow his GPOPS-II license so I could benchmark my solver. I would also like to thank Matthew Kelly from Cornell University for providing a stranger some assistance and answering my questions.
To my friends who have supported and pushed me all throughout my degree, I thank you. I wish you all the best of luck in your next chapter.
I would like to thank my family for always providing me their love and support towards my decisions and goals throughout my studies.
Lastly, to Emily, who has provided me love and unwavering support throughout this year, I thank you.
iv
Table of Contents
Abstract ...... iii
List of Figures ...... ix
List of Tables ...... xi
1 Introduction ...... 1
1.1 Project Motivation and Purpose ...... 1
1.2 Project Goals and Intended Outcomes ...... 3 1.3 Project Scope ...... 4 1.3.1 In Scope ...... 4 1.3.2 Out of Scope ...... 4 1.4 Thesis Outline ...... 5
2 Literature Review ...... 6
2.1 Optimal Control History and Solution Approach ...... 6 2.2 Methods to Formulate Optimal Control Problems ...... 8 2.3 General Formulation of a Trajectory Optimisation Problem ...... 9 2.4 Survey of Numerical Methods to Solve Trajectory Optimisation Problems . . 10
2.4.1 Dynamic Programming ...... 10 2.4.2 Differential Dynamic Programming ...... 10 2.4.3 Indirect and Direct Transcription Methods ...... 11
2.4.4 Direct Single Shooting ...... 12
2.4.5 Direct Multiple Shooting ...... 12
2.4.6 Direct Collocation and Local Orthogonal Collocation ...... 13
2.4.7 Pseudospectral Collocation (Global Orthogonal Collocation) ...... 14 2.5 Nonlinear Programming ...... 17
v
2.5.1 Formal Definitions ...... 17
2.5.2 Algorithms to Solve NLPs ...... 18
2.5.2.1 Sequential Quadratic Programming ...... 18
2.5.2.2 Interior Point Methods ...... 19
2.6 Derivative Calculation Methods ...... 20 2.6.1 Finite-Differencing ...... 21 2.6.2 Complex-Step Differentiation ...... 21 2.6.3 Automatic Differentiation ...... 22
2.7 Grid Refinement ...... 22
2.8 Techniques to Scale Optimal Control Problems ...... 25
2.9 Available Trajectory Optimisation Software ...... 26
2.10 Chapter Summary ...... 27
3 Required Components for Software and Design
Decisions ...... 28
3.1 Overview of Planned Components ...... 28 3.1.1 Influence on Software Structure from Trajectory Optimisation
Problem ...... 28
3.1.2 Choice of Numerical Transcription Method ...... 29
3.1.3 Choice of NLP Solver ...... 31
3.1.4 Choice of Derivative Calculation Methods ...... 32
3.1.5 Problem Scaling Approach ...... 33
3.1.6 Choice of Grid Refinement Approach ...... 33
4 Mathematical Development of Method ...... 34
4.1 Formulation of General Multiple-Phase Trajectory Optimisation Problem . . 34 4.2 Formulation of Multiple-Interval, Multiple-Phase Radau Pseudospectral
Method ...... 35
4.2.1 Multiple-Interval Formulation of Objective and Constraints ...... 35
4.2.2 State Approximation using the RPM ...... 39
4.2.3 Control Approximation using the RPM ...... 40
vi
4.2.4 Total Nonlinear Problem Discretisation using the RPM ...... 40 4.3 Conversion of Radau Pseudospectral Method Formulation into NLP
Algorithms ...... 42 4.3.1 Construction of Decision Variable Vector and its Upper and Lower
Bounds ...... 42
4.3.2 Construction of Constraint Vector and its Upper and Lower Bounds . . 43
4.4 Chapter Summary ...... 45
5 Extensions to Software for Tractability 46
5.1 Grid Refinement Algorithm ...... 46
5.2 Exploiting Sparsity in the Radau Pseudospectral Method ...... 50
5.2.1 Sparsity Patterns of the RPM Constraint Jacobian and Lagrangian
Hessian ...... 50
5.2.2 Exploiting Sparsity to Compute Derivatives ...... 54
6 Software Architecture ...... 57
7 Usage of Software and Constructing a Problem ...... 59
7.1 Constructing a Problem ...... 59
7.1.1 Creating the problem.funcs Struct ...... 62
7.1.2 Syntax for Dynamics, Path Objective and Path Constraint Functions . . 62
7.1.3 Syntax for Boundary Objective and Boundary Constraint Functions . . 63
7.1.4 Creating the problem.bounds Struct ...... 64
7.1.5 Creating the problem.guess Struct ...... 65
7.2 Details for the Output of the Software ...... 66
8 Results: Implementation and Performance Evaluation on
Example Problems ...... 67
8.1 Overview of Example Problems ...... 67
8.2 Example 1 – Continuous Time Infinite-Horizon LQR ...... 68
8.3 Example 2 – Bryson Denham ...... 71
8.3.1 Comparison of 풫풪풫풯 and 픾ℙ핆ℙ핊 − 핀핀 ...... 71
vii
8.3.2 Comparison of 풫풪풫풯 and OptimTraj ...... 73
8.4 Example 3 – Free-Flying Robot ...... 74
8.5 Example 4 – Lee-Ramirez Bioreactor ...... 78
8.6 Example 5 – Goddard Rocket ...... 83
8.7 Chapter Summary ...... 87
9 Haul Truck Energy Management Case Study (HTEMCS) . . 88
9.1 Review of Optimal Energy Management Strategies ...... 88
9.2 General Problem Setup for the HTEMCS ...... 91
9.3 Multi-Phase Trajectory Optimisation Formulation for the HTEMCS ...... 94
9.4 Results of the HTEMCS ...... 96
10 Limitations of the Software ...... 100
11 Conclusions and Recommendations for Future Work . . . . 101
11.1 Conclusions and Summary of Outcomes ...... 101
11.2 Recommendations for Future Work ...... 103
References ...... 104
Appendix A: 퓟퓞퓟퓣 User’s Guide ...... 114
Appendix B: 퓟퓞퓟퓣 Code for Example 1 ...... 126
Appendix C: 퓟퓞퓟퓣 Code for Example 2 ...... 128
Appendix D: 퓟퓞퓟퓣 Code for Example 3 ...... 130
Appendix E: 퓟퓞퓟퓣 Code for Example 4 ...... 132
Appendix F: 퓟퓞퓟퓣 Code for Example 5 ...... 134
Appendix G: 퓟퓞퓟퓣 Code for HTEMCS ...... 137
viii
List of Figures
Figure 2.1: Optimal control problem direct transcription process ...... 7
Figure 2.2: Optimal control problem solution techniques ...... 8
Figure 2.3: Single shooting vs Multiple shooting ...... 13
Figure 2.4: Comparison between h- and p-Methods ...... 14
Figure 2.5: Location of LG, LGR and LGL points ...... 15 Figure 2.6: Flow diagram for GPM’s equivalent optimality conditions for Direct and 16
Indirect approaches ......
Figure 2.7: h- and p- methods of grid refinement ...... 23
Figure 3.1: Decision tree for choice of transcription method ...... 29 Figure 3.2: Example of a multi-interval, multi-phase problem using the RPM...... 30
Figure 4.1: Example of a two-interval formulation for the state trajectory ...... 38
Figure 5.1: Single-phase constraint Jacobian sparsity pattern for the RPM ...... 51
Figure 5.2: Multiple-phase constraint Jacobian sparsity pattern for the RPM ...... 52
Figure 5.3: Single-phase Lagrangian Hessian sparsity pattern for the RPM ...... 53
Figure 5.4: Multiple-phase Lagrangian Hessian sparsity pattern for the RPM ...... 53
Figure 6.1: Flowchart of Pseudospectral OPTimiser (풫풪풫풯) ...... 57
Figure 8.1: Comparison between the solution for the Infinite-Horizon LQR problem
from 풫풪풫풯 and the exact solution on the closed domain [-1,1] ...... 70 Figure 8.2: Comparison between the solution for the Infinite-Horizon LQR problem from 풫풪풫풯 and the exact solution on the semi-infinite time domain . . . . . 70 Figure 8.3: Comparison of solution for the Bryson-Denham problem from 풫풪풫풯 and
the exact solution ...... 72
Figure 8.4: Comparison of solution for the Bryson-Denham problem from 풫풪풫풯 and 73
OptimTraj ......
Figure 8.5: State trajectory for Free-Flying Robot problem from 풫풪풫풯 ...... 76
ix
Figure 8.6: Control trajectory for Free-Flying Robot problem from 풫풪풫풯 ...... 76 Figure 8.7: Distribution of nodes after grid refinement for the control input in the Free-
Flying Robot problem ...... 77
Figure 8.8: State solution for Lee-Ramirez Bioreactor problem obtained by 풫풪풫풯 . . . 81
Figure 8.9: Control solution for Lee-Ramirez Bioreactor problem obtained by 풫풪풫풯 . . 81
Figure 8.10: Control solution for Lee-Ramirez Bioreactor problem obtained by 풫풮풪풫풯. 82 Figure 8.11: Control solution for a single-phase formulation of the Goddard Rocket
problem ...... 84 Figure 8.12: State and control solution for the three-phase formulation of the Goddard Rocket problem ...... 86
Figure 9.1: Drive system configuration for a DEMHT with the energy recovery system
installed ...... 91
Figure 9.2: Rim-pull and dynamic brake force available at various velocities ...... 92
Figure 9.3: State solution for HTEMCS – Min Time and Min Fuel Formulation . . . . . 97
Figure 9.4: Control solution for HTEMCS – Min Time and Min Fuel Formulation . . . . 97
Figure 9.5: State solution for HTEMCS – Min Time Formulation ...... 99
Figure 9.6: Control solution for HTEMCS – Min Time Formulation ...... 99
x
List of Tables
Table 2.1: Existing software packages ...... 26
Table 3.1: Summary of a comparison of IP and SQP solvers by Mittelmann (2018) . . . 31
Table 5.1: Comparison between two approaches to compute Jacobian and Hessian
matrices ...... 55
Table 7.1: Options and default settings for problem.derivatives ...... 61
Table 7.2: Options and default settings for problem.grid ...... 61
Table 7.3: Options and default settings for problem.options ...... 61
Table 8.1: Example problems and their features ...... 67
Table 8.2: Summary of execution of 풫풪풫풯 for Infinite-Horizon LQR problem . . . . . 69
Table 8.3: Comparison of solution from 풫풪풫풯 and 픾ℙ핆ℙ핊 − 핀핀 ...... 72 Table 8.4: Comparison of solution procedure from 풫풪풫풯, 픾ℙ핆ℙ핊 − 핀핀 and 핊핆ℂ핊 for
Free-Flying Robot problem ...... 76
Table 8.5: Comparison of solution procedure from 풫풪풫풯, 풫풮풪풫풯 and PROPT for the
Lee-Ramirez Bioreactor problem ...... 80
Table 8.6: Comparison of solution from 풫풪풫풯 and 픾ℙ핆ℙ핊 − 핀핀 for the Goddard
Rocket problem ...... 85
Table 9.1: Haul route definition ...... 93
Table 9.2: Summary of solution procedure for HTEMCS ...... 96
Table 11.1: Recommendations for future work for 풫풪풫풯 ...... 103
Table A.1: Options and default settings for problem.derivatives ...... 118
Table A.2: Options and default settings for problem.grid ...... 119
Table A.3: Options and default settings for problem.options ...... 119
xi
THIS PAGE INTENTIONALLY LEFT BLANK
xii
Chapter 1 Introduction
1.1 Project Motivation and Purpose
Trajectory planning, or trajectory optimisation, refers to a class of techniques that are used within the optimisation of dynamic systems (Diehl and Gros, 2017). A dynamic system is characterised by states, which allow for the dynamic behaviour of the system to be predicted as it evolves over time, and controls, which are the inputs used to control the system. The sequence of control inputs is chosen in order to optimise some objective function, subject to any constraints on the system’s motion (Rao, 2009).
As an example of a trajectory planning problem, consider a train where the state vector consists of the position and velocity, and the control is the engine power selected by the driver. An objective could be to minimise the energy consumption as the train travels from Station A to Station B, and a potential constraint could be the time at which the train is to arrive at Station B (Diehl and Gros, 2017).
The use of numerical methods is essential in solving trajectory planning problems. Since the advent of the personal computer, optimisation problems posed as trajectory planning problems have become increasingly prevalent in many branches of engineering, such as the aerospace, robotics, manufacturing and chemical process industries (Betts, 2010). Optimal control methods can be used to solve many of these problems; however, for complex and intricate problems these methods are not straightforward to implement efficiently. Such complex problems can be categorised as having significant, or discontinuous, changes in the dynamics, constraints or objective functions as they evolve over time. These problems need to be partitioned along the time domain into connected phases when the significant changes occur. These are known as “multiple-phase” trajectory optimisation problems (Betts, 2010).
Although commercial packages are available that can handle multiple-phase problems, the availability of tractable open-source software for array-oriented programming languages, such as MATLAB, is scarce (Patterson and Rao, 2012b). This limits a user’s ability to learn the underlying mathematics and methodologies that the software packages implement. Hence, the purpose of this thesis is to create a MATLAB implementation of a multiple-phase trajectory 1
planner that simultaneously provides users an opportunity to learn the underlying methodology and, if need be, freely adapt the software to fit their needs. The source code will be made available on GitHub under the MIT License for open-source software (Open Source Initiative, 2006).
To motivate the necessity of multiple-phase solvers, consider the example of a space vehicle undergoing an aero-assisted orbital transfer from geostationary to low Earth orbit, as presented in Rao et al. (2002). During the transfer, the mass of the vehicle and the differential equations modelling the vehicle’s dynamics change significantly, as there are segments of the trajectory exposed to atmospheric conditions and other segments exposed to exoatmospheric conditions. A single-phase solver would not be able to handle such changes. However, within a multiple- phase solver, each segment of the transfer can be formulated as a distinct phase. This formulation allows for the changes in parameters and equations to be modelled.
A second contributor to the project’s motivation is a case study that has come about due to work conducted by Esfahanian (2014) and Terblanche et al. (2018) on the implementation of energy storage systems (ESS) on-board Diesel-Electric drive mining haul trucks (DEMHTs). These trucks are a parallel hybrid electric vehicle (HEV) that are currently used within the mining industry to help reduce fuel usage and emissions (Esfahanian, 2014). They can complete nearly 60 haul cycles per day and transport payloads weighing over 300 t (Liebherr, 2014). In doing so, over 1.5 ML of fuel can be consumed by a truck per year. When a typical 250 t truck, such as the Caterpillar 795F AC (Caterpillar, 2013), descends into a 100 m deep open-pit mine, it dispels approximately 245 MJ of potential energy via its resistor banks (Terblanche et al., 2018). However, these trucks can reverse the operation of their electric traction motors to function as generators and recover energy whilst braking – a concept commonly referred to as regenerative braking. This gives rise to the opportunity for an ESS to be installed that can store energy extracted by the regenerative brake. This energy can then be reinjected to provide propulsion when it is most beneficial, in order to improve fuel efficiency and productivity (Esfahanian, 2014).
The above can be transcribed into the following energy management optimal control problem:
Construct a mathematical model of a DEMHT that travels along a pre-defined haul route and then optimise the use of an ESS to minimise fuel consumption, cycle time or a combination of the two, subject to operational constraints.
2
Within this document the above problem will be referred to as the ‘Haul Truck Energy Management Case Study’ (HTEMCS). This problem can either be approached using closed- loop techniques, such as Dynamic Programming, or it can be approached using multiple-phase trajectory optimisation. Using trajectory optimisation over Dynamic Programming is appealing as the latter suffers from a concept known as the “curse of dimensionality”, causing the method to become computationally intractable as problems grow (Betts, 1998). Since the trajectory optimisation approach will require using multiple-phase techniques, and as there is a lack of open-source software available that can accommodate such techniques, the HTEMCS motivates the development of the multiple-phase trajectory planning software.
1.2 Project Goals and Intended Outcomes
The goals and intended outcomes of this thesis are defined below and will serve to direct the project.
1. Develop a software that can handle multiple-phase trajectory optimisation problems and solve these using direct or indirect transcription methods*. 2. Test and validate the program on problems with known solutions from literature and critically compare its performance against other available solvers. 3. Develop the software to be as computationally efficient as possible. 4. Use the software to solve the HTEMCS and evaluate the results.
* Transcription is the process of converting a continuous time problem into a discrete form and then solving the discrete subproblem. 3
1.3 Project Scope
At the heart of this project is the development of the multiple-phase trajectory planning solver. Although in-depth analysis of the HTEMCS is implied, the focus is heavily upon the development of the solver. As such, the scope of the project is defined as follows.
1.3.1 In Scope
Critical review of solution techniques and available software to form the requirements for the solver. Development of mathematical formulations for the general multiple-interval, multiple- phase trajectory optimisation problem* and the selected transcription technique. Development of a software in MATLAB that applies the selected transcription technique to solve multiple-interval, multiple-phase trajectory optimisation problems and solely incorporates open-source toolboxes as part of its implementation. Performance evaluation of the developed software on benchmark problems with analytical solutions, as well as problems that have been studied extensively in literature. A user’s guide detailing how the software is used (in Appendix A). Review of approaches in literature used to solve problems similar to the HTEMCS. Formulation of mathematical models representing the DEMHT and ESS. Choice of haul route characteristics for the HTEMCS. Development of operational conditions and constraints for the HTEMCS.
1.3.2 Out of Scope
Compatibility of the software with more than one programming language. The ability for the software to solve multiple-phase problems where the phases are not connected sequentially. The most general formulation of multiple-phase problems does not necessitate that phases be connected sequentially; however, a non-sequential approach adds significant complexity to the software and these types of problems are uncommon (Betts, 2010). Steering control of the vehicle in the HTEMCS. Design and selection of the ESS.
* Multiple-interval, multiple-phase refers to a problem that is modelled using one or more phases and solved on a grid containing one or more intervals. 4
1.4 Thesis Outline
The remainder of this thesis has been structured as follows.
Chapter 2 presents a comprehensive review of literature surrounding methods to solve trajectory optimisation problems and various transcription techniques. Background regarding differentiation techniques and grid refinement algorithms is also presented. Chapter 3 presents the components planned for the solver and then outlines methods and design decisions regarding the implementation of these components. Chapter 4 presents the mathematical formulation of a general continuous time multiple- phase trajectory optimisation problem. This is then extended to also include a multiple- interval formulation. Lastly, the mathematics to transcribe the resulting multiple- interval, multiple-phase formulation into a discrete nonlinear program* is outlined. Chapter 5 presents two extensions to the software that allow it to be differentiated from many other available open-source packages. The two extensions are the development of a grid refinement algorithm, as well as an efficient method to compute derivatives for the nonlinear program by exploiting Jacobian and Hessian sparsity patterns. These extensions are designed to assist with improving solution accuracy and providing computational performance benefits to the software. Chapter 6 outlines the entire architecture of the developed software with the use of a flow diagram. Chapter 7 details how problems are set-up and interfaced with the software by a user. The functions required to fully define a problem are outlined within this chapter, as is the syntax of the software. Chapter 8 presents the results of a benchmarking analysis where the software is compared against a variety of commercial and open-source solvers on five example optimal control problems from literature. Chapter 9 encompasses the formulation, solution and subsequent results and analysis of the HTEMCS. Chapter 10 describes the limitations of the developed software. Potential issues and restrictions that can arise due to certain in-built MATLAB functions are also outlined. Chapter 11 concludes the thesis and provides recommendations for future work.
* A nonlinear program is the discrete subproblem that will be solved by the software in place of the continuous time trajectory optimisation formulation. A discussion into nonlinear programming is provided in Section 2.5. 5
Chapter 2 Literature Review
Prior to outlining the development of the trajectory planning software, a review of the relevant literature is presented. This review provides a brief history of optimal control and then outlines the various techniques employed to solve problems in this field. In particular, an in-depth discussion is presented regarding the so-called direct transcription techniques. The nonlinear program (NLP) subproblem that results from direct transcription is then formally defined. Optimisation algorithms to solve NLPS are subsequently explored along with various differentiation techniques. Methods to improve solutions, such as grid refinement and problem scaling, are then presented. Lastly, a summary of currently available software to solve optimal control problems across a variety of programming languages is presented and potential voids left by these programs are identified.
2.1 Optimal Control History and Solution Algorithm
Optimal control theory builds upon the calculus of variations, which has its origins throughout the 17th, 18th and 19th centuries, deriving from work conducted by Leonard Euler, Joseph-Louis Lagrange, Adrien-Marie Legendre, Carl Gustav Jacob Jacobi, Sir William Hamilton and Karl Weierstrass (Bryson, 1996). Throughout the 20th century, further rigorous analysis was done on the subject by Richard Bellman who developed a generalised approach to the Hamilton-Jacobi theory known as Dynamic Programming (Bryson, 1996). Subsequent work was also done by the likes of Edward McShane and Lev Pontryagin (Bryson, 1996), with the latter developing the well-known Pontryagin’s Maximum Principle (PMP), (Pontryagin, 1962).
Optimal control problems involve continuous functions of system dynamics, controls and constraints. They can be regarded as being infinite-dimensional extensions of finite- dimensional NLPs, which are categorised by a finite set of variables and constraints (Betts, 2010). The term “finite-dimensional” refers to a problem where a decision variable, say 퐱, can be represented with finitely many numbers, i.e. 퐱 ∈ℝ , where 푛 ∈ℕ. Otherwise, the term “infinite-dimensional” is used (Diehl and Gros, 2017). Despite the continuous time formulation of optimal control problems, numerical techniques to solve these problems typically require Newton-based iterative methods with finitely many decision variables and constraints. This can
6
be done by transcribing the infinite-dimensional problem into a finite-dimensional approximation (Betts, 2010).
Figure 2.1 illustrates the algorithm that is carried out when solving an optimal control problem using numerical techniques, and also provides context for the primary components required within the solver. This algorithm is known as the direct transcription process (Betts, 2010).
Figure 2.1: Optimal control problem direct transcription process. The error tolerance is typically a user-specified parameter.
7
2.2 Methods to Formulate Optimal Control Problems
There are numerous ways to formulate and solve optimal control problems. These can be broken down into trajectory optimisation and policy optimisation techniques. In trajectory optimisation, the control input is formulated as a function of time and an initial state is used to initialise the problem. On the other hand, in policy optimisation the control input is formulated as a function of state and the initial state is left arbitrary (Kelly, 2016a). Within these two methods, there are a variety of techniques that can be used to solve optimal control problems. Figure 2.2 showcases the main techniques (Betts, 1998; Diehl et al., 2005; Gardi et al., 2016; Kelly, 2015; Kelly, 2016a; Kelly, 2017; Tassa et al., 2014).
Figure 2.2: Optimal control problem solution techniques. Note that direct orthogonal collocation methods only fall under the umbrella of direct transcription.
8
2.3 General Formulation of a Trajectory Optimisation
Problem
Trajectory optimisation techniques are the focus within this thesis. A single-phase trajectory optimisation problem has been stated formally in Definition 2.1 (Betts, 1998).