Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

ACS6116 Advanced Control: Assignment

Spring 2021–22

Assignment weighting

25% of the total mark for ACS6116

Assignment released

Monday 14th March 2022 (Week 6)

Assignment due

23:59 on Sunday 10th April 2021 (end Week 1 of the Easter vacation)

Penalties for late submission

Late submissions will incur the usual penalties of a 5% reduction in the mark for ev-  ery working day (or part thereof) that the assignment is late and a mark of zero for  submission more than 5 working days late. For more information see https://students. sheffield.ac.uk/assessment/results/submission#If-you-submit-your-work-late.

Feedback

This will include the overall mark, individual component marks and comments on performance on the assignment. The attached assessment criteria (at the back of this document) provides a guide to what areas the feedback will be provided on. Note that marks may be subject to change as a result of unfair means.

Unfair means

The assignment should be completed individually. You should not work together to complete the assignment—it must be wholly your own work. References must be provided to any other work that is used as part of this assignment. Any suspicions of the use of unfair means will be investigated and may lead to penalties. See https: //www.sheffield.ac.uk/new-students/unfair-meansfor more information.

Extenuating circumstances

If you have extenuating circumstances that cause you to be unable to submit this assignment on time or that may have affected your performance, please complete and submit an extenuating circumstances form—see https://students.sheffield.ac.uk/ extenuating-circumstancesfor information.

• If you are an ACSE student, download and complete the form athttps://students .         sheffield.ac.uk/media/221/downloadand email it to[email protected].

• If you are an IPE student, complete the online form at https://docs.google.com/             forms/d/e/1FAIpQLSdATJ6z9evTIXOw0wVbzq2Q-4zTM8xiOT6PWNV-SCuXytKr5w/viewform.

Assignment briefing

This assignment will assess your fundamental understanding of model predictive control and your ability to design MPC controllers and simulate and analyse MPC-controlled systems.

The assignment comprises an open-ended design and/or analysis exercise: you are asked to choose one of the listed topics, and tackle the described problem. Each problem includes elements of design, simulation, and analysis.

Produce a report (limit: 3 pages in the provided template) containing your answer.

In order to create a level playing field between candidates’ submissions, you are asked to prepare your submission using the document templates supplied on Blackboard. This is a 10pt, two-column format, which allows ample space for this assignment even with the 3-page limit. (Please note that no appendices are necessary and even though you may wish to include them, they will not be read!)

It is up to you how you tackle the problem and stucture your answer. However, it is suggested that you look at (i) the help below and (ii) the attached assessment criteria (at the back of this document) for guidance on what to include.

Assessment criteria

The assessment criteria for this exercise are derived from the module learning outcomes, which are:

1. Describe and explain the principles of more than one advanced control technique.

2. Analyse practical performance specifications and convert these into functional requirements on controllers.

3. Design, implement and evaluate an advanced control system against these require- ments.

4. Compare and contrast different advanced control solutions to a particular control problem or application.

5. Describe the receding-horizon principle, and hence compare and contrast LQ- optimal control and MPC.

6. Construct a constrained finite-horizon optimal control problem—including con- straint, model and cost definition—re-formulate it as an optimization problem, and recall and evaluate the analytical expression for the control law in the uncon- strained case.

7. Analyse, design, implement and simulate MPC controllers with guaranteed prop- erties, including feasibility, stability and offset-free tracking.

In particular, learning outcomes 2, 3, 6 and 7 are relevant to this assessment, and the attached assessment criteria—the marksheet that will be used to assess the assignment— are derived from these. The marksheet indicates the criteria that will be used in assessing your answer, and also the expectation for each criterion in order to achieve a mark within

the specified ranges. It is suggested that you study this marksheet before completing the assignment.

These assessment criteria are deliberately broad, in order to accommodate the four quite different topics available. Some topics may require more emphasis on certain criteria than others; however, no student will be disadvantaged by topic choice.

Please note that a 3-page limit, using the supplied template, applies to your report, and you should consider carefully how you can effectively meet the assessment criteria within this limit.

Guidance

• This assignment briefing, the module lecture slides, and the computer exercises document provide the main information that is required to complete this assign- ment. You may wish, however, to consult the literature relevant to your problem and review it in your report.

• Basic MATLAB programming is required, including the use of functions and loops; however, in tackling the assignment you may use the MPC-specific MATLAB functions (used in the computer exercises) available on the Blackboard page for ACS6116, plus any code you have developed to answer the computer exercises.

• The non-assessed computer exercises are good preparation for this assignment. However, the computer exercises were structured, whereas this assignment is open-ended: you need to decide what is the most appropriate approach to solve this assignment, and also how to present your results.

• Regarding the report, you are recommended to consult the attached assessment criteria for guidance on what to include and to what level of detail. In particular, the assessment criteria suggest that your report might need to include, among other things,

 Details of the optimal control problem / MPC formulation you used, includ- ing the correct identification and implementation of constraints.

 A description and explanation of how the controller was designed and tuned in order to meet the specification, including the selection of all parameters, with correct explanations and justifications.

 Clear reporting and discussion of results (including clear, labelled plots), and critical evaluation of the controller. (Think about more than just, for example, “Did my controller meet the spec.?” — what are the strengths and weaknesses of your solution? What could be improved?)

 Some analysis, evaluation and/or qualification of stability and feasibility — does your design come with stability and feasibility guarantees? If so, what are these, and how are they achieved? What else can you say or show?

This is not an exhaustive list, and what you should include will vary depending on the topic you choose. However, a suggested outline for any report is

1. Abstract

2. Introduction

3. Problem statement

4. Design

5. Results

6. Analysis and discussion

7. Conclusion

This might not be the ideal structure for your report, however, and you may wish to combine or change some of these sections, depending on the topic you choose and the progress you make.

You do not need to include the code that you write, but you may do so (e.g. snippets of code) if you think it adds particular value to your report.

Please note that, in order to achieve the very highest marks, you will need to go beyond simply implementing the methods that you have learned in the lectures and practised in the lab. Surprise me.

• If you do not manage to achieve a working controller or simulation, simplify things, get something simpler working, and build systematically towards a comprehensive solution. In fact, I advise in all cases to start tackling the problem without constraints, in order that you can get something working without having to wrestle with infeasibility and instability issues (which often arise from incorrect implementation of constraints).

• Should you need clarification or have questions on any part of the assignment then please just ask! (Talk to me in classes, post to the discussion board, or email me at [email protected]).


 

Topic 1: Rocket landing control

The SpaceX company achieved the first successful propulsive vertical landing of an orbital-class rocket stage in December 20151. The rocket in question, Falcon 9, is equipped with Merlin 1D rocket engines, capable of vectored thrust, and grid fins which deploy from the stage-1 fuselage following separation; these actuators allow sufficient control- lability of the rocket to permit a safe vertical landing. From a technical point of view, the successful landings were also enabled by theoretical advances in how the kind of nonlinear optimal control problem associated with safe rocket landing can be modelled and solved2.

A simplified model of the rocket landing problem—assuming that nose-up” stabi- lization is handled separately—views the rocket as a point mass, m, with position r  =  rx     ry     rz |   T  R3  and velocity v  =  vx     vy     vz |   T  R3. The coordinates (x, y, z) T R3 are defined with z measured vertically upwards from ground (so z = 0 is sea level) and so that (x, y)is the lateral plane parallel to ground. The net thrust vector emerging from the engine is f = fx     fy     (fz | mg|—where the z component is explicitly accounting for gravity—which causes acceleration of the mass according to the (discretized) dynamics

 = ┐ -  f,

where I is the 3 k 3 identity matrix, 0 is the 3 k 3 matrix of zeros, and T is the sampling time, which you may assume to be 0.5 s.

The aim is to steer the rocket from an initial position r(0)and velocity v(0)to the target ground position rt  = 0 at rest (vt  = 0). This should be done safely and at minimum fuel cost; that is, a number of constraints should be met during the mission:

The engines are capable of exerting a thrust satisfying:

 limits on vertical thrust: 0 上 fz/m 上 12 N kg|1 .

 limits on lateral thrust:

|fx | 上 fz tan 9    and    |fy | 上 fz tan 9

where 9 = 10 degrees is the maximum angle for thrust vectoring.

• The vertical speed shall not exceed 15 m s|1 in descent.

• The lateral speeds, |vx | and |vy |, shall not exceed 20 m s|1 .

• In order to avoid premature ground collision, the positional trajectory shall respect a glide-slope constraint

|rx |     and    |ry | 上

where o is the glide-slope angle, and is 30 degrees.


Your task is to design, implement and tune an MPC controller for this system in order to achieve safe landing from initial altitudes up to 500 m and initial lateral distances up to 600 m from the target. You should investigate the feasibility of the mission for a range of different initial positions and also non-zero initial velocities, representing the real situation of the rocket already having downward and lateral speed at the commencement of landing control. You might wish to consider that, although it is desired to minimize fuel, the landing should complete in finite (as opposed to infinite) time.

[25 marks]


 

Topic 2: Satellite orbital correction

Consider the problem of a keeping a satellite close to a nominal target orbit. Supposing the satellite has strayed from the target orbit, it is desired, using on-board thrusters, to steer the satellite back on to an on-orbit trajectory within a reasonable timeframe, and keep it there, all while minimizing fuel consumption.

Assuming the desired orbit is Keplerian and circular, and the distances between the satellite and its target orbit are small compared with the geometry of the orbit, this problem can be modelled via a system of linear time-invariant equations (the Hill or Hill–Clohessy–Wiltshire equations):

 =  ''''''   |o(2)                             20 '''''' ''''''''''''  ''''''      ''''''x/y/z/!!,


where n0  = 2/T0 is the angular frequency of the target orbit (of period T0). In this equation, (rx, ry, rz)are the distances between the satellite and a target point on the desired orbit (the origin), expressed in a local vertical, local horizontal (LVLH) frame:

• the x-axis (sometimes called V-bar) is in the direction of the orbital velocity vector of the target orbit;

• the y-axis (sometimes called H-bar) is in the opposite direction to the angular momentum vector of the target orbit;

• the z-axis (sometimes called R-bar) is in the radial direction from target point on the orbit to the centre of the planet it is orbiting.

•  X(t)= (rx(t), ry(t), rz(t))= (0, 0, 0)means the satellite is located exactly on the target point of the desired orbit at time t.

The satellite’s motion can be changed by firing the thrusters to induce an acceleration (fx/m, fy/m, fz/m), where m is the mass of the satellite.

You are to consider the scenario where a satellite of mass m = 300 kg has a circular target orbit of T0   = 123 minutes. The satellite is equipped with a redundant array of thrusters, allowing a maximum acceleration of 0.01 m s|1 in each direction (x, y or z) independently. Starting from an initial non-zero state of up to 10 m away (in any direction) from the target orbit position, it is desired to steer the satellite on to orbit while at all times keeping it within a ‘box’ of 20 m side.

Design, implement and investigate an MPC solution to this problem. For the predic- tion model, use the impulsive discretization

X(k +1)= !(A) X(k)+ Act!!B u(k)

A                            B

where the sampling period t = T0/100. For simulation purposes, you may assume that this model is also the real plant. (That is, you do not need to simulate the continuous- time system controlled by the discrete-time controller, but just the discretized system controlled by the discrete-time controller.)


 

Consider carefully how to select the design parameters of your controller, including any terminal conditions.

As a final test of your design, measure and report the total AV used—an indication of fuel consumption—during a simulation started at

X(0)=  |5   0   |3   0   0   0

i.e., so that the satellite is initially ‘behind’ and ‘beneath’ the target point. The total AV is given by

o

AV = 8lu(k)l1     where    lul1  := |ux | + |uy | + |uz |.

=0

Ideally, one wants to minimize this quantity while achieving the objective of steering the satellite on, or close, to target. How do different design choices affect performance with respect to this criterion?

[25 marks]


 

Topic 3: State constraints and stability

In a seminal 1993 paper by Kenneth Muske and James Rawlings3, it was shown that the following system

x(k 1= x(k - ┐0(1) u(k

y(k= |2/3   1 x(k)

is difficult to stabilize in the presence of a simple constraint on the output y(k) y(k)上 1.

(Note: this is an upper bound on y but there is no lower bound.)

Your task is to conduct a rigorous investigation into the stability of this system, considering that the desired tuning parameters for the MPC controller are Q = I, R = 1 and N = 5. A problematic initial state in this setting is

x(04   3| .

A non-exhaustive list of suggestions for what your investigation could include:

 An explanation or analysis of why the system is difficult to stabilize.

• Whether the system can be stabilized by tuning Q, R and N, without using stabi- lizing terminal ingredients (i.e., a stabilizing P and/or terminal set).

• Whether the use of stabilizing terminal ingredients can stabilize the system and, if so, what those terminal ingredients should be.

• How sensitive the problem is to the magnitude of the output constraint; for example, if the limit on y(k)is increased to 1 +e, what value of e is needed to ease the instability problem.

• Whether the addition of input constraints eases or exacerbates the stability and feasibility problems.

• Exploration of the region of feasibility (set of states for which the problem is feasible) and region of attraction (set of states from which the system may be stabilized).

[25 marks]

 

Topic 4: Soft constraints

As seen in the lectures, the presence of state or output constraints on a system raises signficant challenges for the operation of an MPC controller; unless special care is taken, an MPC controller can take the system state into a region of the state-space where the optimal control problem has no solution. At such a point, the controller fails and the system may violate the state constraints and lose stability.

On the other hand, it was argued in Lecture 1 that state or output constraints often represent soft requirements on the system: they are constraints that are undesirable but possible to violate. (Compare with input constraints, which often arise from physical limitations on actuators and may be impossible to violate).

Your task is to design and investigate an MPC formulation that allows soft state or output constraints. For example, if a system is subject to a constraint on x T Rn

Pxx  qx

then your MPC controller will model this as

Pxx  qx +e

where e e 0 is an additional variable (scalar or vector) in the MPC optimization problem; the idea is that e (and any other variables you introduce) are penalized in the objective function, such that constraint satisfaction is promoted (by preferring to keep e = 0 where possible) but constraint violation is allowed (by permitting e > 0 so that the limits on x are relaxed). For example, via the stage cost

x| Qx u| Ru e| Se c|e.

Some relevant questions to consider:

• What additional variables, objective function terms, and constraints need to be introduced, and how should they be incorporated into the standard MPC objective function and constraints? How should S and c be chosen/tuned?

• How does the performance of the controlled system compare with that of a con- ventional hard-constrained setup? Does this controller fix the problems caused by state constraints seen in the examples given in lectures (particularly Lecture 11)? Are there any drawbacks?

• What properties does the soft-constrained controller have? Can stability guaran- tees be attained?

[25 marks]