IterativeImpulsiveManeuver:

Path: FormationFlying/Control

% Iterative impulsive maneuver delta-V
 Computes the delta-v's required to implement a formation flying maneuver for a
 single spacecraft. The desired relative state is iteratively recomputed,
 bringing the desired state closer to the current state, until the largest
 single delta-v in the maneuver is under the maximum limit.

 A fixed thrust actuator is assumed when converting delta-v to burn duration.
 Algorithms do not account for gravitational perturbations or disturbances.

--------------------------------------------------------------------------
   Usage:
   [maneuver, foundSoln, resetGoals] = IterativeImpulsiveManeuver( state, goals, window, parameters );
--------------------------------------------------------------------------

   ------
   Inputs
   ------
   state             (.)  Data structure of the orbit state with following fields
                          - el           Measured mean orbital elements of reference, Alfriend format: [a,i,W,w,e,M]
                          - xH           Measured relative state in Hills frame
                          - mass         Spacecraft mass                              [kg]
                          - tM           Timetag of measurement                       [sec]

   goals             (.)  Geometric goals describing desired relative periodic trajectory 


   window            (.)  Data structure of commanded time window with following fields
                          - startTime       Earliest possible start time                    [sec since 1970]
                          - nOrbMin         Minimum number of orbits maneuver may last      [orbits]
                          - nOrbMax         Maximum number of orbits maneuver may last      [orbits]
                          - nManeuvers      Number of maneuvers to search over
                          - timeWeightExp   Time-weighting exponent (greater than 0)

   parameters        (.)  Data structure of planning parameters with following fields
                          - fNom         Nominal Thruster force                             [kN]
                          - dTMax        Maximum allowable burn duration                    [sec]
                          - horizon      Minimum time between planning and first burn       [sec]
                          - tDelayOOP    Minimum time between final IP burn and OOP burn    [sec]
                          - nSPOCoarse   Number of samples per orbit for LP (coarse computation)
                          - nSPOFine     Number of samples per orbit for LP (fine computation)
                          - maxDeltaV    Maximum delta-v

   -------
   Outputs
   -------
   maneuver          (.)  Maneuver data structure with following fields
                          - t0           Earliest burn start time
                          - tF           Latest burn finish time
                          - nBurns       Number of burns required
                          + burnData[]   Array of burn data structures with following fields
                             - t   Burn start time   [sec since 1970]
                             - dT  Burn duration     [sec]
                             - dV  Delta-V           [km/s]
                             - uX  unit x Hills direction 
                             - uY  unit y Hills direction
                             - uZ  unit z Hills direction
   foundSoln         (1)  Flag indicating whether a solution was found or not
   resetGoals        (1)  Flag indicating whether the goals were reset or not
   
--------------------------------------------------------------------------

Children:

