Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Optimal Control of Linear-Affine System w/ Constraints

  1. Apr 16, 2015 #1
    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.

  2. jcsd
  3. Apr 17, 2015 #2


    User Avatar
    Gold Member

    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
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook