LPCircular:
--------------------------------------------------------------------------
Computes the thrust trajectory to go from an initial state x0
to a final state xF in the Hill's frame. Simplex is used to optimize the thrust.
Algorithm assumes a circular reference orbit and does not account for
disturbances.
A control system can be expressed in its discrete state-space form as:
X(k+1) = AX(k) + BU(k)
Y(k) = CX(k)
where X is state , U is control, Y is output
For the nth timestep, this can be rewritten as:
X(n) = A^n*X(0) + [A^(n-1)B A^(n-2)B ..... B]u
where u = [ U(0)' U(1)' ..... U(n-1)']'
For a fully controllable and observable system,
Y(n) = X(n) = A^n*X(0) + pu where p = [A^(n-1)B A^(n-2)B ... B]
error >= |Y(n) - Y(desired)| = A^n*X(0) + pu - Y(desired)
The Simplex problem (minimise cu(cost) such that au <= b) and u >= 0 can now be posed as
[-p; p]u <= [error + A^n*X(0) - Y(desired); error - A^n*X(0) + Y(desired)]
In case of an Equality Constraint with 0 error, this reduces to
[-p]u = A^n*X(0) - Y(desired)
Note: The constraintType determines whether it is an equality
technological constraint( au = b, flag: 0) or an inequality technological
constraint( au <= b, flag: 1)
u are called 'decision variables', in this case thrust vector
Since u is unrestricted in sign (u can be positive and negative),
we split u into two parts: u=up-um, where up>=0 and um>=0.
Since version 7.
--------------------------------------------------------------------------
Form:
[aC,t,exitFlag] = LPCircular(x0, xF, n, duration, dT, constraintType, maxConstraint)
--------------------------------------------------------------------------
------
Inputs
------
x0 (6,1) Initial state in Hill's frame
xF (6,1) Final state in Hill's frame
n (1) Reference orbit rate (rad/sec)
duration (1) Maneuver duration (secs)
dT (1) Thruster time step
constraintType (1) Flag with value 0 or 1
0 : Equality Constraint on the Linear program formulation
1 : Inequality Constraint on the Linear program
formulation
maxConstraint (1) Maximum constraint on u
-------
Outputs
-------
aC (3,:) Commanded acceleration in Hill's frame
t (1,:) Time vector (secs)
exitFlag 1 Feasible solution = 1, No feasible solution = 0
--------------------------------------------------------------------------
Children:
Common: Control/C2DZOH
Math: Analysis/Simplex
Orbit: RHSOrbit/LinOrb
SC: BasicOrbit/OrbRate