# Optimal Control of Linear-Affine System w/ Constraints

Tags:
1. Apr 16, 2015

### manciong

Although this could fall under engineering, I thought the Diff Eq forum was the most relevant. Let me know if I should post elsewhere.

I have a fairly basic system for which I'm trying to find a minimum-time optimal control policy. I know there are many ways to do this numerically, but since I'm trying to solve it very rapidly, I'm wondering if there is an analytical solution.

My system is a double integrator in 3-dimensions with the control inputs being acceleration. This system is affine because there is a constant forcing term (gravity - however this acceleration does not appear in the control accelerations). The control constraints are simply that the norm of the acceleration components our bounded above (i.e. there is a maximum total acceleration due to a maximum thrust of the system).

The cost function is just final time. I want to control my system from one state (A) to another (B) in a minimum amount of time while obeying my max acceleration constraint.

It looks very similar to a linear-quadratic regulator, which has an analytical solution. However, it is not a LQR because of the affine term and control constraints.

For those who do not study controls, this may be too esoteric. However for control engineers, there may be a commonly known answer of which I am unaware.

Thanks!

2. Apr 17, 2015

### Hesch

I assume you can calculate the theoretically maximum acceleration = 100%.

1) Design a classic digital controller ( not state-space ) as minimum-timed as you like.
2) Set the input = 200%.
3) Run the first "forward" calculation. Say the legal output maximum range of the controller = 2047, and that the actual output at some sample will be 4103.
The surplus = 4103 - 2047 = 2056. Now you "back-calculate" this surplus to the input, and subtract it from the input-value.
4) Resume the first forward calculation with the corrected input. Now the output and rough calculations will not "overflow", which means that your integrators will not "wind-up". You can now do the second calculation (shifting values, preparing next sample, etc.) without any problems (wind-up, overshoot), and the output from the controller will be ≈ 2047 all the way under control. This correction of the input will not take place when intended speed has been reached.

Last edited: Apr 17, 2015