Path: CubeSat/RelativeOrbit
% Formation flying simulation for circular orbits. *** Notes on Usage *** Once this function has run and the outputs have been created, use the "FFSimPlotter" function to plot the data. *** Inputs *** Supply the initial state of the reference (el0) and the initial relative state (dEl0), define the desired relative motion (goals), how many orbits to simulate (nOrbits), the number of simulation points per orbit (nSPO), the disturbance options (distOpt), the cross-sectional area, mass. *** Estimated Absolute and Relative States (ECI) *** The estimated absolute and relative ECI position and velocity are provided by adding noise to the true state. This emulates the data provided by a relative navigation unit. *** Estimated Relative State (Hills) *** The estimated relative position and velocity in the Hill's frame is computed via a transformation from the estimated absolute and relative ECI position and velocity. This computation is performed in the "AbsRelECI2Hills" function. *** Estimated Orbital Elements *** The estimated mean orbital elements and mean orbital element differences are computed from the estimated absolute and relative ECI position and velocity. This computation is performed in the "ECI2MeanElements" function. *** Desired Orbital Elements *** At each step in the simulation, the initial goals are used along with the current estimate of the mean orbital elements to compute the desired orbital element differences. *** Desired Relative State (Hills) *** The desired element differences are transformed to the Hill's frame, defining the desired relative position and velocity. *** Relative State Error (Hills) *** The relative position errors and relative velocity errors are computed by comparing the desired and estimated states. -------------------------------------------------------------------------- Usage: simData = FFSim( simOptions ); -------------------------------------------------------------------------- ------ Inputs ------ simOptions (.) Data structure with the following fields: - el0 (1,6) Initial reference orbital elements (Alfriend format) [a,theta,i,q1,q2,W] - dEl0 (1,6) Initial orbital element differences (Alfriend format) - goals (.) Goals data structure defining desired relative motion - nOrbits (1) Number of orbits to simulate - nSPO (1) Number of simulation points per orbit - distOpt (1,3) Disturbance options (flags) (1) solar: whether to simulate with solar pressure or not (2) drag: whether to simulate with drag or not (3) J2: whether to simulate with J2 or not - mass (1,2) Mass of reference and relative [kg] - area (1,2) Cross-sectional area of reference and relative [m^2] ------- Outputs ------- simData (.) Simulation output data structure with the following fields - time (1,:) Time vector [orbits] - rE (3,:) True ECI position of reference - vE (3,:) True ECI velocity of reference - rE_est (3,:) Estimated ECI position of reference - vE_est (3,:) Estimated ECI velocity of reference - rH (3,:) True Hills-frame relative position - vH (3,:) True Hills-frame relative velocity - rH_est (3,:) Estimated Hills-frame relative position - vH_est (3,:) Estimated Hills-frame relative velocity - rH_des (3,:) Desired Hills-frame relative position - vH_des (3,:) Desired Hills-frame relative velocity - dElMean (6,:) True mean element differences - dElMean_est (6,:) Estimated mean element differences - dElMean_des (6,:) Desired mean element differences - elRefMean_est (6,:) Estimated mean elements of reference - fDiffDragH (3,:) Hills-frame differential drag force - fDiffDragE (3,:) ECI-frame differential drag force - fDiffSolarH (3,:) Hills-frame differential solar force - fDiffSolarE (3,:) ECI-frame differential solar force - fDiffJ2H (3,:) Hills-frame differential J2 force (apparent) - fDiffJ2E (3,:) ECI-frame differential J2 force (apparent) -------------------------------------------------------------------------- See also FFSimPlotter, AbsRelECI2Hills, ECI2MeanElements, Alfriend2El --------------------------------------------------------------------------
AeroUtils: AtmosphericCalculations/AtmDens2 AeroUtils: Coord/ECIToEF AeroUtils: Coord/QHills Common: Database/Constant Common: Quaternion/QForm Common: Quaternion/QTForm Common: Time/JD2000 Common: Time/JD2T Common: Transform/Altitude Common: Transform/RPhiTheta2Cart CubeSat: RelativeOrbit/FFSimPlotter FormationFlying: DataStructures/Geometry_Structure FormationFlying: Transformation/AbsRelECI2Hills FormationFlying: Transformation/ECI2MeanElements FormationFlying: Transformation/Goals2DeltaElem FormationFlying: Transformation/Goals2Hills FormationFlying: Transformation/Hills2DeltaElem Math: Integration/RK4 Math: Integration/RK4TI Math: Linear/Mag Math: Linear/Unit Orbit: GravityModels/LoadGravityModel Orbit: OrbitCoord/Alfriend2El Orbit: OrbitCoord/OrbElemDiff Orbit: OrbitMechanics/AGravity OrbitMiniToolbox: Support/El2RV SC: BasicOrbit/OrbRate SC: Disturbances/SolarF SC: Ephem/Eclipse SC: Ephem/SunV1
Back to the CubeSat Module page