Demonstrate targeting
Start with an initial orbit and impulsive burn, then numerically optimize so that the location of the Moon is the final condition and the magnitude of the burn is minimized. The dynamical model is the 3 body problem, but functions exist also for the CRTBP and the full 4 body problem.
Contents
See also
LowEnergyTransferInCRTBP Targeting4BP
%-------------------------------------------------------------------------- % Copyright (c) 2018 Princeton Satellite Systems, Inc. % All rights reserved. %-------------------------------------------------------------------------- % Since 2018.1 %-------------------------------------------------------------------------- % Initialize the Earth-Moon-Sun system id = PlanetId({'sun' 'earth' 'moon'}); PlanetPositionEMBarycenter('initialize',id); % Orbital elements elements = [7585.9 1.8086e-06 2.4524 2.4589 0.000833 3.1416]; % Initial velocity change dV1 = 2.988; % Time of trajectory dT = 8.6675e+06; % Graviational constant of the moon muMoon = 4902.7933840088; % Starting Julian Date jD = 2451546; % Plot the initial trajectory PlotLET3BP(elements,dV1,dT,jD); % Update the elements [elementsNew,dV1EphNew] = Targeting3BP2(elements,dV1,dT,0,muMoon,jD); % Plot the new elements PlotLET3BP(elementsNew,dV1EphNew,dT,jD); %--------------------------------------
Iteration Func-count min f(x) Procedure 0 1 3.11606 1 5 3.11606 initial simplex 2 7 3.06064 expand 3 8 3.06064 reflect 4 10 3.007 expand 5 11 3.007 reflect 6 13 2.89035 expand 7 14 2.89035 reflect 8 16 2.74766 expand 9 17 2.74766 reflect 10 19 2.4777 expand 11 20 2.4777 reflect 12 22 2.13328 expand 13 23 2.13328 reflect 14 25 1.57448 expand 15 26 1.57448 reflect 16 28 0.909496 expand 17 29 0.909496 reflect 18 31 0.255263 expand 19 32 0.255263 reflect 20 34 0.213276 reflect 21 35 0.213276 reflect 22 37 0.213276 contract outside 23 39 0.213276 contract inside 24 41 0.213276 contract inside 25 43 0.213276 contract inside 26 45 0.213276 contract inside 27 47 0.211073 contract inside 28 49 0.209444 contract inside 29 51 0.209444 contract inside 30 53 0.207384 contract inside 31 54 0.207384 reflect 32 56 0.207161 contract inside 33 58 0.206849 contract inside 34 60 0.20678 reflect 35 62 0.206527 contract inside 36 64 0.206527 contract inside 37 66 0.206243 reflect 38 68 0.206019 reflect 39 70 0.206007 contract inside 40 72 0.205282 expand 41 74 0.204489 expand 42 76 0.20362 expand 43 77 0.20362 reflect 44 79 0.200792 expand 45 80 0.200792 reflect 46 82 0.19868 expand 47 84 0.19531 expand 48 86 0.19001 expand 49 87 0.19001 reflect 50 89 0.18314 expand 51 91 0.170621 expand 52 92 0.170621 reflect 53 93 0.170621 reflect 54 95 0.167684 reflect 55 97 0.156252 expand 56 99 0.144369 expand 57 100 0.144369 reflect 58 102 0.144369 contract inside 59 104 0.122392 expand 60 105 0.122392 reflect 61 107 0.107766 expand 62 108 0.107766 reflect 63 109 0.107766 reflect 64 111 0.101156 reflect 65 113 0.0854941 reflect 66 115 0.0854941 contract inside 67 117 0.0852961 reflect 68 119 0.0846716 reflect 69 121 0.0846716 contract inside 70 123 0.064083 expand 71 125 0.064083 contract inside 72 126 0.064083 reflect 73 127 0.064083 reflect 74 129 0.0592255 expand 75 130 0.0592255 reflect 76 132 0.0499678 reflect 77 134 0.0499678 contract outside 78 135 0.0499678 reflect 79 136 0.0499678 reflect 80 138 0.0304419 expand 81 139 0.0304419 reflect 82 140 0.0304419 reflect 83 142 0.0304419 contract inside 84 144 0.0304419 contract outside 85 145 0.0304419 reflect 86 147 0.0261073 reflect 87 148 0.0261073 reflect 88 150 0.0155074 expand 89 152 0.0155074 contract inside 90 154 0.0155074 contract inside 91 155 0.0155074 reflect 92 157 0.0119127 expand 93 159 0.0119127 contract inside 94 161 0.0117321 reflect 95 162 0.0117321 reflect 96 163 0.0117321 reflect 97 165 0.0116092 contract inside 98 167 0.0116092 contract inside 99 169 0.0105409 contract inside 100 170 0.0105409 reflect 101 172 0.00731474 expand 102 173 0.00731474 reflect 103 175 0.00731474 contract inside 104 176 0.00731474 reflect 105 178 0.00731474 contract outside 106 180 0.00467096 expand 107 181 0.00467096 reflect 108 182 0.00467096 reflect 109 184 0.00467096 contract inside 110 186 0.00405597 expand 111 187 0.00405597 reflect 112 189 0.00299447 reflect 113 191 0.00137517 expand 114 193 0.00137517 contract inside 115 194 0.00137517 reflect 116 195 0.00137517 reflect 117 197 0.00137517 contract inside 118 199 0.00137517 contract inside 119 201 0.000587283 expand 120 202 0.000587283 reflect 121 203 0.000587283 reflect 122 205 0.000539435 contract outside 123 207 0.000539435 contract inside 124 209 0.000539435 contract inside 125 211 0.000295594 reflect 126 213 0.000295594 contract inside 127 215 0.000295594 contract inside 128 217 0.000284119 reflect 129 219 0.000284119 contract inside 130 220 0.000284119 reflect 131 222 0.000284119 contract inside 132 224 0.000231563 expand 133 226 0.000231563 contract outside 134 227 0.000231563 reflect 135 229 0.000231563 contract inside 136 231 0.000231563 contract inside 137 233 0.000231563 contract inside 138 235 0.000227704 contract inside 139 237 0.000226036 contract inside 140 238 0.000226036 reflect 141 240 0.000225986 contract inside 142 242 0.000225765 contract inside 143 244 0.000224909 contract inside 144 246 0.000224468 contract inside 145 248 0.000224032 contract inside 146 250 0.000224032 contract inside 147 252 0.000224032 contract outside 148 254 0.000223886 contract inside 149 256 0.000223865 contract inside 150 258 0.000223776 contract inside 151 260 0.000223776 contract inside 152 262 0.000223774 contract inside 153 264 0.000223738 contract inside 154 266 0.000223738 contract inside 155 268 0.000223723 contract outside 156 270 0.000223717 contract inside 157 272 0.000223717 contract inside Optimization terminated: the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-04 and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 1.000000e-03