Path: FormationFlying/LP
% 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 --------------------------------------------------------------------------
Orbit: RHSOrbit/LinOrb SC: BasicOrbit/OrbRate Common: CommonData/SwooshWatermark Common: Control/C2DZOH Common: General/CellToMat Common: General/DispWithTitle Common: General/MatToCell Common: General/Watermark Common: Graphics/NewFig Common: Graphics/Plot2D Common: Graphics/PltStyle Math: Analysis/Simplex Math: Analysis/Simplex2 Math: Linear/InvP Math: Linear/Mag
Back to the FormationFlying Module page