AC: ACData/ACTConstants
FormationFlying: Control/ImpulsiveLPManeuver
FormationFlying: Control/ImpulsiveManeuver
FormationFlying: Control/InPlane
FormationFlying: Control/OptimalInPlaneDeltaV
FormationFlying: Control/OutOfPlane
FormationFlying: Coord/CirclePhase
FormationFlying: Coord/EllipsePhase
FormationFlying: Coord/GetHillsMats
FormationFlying: Coord/InitializeFormation
FormationFlying: Coord/IsCircGeom
FormationFlying: Coord/IsEccGeom
FormationFlying: Coord/RotateState
FormationFlying: DataStructures/BurnData_Structure
FormationFlying: DataStructures/EccGeometry_Structure
FormationFlying: DataStructures/Geometry_Structure
FormationFlying: DataStructures/Maneuver_Structure
FormationFlying: DataStructures/PlanningParameters_Structure
FormationFlying: DataStructures/Window_Structure
FormationFlying: Dynamics/DiscreteHills
FormationFlying: Dynamics/HillsEqns
FormationFlying: EccDynamics/FFEccDH
FormationFlying: EccDynamics/FFEccDiscreteHills
FormationFlying: EccDynamics/FFEccGoals
FormationFlying: EccDynamics/FFEccIntConst
FormationFlying: EccDynamics/FFEccLawdensEqns
FormationFlying: EccDynamics/FFEccLinOrb
FormationFlying: EccDynamics/FFEccProp
FormationFlying: EccDynamics/FFEccRMat
FormationFlying: EccDynamics/FFEccXExt
FormationFlying: EccDynamics/FFEccYExt
FormationFlying: EccDynamics/FFEccZExt
EccDynamics: Derivatives/FFEccDDX
EccDynamics: Derivatives/FFEccDDY
EccDynamics: Derivatives/FFEccDDZ
EccDynamics: Derivatives/FFEccDX
EccDynamics: Derivatives/FFEccDY
EccDynamics: Derivatives/FFEccDZ
FormationFlying: Guidance/PCGoals
FormationFlying: LP/LPCircular
FormationFlying: LP/LPCircularTimeWeight
FormationFlying: LP/LPEccentric
FormationFlying: LP/LPEccentricGVE
FormationFlying: LP/LPEccentricTimeWeight
FormationFlying: Transformation/DeltaElem2Hills
FormationFlying: Transformation/FFEccGoals2Hills
FormationFlying: Transformation/FFEccHills2DeltaElem
FormationFlying: Transformation/FFEccHills2Goals
FormationFlying: Transformation/GeometryCirc2Ecc
FormationFlying: Transformation/GeometryEcc2Circ
FormationFlying: Transformation/Goals2DeltaElem
FormationFlying: Transformation/Goals2Hills
FormationFlying: Transformation/Hills2DeltaElem
FormationFlying: Transformation/Hills2ECI
FormationFlying: Transformation/Hills2Goals
FormationFlying: Utility/AccelVector2ManeuverStruct
FormationFlying: Utility/FFEccTargetTrueAnom
FormationFlying: Utility/ManeuverStruct2AccelVector
FormationFlying: Utility/MeanAnom2TrueLat
FormationFlying: Utility/NOrbVector
FormationFlying: Utility/Nu2TimeDomain
FormationFlying: Utility/NuDot
FormationFlying: Utility/Time2NuDomain
FormationFlying: Utility/TimeUntilTheta
FormationFlying: Visual/CostVis
FormationFlying: Visual/FFEccAnalyzeShape
FormationFlying: Visual/HillsFramePlot
Orbit: OrbitCoord/Alfriend2El
Orbit: OrbitCoord/El2Alfriend
Orbit: OrbitCoord/OrbElemDiff
Orbit: OrbitCoord/SLR
Orbit: OrbitMechanics/GVEDynamics
Orbit: RHSOrbit/LinOrb
SC: BasicOrbit/CP2I
SC: BasicOrbit/E2M
SC: BasicOrbit/E2Nu
SC: BasicOrbit/El2RV
SC: BasicOrbit/M2E
SC: BasicOrbit/M2EApp
SC: BasicOrbit/M2EEl
SC: BasicOrbit/M2EHy
SC: BasicOrbit/M2Nu
SC: BasicOrbit/M2NuAbs
SC: BasicOrbit/M2NuPb
SC: BasicOrbit/Nu2E
SC: BasicOrbit/Nu2M
SC: BasicOrbit/Nu2MAbs
SC: BasicOrbit/OrbRate
SC: BasicOrbit/Period
SC: BasicOrbit/RV2El
SC: SCData/sCTConstants
Common: CommonData/Constants
Common: CommonData/SwooshWatermark
Common: CommonData/xSplashSmall
Common: Control/C2DZOH
Common: Database/Constant
Common: General/CellToMat
Common: General/DeBlankLT
Common: General/DeleteCell
Common: General/DispWithTitle
Common: General/MatToCell
Common: General/StringMatch
Common: General/Watermark
Common: Graphics/AddView
Common: Graphics/AddZoom
Common: Graphics/Mesh2
Common: Graphics/NewFig
Common: Graphics/Plot2D
Common: Graphics/PltStyle
Common: Graphics/XLabelS
Common: Graphics/YLabelS
Common: Graphics/ZLabelS
Math: Analysis/Simplex
Math: Analysis/Simplex2
Math: Linear/Cross
Math: Linear/Dot
Math: Linear/DupVect
Math: Linear/InvP
Math: Linear/Mag
Math: Linear/Unit
Math: Solvers/NewtRaph
Math: Trigonometry/UnwrapPhase
Math: Trigonometry/WrapPhase

Back to the FormationFlying Module page