Difference between revisions of "Gravity Turn Maneuver (Casadi)"

From mintOC
Jump to: navigation, search
(Created page with "This page contains a discretized version of the OCP Gravity Turn Maneuver in [http://www.casadi.org CasADi 2.4.2] format. The continuous model was discretized using a dire...")
 
m (case sensitive category)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
This page contains a discretized version of the OCP [[Gravity Turn Maneuver]] in [http://www.casadi.org CasADi 2.4.2] format. The continuous model was discretized using a direct multiple shooting approach with 300 shooting nodes distributed equidistantly over a variable time horizon. The control grid is equal to the DMS grid.
+
This page contains a discretized version of the OCP [[Gravity Turn Maneuver]] in [http://www.casadi.org CasADi 2.4.2] format. The continuous model was discretized using a direct multiple shooting approach with 300 shooting nodes distributed equidistantly over a variable time horizon. The control grid is equal to the DMS grid. An initial solution is chosen by linearly interpolating between initial and terminal state.
  
 
=== CasADi ===
 
=== CasADi ===
Line 10: Line 10:
 
from casadi import *
 
from casadi import *
  
N = 300
+
# Artificial model parameters
vel_eps = 1e-6
+
N = 300                   # Number of shooting intervals
 +
vel_eps = 1e-6           # Initial velocity (km/s)
  
m0  = 11.3
+
# Vehicle parameters
m1  = 1.3
+
m0  = 11.3               # Launch mass (t)
g0  = 9.81e-3
+
m1  = 1.3               # Dry mass (t)
r0  = 6.0e2
+
g0  = 9.81e-3           # Gravitational acceleration at altitude zero (km/s^2)
Isp  = 300.0
+
r0  = 6.0e2             # Radius at altitude zero (km)
Fmax = 600.0e-3
+
Isp  = 300.0             # Specific impulse (s)
 +
Fmax = 600.0e-3           # Maximum thrust (MN)
  
cd  = 0.021
+
# Atmospheric parameters
A  = 1.0
+
cd  = 0.021                       # Drag coefficients
H  = 5.6
+
A  = 1.0                         # Reference area (m^2)
rho = (1.0 * 1.2230948554874)
+
H  = 5.6                         # Scale height (km)
 +
rho = (1.0 * 1.2230948554874)     # Density at altitude zero
  
h_obj = 75
+
# Target orbit parameters
v_obj = 2.287
+
h_obj = 75               # Target altitude (km)
q_obj = 0.5 * pi
+
v_obj = 2.287             # Target velocity (km/s)
 +
q_obj = 0.5 * pi         # Target angle to vertical (rad)
  
x = SX.sym('[m, v, q, h, d]')
+
# Create symbolic variables
u = SX.sym('u')
+
x = SX.sym('[m, v, q, h, d]')     # Vehicle state
T = SX.sym('T')
+
u = SX.sym('u')                   # Vehicle controls
 +
T = SX.sym('T')                    # Time horizon (s)
  
 +
# Introduce symbolic expressions for important composite terms
 +
Fthrust = Fmax * u
 +
Fdrag  = 0.5e3 * A * cd * rho * exp(-x[3] / H) * x[1]**2
 +
r      = x[3] + r0
 +
g      = g0 * (r0 / r)**2
 +
vhor    = x[1] * sin(x[2])
 +
vver    = x[1] * cos(x[2])
 +
 +
# Build symbolic expressions for ODE right hand side
 +
mdot = -(Fmax / (Isp * g0)) * u
 +
vdot = (Fthrust - Fdrag) / x[0] - g * cos(x[2])
 +
hdot = vver
 +
ddot = vhor / r
 +
qdot = g * sin(x[2]) / x[1] - ddot
 +
 +
# Build the DAE function
 
ode = [
 
ode = [
     -(Fmax / (Isp * g0)) * u,
+
     mdot,
     (Fmax * u - 0.5e3 * A * cd * rho * exp(-x[3] / H) * x[1]**2) / x[0] - g0 * (r0 / (r0 + x[3]))**2 * cos(x[2]),
+
     vdot,
     g0 * (r0 / (r0 + x[3]))**2 * sin(x[2]) / x[1] - x[1] * cos(x[2]) / (r0 + x[3]),
+
     qdot,
     x[1] * cos(x[2]),
+
     hdot,
     x[1] * sin(x[2]) / (r0 + x[3])
+
     ddot
 
]
 
]
 
quad = u
 
quad = u
 
 
dae = SXFunction("dae", daeIn(x=x, p=vertcat([u, T])), daeOut(ode=T*vertcat(ode), quad=T*quad))
 
dae = SXFunction("dae", daeIn(x=x, p=vertcat([u, T])), daeOut(ode=T*vertcat(ode), quad=T*quad))
 
I = Integrator("I", "cvodes", dae, {'t0': 0.0, 'tf': 1.0 / N})
 
I = Integrator("I", "cvodes", dae, {'t0': 0.0, 'tf': 1.0 / N})
  
 +
# Specify upper and lower bounds as well as initial values for DAE parameters,
 +
# states and controls
 
p_min  = [120.0]
 
p_min  = [120.0]
 
p_max  = [600.0]
 
p_max  = [600.0]
Line 65: Line 87:
 
x_init = [0.5 * (m0 + m1), 0.5 * v_obj, 0.5 * q_obj, 0.5 * h_obj, 0.0]
 
x_init = [0.5 * (m0 + m1), 0.5 * v_obj, 0.5 * q_obj, 0.5 * h_obj, 0.0]
  
np = 1
+
# Useful variable block sizes
nx = x.size1()
+
np = 1                         # Number of parameters
nu = u.size1()
+
nx = x.size1()                 # Number of states
ns = nx + nu
+
nu = u.size1()                 # Number of controls
 +
ns = nx + nu                   # Number of variables per shooting interval
  
 +
# Introduce symbolic variables and disassemble them into blocks
 
V = MX.sym('X', N * ns + nx + np)
 
V = MX.sym('X', N * ns + nx + np)
 
P = V[0]
 
P = V[0]
Line 75: Line 99:
 
U = [V[np+i*ns+nx:np+(i+1)*ns] for i in range(0, N)]
 
U = [V[np+i*ns+nx:np+(i+1)*ns] for i in range(0, N)]
  
 +
# Nonlinear constraints and Lagrange objective
 
G = []
 
G = []
 
F = 0.0
 
F = 0.0
  
 +
# Build DMS structure
 
x0 = p_init + x0_init
 
x0 = p_init + x0_init
 
for i in range(0, N):
 
for i in range(0, N):
Line 87: Line 113:
 
     x0 = x0 + u_init + [x0_init[i] + frac * (xf_init[i] - x0_init[i]) for i in range(0, nx)]
 
     x0 = x0 + u_init + [x0_init[i] + frac * (xf_init[i] - x0_init[i]) for i in range(0, nx)]
  
 +
# Lower and upper bounds for solver
 
lbg = 0.0
 
lbg = 0.0
 
ubg = 0.0
 
ubg = 0.0
Line 92: Line 119:
 
ubx = p_max + x0_max + u_max + (N-1) * (x_max + u_max) + xf_max
 
ubx = p_max + x0_max + u_max + (N-1) * (x_max + u_max) + xf_max
  
 +
# Solve the problem using IPOPT
 
nlp = MXFunction("nlp", nlpIn(x=V), nlpOut(f=m0 - X[-1][0], g=vertcat(G)))
 
nlp = MXFunction("nlp", nlpIn(x=V), nlpOut(f=m0 - X[-1][0], g=vertcat(G)))
 
S = NlpSolver("S", "ipopt", nlp, {'tol': 1e-5})
 
S = NlpSolver("S", "ipopt", nlp, {'tol': 1e-5})
Line 101: Line 129:
 
     'ubg': ubg
 
     'ubg': ubg
 
})
 
})
 +
 +
# Extract state sequences and parameters from result
 +
x = r['x']
 +
f = r['f']
 +
T = x[0]
 +
 +
t = [i * (T / N) for i in range(0, N+1)]
 +
m = x[np  ::ns].get()
 +
v = x[np+1::ns].get()
 +
q = x[np+2::ns].get()
 +
h = x[np+3::ns].get()
 +
d = x[np+4::ns].get()
 +
u = x[np+nx::ns].get() + [0.0]
 
</source>
 
</source>
  
 
== Results ==
 
== Results ==
  
<!--=== Bonmin ===
+
The solution is calculated using IPOPT (3.11.9, default settings with tolerance 1e-5, using linear solver MUMPS in sequential mode on Ubuntu 15.10 for x86-64 with Linux 4.2.0-19-generic, Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz, 16 GB RAM). The objective function value is <math>9.65080</math>. IPOPT finds the solution in 84 iterations (77.466 seconds proc time).
The solution calculated by Bonmin (subversion revision number 1453, default settings, 3 GHz, Linux 2.6.28-13-generic, with ASL(20081205)) has an objective function value of <MATH>\Phi= 1.34434</MATH>, while the optimum of the relaxation is <MATH>\Phi=1.3423368</MATH>. Bonmin needs 35301 iterations and 2741 nodes (4899.97 seconds). Strong branching is done 81 times (1859 iterations), with 0 fathomed nodes and 0 fixed variables. The intervals on the equidistant grid on which <MATH>w(t) = 1</MATH> holds, counting from 0 to 99, are 20-32, 34, 36, 38, 40, 44, 53.
+
 
 +
== Solution ==
 +
 
 +
The following is a Gnuplot compatible tabular version of the solution:
  
=== Knitro ===
+
<pre>
A solution obtained by Knitro version 6.0 under NEOS server environment was tested by [[User:Henry_Chan | Henry Kar Ming Chan]]. The standard defaults were used except the strong branching strategies and the integrality gap tolerances without parallel features. Final objective value is 1.34521362. Number of nodes processed is 508 and number of subproblems solved is 671. Total program CPU time is 2823.85 seconds with time spent in evaluations for 684.37 seconds. The intervals on the equidistant grid on which <MATH>w(t) = 1</MATH> holds, counting from 0 to 99, are 20-32, 34, 36-37, 42, 44, 52.-->
+
# t m v beta h theta u
 +
0 11.3 1e-06 2.77860819863e-06 0.0 0.0 0.999871890934
 +
1.12681 11.0703034485 0.0483649064877 3.1715534546e-05 0.0274199153907 1.29929499744e-09 0.998958246276
 +
2.25361 10.8408167849 0.0921925497448 3.72636082804e-05 0.107252362504 5.95514030718e-09 0.326196705112
 +
3.38042 10.7658809267 0.090683693199 4.20453758593e-05 0.210227341355 1.27488341644e-08 0.36077660746
 +
4.50722 10.6830011665 0.0916779384911 4.74523648979e-05 0.312965878384 2.04014332419e-08 0.348216995107
 +
5.63403 10.6030066755 0.0920148841805 5.35065012386e-05 0.416440676184 2.90935384675e-08 0.348162975156
 +
6.76084 10.5230245943 0.0925365990072 6.02966641843e-05 0.5204032739 3.89367692674e-08 0.344819131671
 +
7.88764 10.4438106808 0.0930181089434 6.79018539473e-05 0.624930229321 5.0083520831e-08 0.342374770938
 +
9.01445 10.3651583006 0.0935195865936 7.64151897145e-05 0.730011396396 6.26964446471e-08 0.339711745211
 +
10.1413 10.2871176865 0.0940246707442 8.59376994215e-05 0.835659580289 7.69598912076e-08 0.337150529163
 +
11.2681 10.2096654503 0.0945389717196 9.65812647273e-05 0.941881973673 9.30793785195e-08 0.334568141088
 +
12.3949 10.1328064557 0.0950597343545 0.000108469263306 1.04868760273 1.11285346314e-07 0.332038336386
 +
13.5217 10.056528623 0.0955892162114 0.000121737440866 1.15608504563 1.31834851487e-07 0.329509747357
 +
14.6485 9.98083167285 0.0961262052325 0.000136535062263 1.26408339909 1.55014894122e-07 0.327010078582
 +
15.7753 9.90570896159 0.0966714389773 0.000153026224658 1.37269153914 1.81145560812e-07 0.324528413444
 +
16.9021 9.8311563533 0.0972248963531 0.000171391070942 1.48191873119 2.10583693434e-07 0.322070798124
 +
18.0289 9.75716832309 0.0977869802566 0.000191827201329 1.59177446655 2.43726791529e-07 0.319627886638
 +
19.1557 9.68374149313 0.0983574847092 0.000214551185091 1.70226833537 2.81017264632e-07 0.31721107001
 +
20.2825 9.61086986874 0.098937003886 0.000239800140529 1.81341016432 3.22947209818e-07 0.314811149588
 +
21.4093 9.53854956842 0.0995254924258 0.000267833415404 1.92521007587 3.70063587119e-07 0.312432454392
 +
22.5361 9.46677571619 0.100123238775 0.000298934444328 2.03767833673 4.22973838873e-07 0.310073449285
 +
23.6629 9.39554378872 0.100730432337 0.000333412654684 2.15082548065 4.8235212264e-07 0.307734103495
 +
24.7897 9.32484926976 0.101347278805 0.000371605537268 2.26466226419 5.48946059076e-07 0.305415304594
 +
25.9165 9.25468743916 0.101974058967 0.000413880815239 2.37919971927 6.23584148107e-07 0.303112723465
 +
27.0433 9.18505457126 0.102610772129 0.000460638805631 2.49444902948 7.07183733168e-07 0.300842293289
 +
28.1701 9.11594328017 0.103258535918 0.000512314669319 2.61042203018 8.00760182938e-07 0.29856639394
 +
29.297 9.04735482228 0.10391580613 0.000569381363827 2.72713026137 9.05435602071e-07 0.296333057678
 +
30.4238 8.97927941977 0.104584604775 0.00063235220542 2.84458560489 1.02244990183e-06 0.294107919546
 +
31.5506 8.91171518929 0.105264330731 0.000701783418957 2.96280068854 1.15317229058e-06 0.291904654179
 +
32.6774 8.84465710611 0.105955482276 0.000778277594739 3.08178810404 1.29911291511e-06 0.289719505221
 +
33.8042 8.77810100842 0.106658275558 0.000862486607199 3.20156083904 1.46193653067e-06 0.287553332661
 +
34.931 8.71204253685 0.107373013262 0.000955114979 3.32213217435 1.64347680043e-06 0.285405783978
 +
36.0578 8.64647741301 0.108099987244 0.00105692329751 3.44351572451 1.84575192933e-06 0.283276805784
 +
37.1846 8.58140137077 0.108839503086 0.00116873180087 3.56572543978 2.07098151567e-06 0.281166363371
 +
38.3114 8.51681015199 0.109591868394 0.00129142446873 3.68877571076 2.32160626668e-06 0.279074591534
 +
39.4382 8.45269946754 0.110357438748 0.00142595200563 3.8126811585 2.60030425935e-06 0.277000138296
 +
40.565 8.3890653389 0.111136473076 0.00157333666297 3.93745682923 2.91001532601e-06 0.274947440837
 +
41.6918 8.3259027682 0.111929592965 0.00173467569233 4.06311823087 3.25396235208e-06 0.272899557983
 +
42.8186 8.2632106494 0.112736134768 0.00191114652647 4.1896808402 3.63567518946e-06 0.270895618686
 +
43.9454 8.20097888752 0.113558538722 0.00210400962722 4.31716118699 4.05902022234e-06 0.26888554858
 +
45.0722 8.13920889097 0.114395149167 0.00231461539834 4.44557643334 4.52823353859e-06 0.266904254414
 +
46.199 8.07789404916 0.115247354064 0.00254440411962 4.5749430461 5.04792741452e-06 0.264938553658
 +
47.3258 8.01703077989 0.116115365681 0.00279491448205 4.70527870185 5.62314930667e-06 0.262989088609
 +
48.4527 7.9566153534 0.116999476021 0.00306778844827 4.83660152318 6.25941240849e-06 0.261061056952
 +
49.5795 7.89664284586 0.117900465281 0.00336477191539 4.96892989716 6.96271718178e-06 0.25914680789
 +
50.7063 7.83711009107 0.118818468407 0.00368772122835 5.10228276769 7.73960139672e-06 0.257251762341
 +
51.8331 7.77801267749 0.119754108957 0.00403861111944 5.23667972676 8.59719297438e-06 0.255373633633
 +
52.9599 7.71934671886 0.120707832067 0.00441953501588 5.37214086131 9.54324137038e-06 0.253513463423
 +
54.0867 7.66110808965 0.121680196244 0.00483271074897 5.50868681957 1.0586170107e-05 0.251668719133
 +
55.2135 7.60329324614 0.122671570262 0.00528048506647 5.64633876202 1.17351275208e-05 0.249848290104
 +
56.3403 7.54589660248 0.12368304859 0.00576534128992 5.78511913141 1.30000721019e-05 0.248030023384
 +
57.4671 7.48891766192 0.124713940463 0.00628989313982 5.92504970261 1.43917464287e-05 0.246246828699
 +
58.5939 7.43234836752 0.125766448506 0.00685689740221 6.06615351629 1.59218157566e-05 0.244470147632
 +
59.7207 7.37618722291 0.12684018476 0.00746925356802 6.20845460354 1.76029136875e-05 0.242710243883
 +
60.8475 7.32043037392 0.127935789228 0.00813001041354 6.35197713654 1.94487007846e-05 0.240968981314
 +
61.9743 7.26507353818 0.129054086829 0.00884236627962 6.49674609541 2.14739438826e-05 0.23925307835
 +
63.1011 7.21011088994 0.130196491008 0.00960966899285 6.64278770638 2.36945990586e-05 0.237534777489
 +
64.2279 7.15554298005 0.131361937783 0.0104354233221 6.79012832879 2.61278751366e-05 0.23585143399
 +
65.3547 7.10136177789 0.132552890675 0.0113232895957 6.93879513148 2.87923294653e-05 0.2341728937
 +
66.4816 7.04756618005 0.133768963387 0.0122770825344 7.08881637522 3.17079597105e-05 0.232515140152
 +
67.6084 6.99415141127 0.135011367809 0.0133007756639 7.24022076771 3.489628693e-05 0.230886212442
 +
68.7352 6.94111084951 0.136282024555 0.0143984921845 7.39303874282 3.83804791206e-05 0.229237770352
 +
69.862 6.88844897772 0.137578371059 0.0155745192201 7.54730025492 4.2185403193e-05 0.227651747455
 +
70.9888 6.8361514566 0.138905777722 0.0168332919058 7.70303688792 4.63377844701e-05 0.226040852646
 +
72.1156 6.78422399988 0.140261077142 0.0181793935172 7.86028127533 5.08662980623e-05 0.224478472654
 +
73.2424 6.73265546243 0.141648439305 0.019617556595 8.01906663398 5.58016805566e-05 0.222909371404
 +
74.3692 6.6814473883 0.143066527127 0.0211526505188 8.1794276065 6.11768685792e-05 0.221365434305
 +
75.496 6.63059399664 0.144517323094 0.0227896869811 8.34139913677 6.70270941747e-05 0.219834207182
 +
76.6228 6.58009236763 0.146001557324 0.0245338029641 8.50501755198 7.33900464956e-05 0.218318672364
 +
77.7496 6.52993889635 0.147520328785 0.0263902584024 8.67032007873 8.03059938452e-05 0.216817734448
 +
78.8764 6.4801302295 0.149074677241 0.0283644260742 8.83734499171 8.7817928719e-05 0.215331337971
 +
80.0032 6.43066302655 0.150665696403 0.0304617820826 9.0061315898 9.59717112317e-05 0.213859120912
 +
81.13 6.3815340301 0.152294503944 0.0326878948441 9.17672021654 0.000104816219211 0.212400765796
 +
82.2568 6.33274005571 0.153962249277 0.0350484130922 9.349152266 0.000114403502127 0.210955909902
 +
83.3836 6.28427800226 0.155670111679 0.0375490527181 9.52347018919 0.000124788939302 0.209524141378
 +
84.5104 6.23614486324 0.157419298224 0.0401955825251 9.69971749513 0.000136031401927 0.208105098379
 +
85.6373 6.18833771526 0.159211052039 0.0429938088247 9.87793875239 0.000148193418971 0.206698051968
 +
86.7641 6.14085380241 0.161046616871 0.045949559208 10.0581795713 0.00016134134535 0.20530314624
 +
87.8909 6.09369033564 0.162927336993 0.0490686639898 10.2404865652 0.000175545513359 0.203918747031
 +
89.0177 6.04684490133 0.16485448585 0.0523569342652 10.4249070234 0.000190880274873 0.20254508625
 +
90.1445 6.0003150326 0.166829394827 0.0558201586963 10.6114900844 0.000207424693812 0.201181884102
 +
91.2713 5.95409832682 0.168853490022 0.0594640652613 10.8002854138 0.000225262173161 0.199826900476
 +
92.3981 5.90819289598 0.170928045658 0.0632943074249 10.9913435862 0.00024448081858 0.198484497102
 +
93.5249 5.86259585008 0.173054917608 0.0673164378665 11.1847162704 0.000265173641721 0.197142365834
 +
94.6517 5.8173071266 0.175234631536 0.0715359035273 11.3804566002 0.000287439171446 0.19581509709
 +
95.7785 5.77232331123 0.177469601096 0.0759579928423 11.5786168176 0.00031138025671 0.194489552909
 +
96.9053 5.7276440078 0.179760754068 0.0805878327051 11.7792510207 0.000337105653027 0.193171075564
 +
98.0321 5.68326759288 0.182109772966 0.0854303660891 11.9824138038 0.000364729692297 0.191856546845
 +
99.1589 5.63919315935 0.184518084562 0.0904903229932 12.1881604332 0.000394372482122 0.190545791715
 +
100.286 5.59541984033 0.186987216792 0.0957721994977 12.3965466658 0.000426160059288 0.189237618706
 +
101.413 5.55194704264 0.189518676343 0.101280234021 12.6076286856 0.000460224553006 0.187931319951
 +
102.539 5.50877433572 0.192114007529 0.107018384704 12.8214630013 0.000496704337203 0.186625350468
 +
103.666 5.46590164391 0.194774692175 0.112990307975 13.0381063103 0.000535744169706 0.185319524162
 +
104.793 5.42332893434 0.197502324355 0.119199338779 13.2576151459 0.000577495120379 0.184011250854
 +
105.92 5.38105676913 0.200298298116 0.125648469997 13.4800460779 0.000622114979592 0.182703979499
 +
107.047 5.33908491813 0.203164545399 0.132340326049 13.7054557859 0.000669768442498 0.181380162161
 +
108.173 5.29741718235 0.206100956716 0.139277171443 13.9338999237 0.000720626920245 0.180077851231
 +
109.3 5.25604862124 0.209112305327 0.146460845822 14.1654345222 0.000774868910802 0.178745580145
 +
110.427 5.2149861174 0.212196908766 0.153892770121 14.4001151769 0.000832680144635 0.177419731479
 +
111.554 5.17422819546 0.215357926751 0.161573965652 14.6379957225 0.000894253129205 0.176078216333
 +
112.681 5.13377845439 0.218595754562 0.169505013478 14.8791289352 0.000959787168053 0.174739532299
 +
113.807 5.09363624383 0.221913262603 0.177686016434 15.1235675385 0.00102948975665 0.173382603066
 +
114.934 5.05380575517 0.225310655964 0.186116626604 15.3713624067 0.0011035749808 0.172020176306
 +
116.061 5.01428825134 0.228789934866 0.194796043809 15.622562415 0.00118226385685 0.170646289447
 +
117.188 4.97508636501 0.2323523632 0.203722988155 15.877214973 0.00126578462411 0.169261847706
 +
118.315 4.93620252092 0.235999394966 0.212895709018 16.1353655168 0.00135437257109 0.167861283163
 +
119.441 4.89764042289 0.239731793973 0.222311993235 16.3970570287 0.00144826983087 0.166463174946
 +
120.568 4.85939950665 0.243552876412 0.2319691275 16.6623309109 0.00154772567014 0.16501962689
 +
121.695 4.8214902109 0.247459436029 0.241863982882 16.9312245581 0.00165299550398 0.16362238225
 +
122.822 4.78390189855 0.251460958539 0.251992891186 17.2037747143 0.00176434218206 0.162134758871
 +
123.949 4.74665533193 0.255547831018 0.262351785307 17.4800135557 0.00188203421959 0.160701829941
 +
125.075 4.70973794632 0.25973094261 0.272936178367 17.7599695909 0.00200634617712 0.1592201533
 +
126.202 4.67316094034 0.264006332803 0.283741056751 18.0436703171 0.00213755952957 0.15774077977
 +
127.329 4.63692378489 0.268377382628 0.294761047554 18.3311381431 0.00227596081776 0.156236108649
 +
128.456 4.60103229148 0.272843409621 0.30599036601 18.6223919461 0.00242184208841 0.154730045069
 +
129.583 4.56548678002 0.27740713913 0.317422844501 18.917446631 0.00257550051171 0.15320882695
 +
130.709 4.53029073188 0.282069160196 0.329051922806 19.2163136482 0.00273723839674 0.151675952961
 +
131.836 4.49544682472 0.286830476898 0.340870703168 19.5189999704 0.00290736242692 0.150128335981
 +
132.963 4.46095844539 0.29169151171 0.352871974521 19.8255078969 0.00308618325604 0.148583730647
 +
134.09 4.42682490203 0.296655192076 0.365048192184 20.1358359994 0.00327401577339 0.147026119864
 +
135.217 4.39304918234 0.301721844087 0.377391501787 20.4499789559 0.00347117871009 0.145455052239
 +
136.344 4.35963437771 0.306891570574 0.389893822727 20.7679260117 0.00367799338258 0.143871593177
 +
137.47 4.32658333476 0.312164464356 0.402546877792 21.0896608202 0.00389478318825 0.142322437674
 +
138.597 4.29388817308 0.317547599096 0.415342068751 21.4151650655 0.00412187569805 0.140720554489
 +
139.724 4.26156100558 0.323034257733 0.428270646039 21.7444147977 0.004359599761 0.139150738139
 +
140.851 4.22959446569 0.328630866952 0.441323746735 22.0773802282 0.00460828504446 0.137562931199
 +
141.978 4.19799268631 0.334335652626 0.45449231783 22.4140281884 0.00486826330112 0.135984178842
 +
143.104 4.16675358736 0.340150931485 0.467767226546 22.7543201019 0.00513986653101 0.134403245922
 +
144.231 4.13587766978 0.34607695491 0.481139244329 23.0982130354 0.00542342732277 0.132841183428
 +
145.358 4.10536059853 0.352117124858 0.494599049822 23.4456603121 0.00571927898548 0.131254620191
 +
146.485 4.07520800209 0.358267509454 0.508137339133 23.7966094594 0.00602775334751 0.129734325622
 +
147.612 4.0454046568 0.364538840501 0.521744702397 24.1510059993 0.00634918370875 0.128123375957
 +
148.738 4.01597138851 0.370915585821 0.535411879908 24.5087877147 0.0066838990939 0.126625614658
 +
149.865 3.9868821949 0.377416005355 0.549129633693 24.8698886556 0.0070322276457 0.125095329084
 +
150.992 3.95814454765 0.38403354431 0.562888599047 25.2342434182 0.00739450007803 0.123575720431
 +
152.119 3.92975599399 0.390768746594 0.576679646841 25.6017788148 0.00777104140008 0.122097034422
 +
153.246 3.90170713292 0.397627068094 0.590493700871 25.9724195437 0.00816217536324 0.120619204646
 +
154.372 3.87399776775 0.404606826309 0.604321724176 26.3460879705 0.0085682257792 0.119139279377
 +
155.499 3.84662837986 0.411705602273 0.618154958243 26.7226999116 0.00898950967799 0.11769779346
 +
156.626 3.81959013874 0.418927817944 0.631984801492 27.102167955 0.00942634101953 0.116307720762
 +
157.753 3.79287123344 0.426279963316 0.645802668576 27.4844056908 0.00987903516909 0.114909003327
 +
158.88 3.76647364987 0.433757704622 0.659600164107 27.8693238297 0.0103479041381 0.11353757123
 +
160.006 3.74039111988 0.441362919471 0.673369174971 28.2568283773 0.0108332540078 0.112204126528
 +
161.133 3.71461491679 0.449099234279 0.687101746228 28.6468244024 0.011335389075 0.110874566231
 +
162.26 3.68914414824 0.456963945772 0.700790170594 29.0392141934 0.011854609165 0.109607888423
 +
163.387 3.6639643685 0.46496494706 0.71442692864 29.4338993462 0.0123912120755 0.108325298974
 +
164.514 3.63907923287 0.473095554628 0.728004763443 29.8307792105 0.0129454910787 0.107108345847
 +
165.64 3.614473663 0.481364007654 0.741516681812 30.2297512957 0.0135177352389 0.105909235044
 +
166.767 3.59014356003 0.489769580849 0.754955869712 30.6307139452 0.0141082327998 0.104732160398
 +
167.894 3.56608386169 0.498312231143 0.768315825754 31.0335630805 0.0147172662949 0.103616637213
 +
169.021 3.54228042801 0.506999303827 0.781590244909 31.4381957311 0.0153451175064 0.102496160469
 +
170.148 3.51873439695 0.515825473675 0.794773102357 31.844508028 0.0159920640523 0.10142878261
 +
171.275 3.49543357031 0.524796440273 0.807858677026 32.2523948027 0.016658378763 0.100389183787
 +
172.401 3.47237156654 0.533913028293 0.82084146703 32.6617521896 0.0173443334375 0.0993824292457
 +
173.528 3.44954084044 0.543177025502 0.833716246083 33.0724762574 0.0180501964858 0.0984084054609
 +
174.655 3.42693387291 0.55259019939 0.846478050455 33.4844635523 0.0187762336328 0.0974657610729
 +
175.782 3.40454345529 0.56215406552 0.859122181762 33.897611163 0.0195227078568 0.0965315558344
 +
176.909 3.38236764888 0.571865604518 0.871644264787 34.3118151219 0.0202898762821 0.0957068943634
 +
178.035 3.36038128864 0.58174198669 0.884040049864 34.7269763292 0.0210780009442 0.094840281032
 +
179.162 3.33859401199 0.591770161035 0.896305538814 35.1429969332 0.0218873420712 0.0940267110607
 +
180.289 3.31699363351 0.601956170801 0.908437112046 35.5597765678 0.022718150726 0.0932459914327
 +
181.416 3.29557260661 0.612302073589 0.920431342084 35.9772178831 0.0235706792513 0.0924960269957
 +
182.543 3.27432386603 0.622809582236 0.932285045267 36.3952251234 0.0244451781258 0.0917746516192
 +
183.669 3.25324084411 0.633480049347 0.943995276416 36.813704026 0.0253418962708 0.0910898900904
 +
184.796 3.23231512971 0.644316588802 0.955559310576 37.2325624055 0.0262610820246 0.090427293703
 +
185.923 3.21154163091 0.65531941454 0.966974650269 37.65170988 0.0272029824175 0.0897942524948
 +
187.05 3.19091355812 0.666490384213 0.978239031418 38.0710575809 0.0281678424517 0.0891882862955
 +
188.177 3.17042469152 0.677830948076 0.989350403076 38.4905186651 0.0291559061565 0.0886068954785
 +
189.303 3.15006938549 0.689342139488 1.00030692804 38.9100081591 0.0301674161585 0.0880440118486
 +
190.43 3.12984338845 0.701023799816 1.01110698963 39.3294425734 0.0312026126529 0.0875382504335
 +
191.557 3.10973357796 0.712884233974 1.02174911633 39.7487422093 0.0322617389994 0.0870235258901
 +
192.684 3.08974201306 0.724917596844 1.03223203689 40.1678295171 0.0333450363598 0.086537120412
 +
193.811 3.06986218814 0.737126224337 1.04255469525 40.5866273714 0.0344527434626 0.0860741144014
 +
194.937 3.05008872773 0.749511516905 1.05271620704 41.0050614044 0.0355850978481 0.0856278218239
 +
196.064 3.03041779232 0.762073526423 1.06271585977 41.4230593906 0.0367423358393 0.0851942003027
 +
197.191 3.01084647104 0.774811512158 1.07255312092 41.8405507482 0.037924691048 0.0847615596412
 +
198.318 2.99137453856 0.787722194288 1.08222765337 42.2574657363 0.0391323919262 0.0842795697267
 +
199.445 2.97201333168 0.800790909919 1.09173940723 42.6737319586 0.0403656510967 0.0841413216968
 +
200.571 2.95268388397 0.814092598541 1.10108802381 43.0892950499 0.0416247262083 0.08371610095
 +
201.698 2.93345212052 0.827558922074 1.1102732496 43.504104154 0.0429098783895 0.0833448165924
 +
202.825 2.91430565073 0.841199067207 1.11929539622 43.9180955801 0.0442213211594 0.083004390475
 +
203.952 2.89523738566 0.855017161026 1.12815479474 44.3312114251 0.0455592769976 0.0826886238479
 +
205.079 2.87624166039 0.869016085433 1.13685183841 44.7433979617 0.0469239725813 0.082400617637
 +
206.205 2.85731209763 0.883199637817 1.14538698132 45.1546055514 0.0483156386816 0.0821495834674
 +
207.332 2.83844020394 0.897574012367 1.15376071386 45.5647894136 0.0497345129394 0.081960137606
 +
208.459 2.81961183088 0.912151562027 1.16197350859 45.9739115478 0.0511808468384 0.0818687043771
 +
209.586 2.80080446242 0.926953834018 1.17002573401 46.3819440838 0.0526549174148 0.0810184794884
 +
210.713 2.7821924127 0.941795099108 1.17791881263 46.7888249923 0.0541568708428 0.0808831133172
 +
211.84 2.76361146011 0.956845247323 1.18565429447 47.194492683 0.0556868390995 0.080827711652
 +
212.966 2.74504323472 0.972122260061 1.19323269937 47.5989289316 0.0572451045916 0.080665896085
 +
214.093 2.72651218257 0.987598527983 1.20065468508 48.0021159103 0.0588319415495 0.0805282595747
 +
215.22 2.7080127491 1.00327843628 1.20792110878 48.4040336729 0.0604476050602 0.0804087415234
 +
216.347 2.68954077204 1.01916507272 1.21503284984 48.8046665904 0.0620923559383 0.0803491591294
 +
217.474 2.67108248259 1.03527228985 1.22199076032 49.2040052333 0.0637664684986 0.0803433226464
 +
218.6 2.65262553394 1.05161283419 1.22879561977 49.602048146 0.0654702385192 0.0803953952452
 +
219.727 2.63415662287 1.06820096584 1.23544813994 49.9988017719 0.0672039836808 0.080540416293
 +
220.854 2.61565439668 1.08506048445 1.24194891972 50.3942823812 0.068968052689 0.0805576772919
 +
221.981 2.5971482052 1.1021585369 1.24829866885 50.7885071579 0.070762786835 0.0809357330749
 +
223.108 2.57855516449 1.11958948304 1.25449788852 51.1815072775 0.0725885777319 0.0813221356133
 +
224.234 2.55987335707 1.13735738048 1.26054672644 51.5733337837 0.0744458978783 0.081861685112
 +
225.361 2.54106760111 1.15550502874 1.26644523144 51.9640482138 0.0763352582841 0.0825189622963
 +
226.488 2.52211085151 1.17406709133 1.27219323746 52.3537275816 0.0782572337327 0.08333224628
 +
227.615 2.50296726944 1.19308971657 1.27779037303 52.7424646128 0.0802124655481 0.0843255209936
 +
228.742 2.48359550637 1.21262710527 1.28323600719 53.1303706284 0.0822016777173 0.0853092321033
 +
229.868 2.46399775929 1.23268330501 1.28852943771 53.5175683401 0.0842256421802 0.0865852876951
 +
230.995 2.4441068691 1.2533461489 1.29366978064 53.9041972392 0.086285206336 0.0880049628389
 +
232.122 2.42388984263 1.27466502015 1.2986558255 54.2904203274 0.088381330675 0.08961772197
 +
233.249 2.4033023235 1.29670508795 1.30348615514 54.6764203172 0.090515069772 0.0913338227389
 +
234.376 2.38232057143 1.31950856349 1.30815919766 55.062398376 0.0926875662421 0.092992792808
 +
235.502 2.36095771083 1.34307353464 1.31267347541 55.448564208 0.0948999949359 0.0945613759594
 +
236.629 2.33923450593 1.36738876182 1.31702778019 55.8351287069 0.0971535182586 0.0957450087677
 +
237.756 2.31723938982 1.39235700939 1.32122145538 56.2222910007 0.0994492070068 0.0963657746638
 +
238.883 2.29510166765 1.41782525856 1.32525478595 56.6102196094 0.101787922351 0.0958667702959
 +
240.01 2.27307857975 1.44346922416 1.32912958793 56.99902255 0.104170127492 0.0936552761253
 +
241.136 2.25156352952 1.46877367216 1.3328504636 57.3886979102 0.106595491136 0.0891234503347
 +
242.263 2.23108955742 1.49302151497 1.33642465838 57.7790902667 0.109062846045 0.0820147491897
 +
243.39 2.21224863867 1.51539195732 1.33986364857 58.1698477363 0.111569653825 0.0726437429166
 +
244.517 2.19556048353 1.53513716256 1.34318258005 58.5604226279 0.114112074469 0.0620483143948
 +
245.644 2.18130637361 1.55181548893 1.34639903708 58.9501221026 0.116685280201 0.0515336724654
 +
246.771 2.16946775012 1.5653904307 1.34953108354 59.3382000056 0.119284054766 0.0421259894404
 +
247.897 2.15979031585 1.57615646426 1.35259541422 59.7239485934 0.121903408703 0.0342634635051
 +
249.024 2.15191910807 1.58456007861 1.35560628048 60.1067568268 0.124538977087 0.0279850460781
 +
250.151 2.14549021589 1.59107322418 1.35857521301 60.4861313409 0.127187165729 0.0230792135946
 +
251.278 2.1401883209 1.59611111225 1.36151121354 60.8616893756 0.129845133284 0.0192723655794
 +
252.405 2.1357609578 1.60000920845 1.36442120929 61.2331403757 0.132510673329 0.0163117957553
 +
253.531 2.13201371451 1.60302731013 1.36731051144 61.6002653035 0.13518208346 0.0139923731506
 +
254.658 2.12879930286 1.60536293992 1.3701832064 61.9628986223 0.13785804842 0.0121567791781
 +
255.785 2.12600657483 1.60716546747 1.37304245889 62.3209129774 0.140537547023 0.0106878969273
 +
256.912 2.12355128722 1.60854820219 1.37589074779 62.6742103278 0.143219778877 0.00949910279089
 +
258.039 2.1213690965 1.60959767837 1.3787300343 63.0227146189 0.145904111336 0.00852637828034
 +
259.165 2.11941036589 1.61038059016 1.38156188516 63.366366434 0.148590040294 0.00772216183226
 +
260.292 2.11763638468 1.61094886676 1.38438756316 63.7051190679 0.151277161136 0.00705083136461
 +
261.419 2.11601662552 1.61134336818 1.38720809419 64.0389356246 0.153965147085 0.00648545165605
 +
262.546 2.11452674878 1.61159658188 1.39002431743 64.3677868515 0.156653732907 0.00600544843009
 +
263.673 2.11314714124 1.61173460131 1.3928369233 64.6916495096 0.15934270254 0.00559494427312
 +
264.799 2.11186183718 1.61177858902 1.39564648239 65.0105051351 0.162031879596 0.00524156246773
 +
265.926 2.1106577141 1.61174586829 1.39845346784 65.3243390889 0.164721120006 0.0049355610751
 +
267.053 2.10952388748 1.61165074508 1.40125827282 65.6331398213 0.167410306268 0.00466920081916
 +
268.18 2.10845125074 1.61150513299 1.4040612242 65.9368982974 0.170099342902 0.00443627863935
 +
269.307 2.10743212228 1.61131903248 1.4068625935 66.2356075441 0.172788152832 0.0042317877004
 +
270.433 2.10645997069 1.61110090401 1.40966260562 66.5292622914 0.175476674485 0.00405164403975
 +
271.56 2.10552920279 1.61085795548 1.41246144586 66.817858684 0.178164859439 0.00389250219595
 +
272.687 2.1046349939 1.61059637218 1.41525926568 67.1013940501 0.18085267051 0.00375160097148
 +
273.814 2.10377315369 1.61032149834 1.4180561874 67.379866713 0.183540080182 0.00362664773641
 +
274.941 2.10294001848 1.61003798262 1.42085230804 67.6532758377 0.186227069312 0.00351572859422
 +
276.067 2.10213236428 1.60974989545 1.42364770256 67.9216213051 0.188913626059 0.00341723809927
 +
277.194 2.1013473359 1.60946082434 1.42644242647 68.1849036078 0.191599744985 0.00332982387905
 +
278.321 2.10058238884 1.60917395206 1.42923651814 68.4431237644 0.194285426312 0.00325234271182
 +
279.448 2.09983524122 1.60889212094 1.43203000061 68.6962832473 0.196970675291 0.00318382547898
 +
280.575 2.09910383379 1.60861788637 1.43482288316 68.9443839232 0.199655501671 0.00312344904682
 +
281.701 2.09838629639 1.60835356155 1.43761516269 69.1874280027 0.202339919258 0.00307051360112
 +
282.828 2.09768091964 1.60810125513 1.44040682481 69.4254179988 0.205023945532 0.00302442430625
 +
283.955 2.0969861308 1.60786290323 1.44319784479 69.6583566909 0.207707601336 0.00298467642175
 +
285.082 2.09630047308 1.60764029687 1.44598818834 69.8862470946 0.210390910607 0.00295084320681
 +
286.209 2.09562258772 1.60743510565 1.44877781233 70.1090924367 0.213073900146 0.00292256609331
 +
287.336 2.09495119836 1.60724889839 1.45156666531 70.3268961334 0.215756599439 0.00289954672403
 +
288.462 2.09428509714 1.60708316141 1.454354688 70.5396617733 0.218439040499 0.00288154054241
 +
289.589 2.09362313241 1.6069393148 1.45714181364 70.7473931018 0.221121257741 0.0028683516911
 +
290.716 2.09296419751 1.60681872717 1.45992796832 70.9500940091 0.223803287887 0.00285982903328
 +
291.843 2.09230722047 1.60672272922 1.46271307119 71.1477685198 0.226485169887 0.0028558631563
 +
292.97 2.09165115451 1.60665262645 1.46549703464 71.340420785 0.22916694487 0.0028563851168
 +
294.096 2.09099496863 1.60660971149 1.4682797644 71.5280550754 0.231848656114 0.00286136163324
 +
295.223 2.09033763952 1.60659527504 1.47106115957 71.7106757767 0.234530349031 0.00287079990158
 +
296.35 2.0896781422 1.60661061835 1.47384111263 71.8882873861 0.237212071177 0.00288474419941
 +
297.477 2.08901544151 1.60665706472 1.47661950938 72.0608945098 0.239893872285 0.0029032778177
 +
298.604 2.08834848316 1.60673597171 1.47939622876 72.2285018623 0.242575804306 0.00292652489455
 +
299.73 2.08767618436 1.60684874391 1.4821711427 72.3911142667 0.245257921486 0.00295465315205
 +
300.857 2.08699742376 1.60699684678 1.48494411586 72.5487366557 0.247940280455 0.00298787765288
 +
301.984 2.08631103063 1.60718182171 1.48771500529 72.7013740746 0.250622940342 0.00302646932978
 +
303.111 2.085615772 1.60740530388 1.49048366003 72.8490316847 0.253305962925 0.00307074734279
 +
304.238 2.08491034155 1.60766903776 1.4932499206 72.991714768 0.255989412798 0.00312110771
 +
305.364 2.08419334202 1.60797490196 1.49601361846 73.1294287337 0.25867335758 0.00317801996368
 +
306.491 2.08346326826 1.60832493304 1.49877457522 73.2621791252 0.261357868163 0.0032420432986
 +
307.618 2.08271848668 1.60872135469 1.50153260189 73.389971629 0.264043019002 0.00331384294045
 +
308.745 2.08195721086 1.60916661232 1.50428749781 73.5128120856 0.266728888463 0.00339420586589
 +
309.872 2.08117747359 1.60966341283 1.50703904951 73.6307065011 0.269415559229 0.00348407353736
 +
310.998 2.08037709138 1.61021477528 1.5097870293 73.7436610617 0.272103118785 0.00358457365187
 +
312.125 2.07955362168 1.6108240919 1.51253119359 73.8516821501 0.274791659998 0.00369705055319
 +
313.252 2.07870431311 1.61149519938 1.51527128091 73.9547763649 0.277481281804 0.00382315648821
 +
314.379 2.07782603473 1.61223247999 1.51800700947 74.0529505429 0.280172090043 0.00396487212457
 +
315.506 2.07691520059 1.61304096988 1.52073807422 74.1462117852 0.28286419847 0.00412463871527
 +
316.632 2.07596766391 1.61392651083 1.52346414329 74.2345674886 0.285557729986 0.00430549618982
 +
317.759 2.07497857958 1.61489594764 1.52618485358 74.318025381 0.288252818156 0.00451120539865
 +
318.886 2.07394223849 1.6159573663 1.52889980524 74.3965935655 0.290949609104 0.00474657027049
 +
320.013 2.07285182797 1.61712043842 1.53160855475 74.4702805716 0.293648263889 0.00501780336077
 +
321.14 2.07169910817 1.6183968867 1.53431060608 74.5390954184 0.296348961571 0.00533298325971
 +
322.266 2.07047398336 1.6198011023 1.53700539906 74.6030476925 0.299051903182 0.00570291315691
 +
323.393 2.06916387604 1.62135104651 1.53969229421 74.6621476446 0.301757316978 0.00614227240339
 +
324.52 2.06775283648 1.6230695346 1.54237055211 74.7164063118 0.304465465541 0.0066716645716
 +
325.647 2.06622018179 1.62498619896 1.54503930492 74.765835677 0.307176655608 0.00732079935734
 +
326.774 2.06453840397 1.62714050912 1.5476975157 74.8104488804 0.30989125211 0.00813420296776
 +
327.901 2.06266976621 1.62958668924 1.55034391851 74.8502605097 0.312609698912 0.00918179516576
 +
329.027 2.0605604693 1.63240215293 1.55297692589 74.8852870155 0.315332550824 0.0105798682354
 +
330.154 2.05812999869 1.63570292124 1.55559447858 74.9155473361 0.318060525751 0.0125376174011
 +
331.281 2.05524978223 1.63967454228 1.55819378288 74.9410639077 0.320794595977 0.0154726723698
 +
332.408 2.05169530738 1.64464154972 1.56077080581 74.9618644645 0.323536164085 0.0203575699604
 +
333.535 2.04701864464 1.65125266715 1.5633191592 74.9779857295 0.326287452968 0.0301023710185
 +
334.661 2.04010334791 1.66112886679 1.56582700453 74.9894825064 0.329052592004 0.0591823452511
 +
335.788 2.02650762557 1.68074638777 1.56826352499 74.9964647039 0.331842397989 0.683565584967
 +
336.915 1.86947485066 1.91808365925 1.57012747793 74.9994940577 0.334843797816 0.958845838661
 +
338.042 1.64920304929 2.287 1.57079632679 75.0 0.338347434634 0.0
 +
</pre>
 
   
 
   
[[Category:CasADi]]
+
[[Category:Casadi]]

Latest revision as of 11:01, 15 December 2015

This page contains a discretized version of the OCP Gravity Turn Maneuver in CasADi 2.4.2 format. The continuous model was discretized using a direct multiple shooting approach with 300 shooting nodes distributed equidistantly over a variable time horizon. The control grid is equal to the DMS grid. An initial solution is chosen by linearly interpolating between initial and terminal state.

CasADi

# ----------------------------------------------------------------
# Gravity Turn Maneuver with direct multiple shooting using CVodes
# (c) Mirko Hahn
# ----------------------------------------------------------------
from casadi import *
 
# Artificial model parameters
N = 300                   # Number of shooting intervals
vel_eps = 1e-6            # Initial velocity (km/s)
 
# Vehicle parameters
m0   = 11.3               # Launch mass (t)
m1   = 1.3                # Dry mass (t)
g0   = 9.81e-3            # Gravitational acceleration at altitude zero (km/s^2)
r0   = 6.0e2              # Radius at altitude zero (km)
Isp  = 300.0              # Specific impulse (s)
Fmax = 600.0e-3           # Maximum thrust (MN)
 
# Atmospheric parameters
cd  = 0.021                        # Drag coefficients
A   = 1.0                          # Reference area (m^2)
H   = 5.6                          # Scale height (km)
rho = (1.0 * 1.2230948554874)      # Density at altitude zero
 
# Target orbit parameters
h_obj = 75                # Target altitude (km)
v_obj = 2.287             # Target velocity (km/s)
q_obj = 0.5 * pi          # Target angle to vertical (rad)
 
# Create symbolic variables
x = SX.sym('[m, v, q, h, d]')      # Vehicle state
u = SX.sym('u')                    # Vehicle controls
T = SX.sym('T')                    # Time horizon (s)
 
# Introduce symbolic expressions for important composite terms
Fthrust = Fmax * u
Fdrag   = 0.5e3 * A * cd * rho * exp(-x[3] / H) * x[1]**2
r       = x[3] + r0
g       = g0 * (r0 / r)**2
vhor    = x[1] * sin(x[2])
vver    = x[1] * cos(x[2])
 
# Build symbolic expressions for ODE right hand side
mdot = -(Fmax / (Isp * g0)) * u
vdot = (Fthrust - Fdrag) / x[0] - g * cos(x[2])
hdot = vver
ddot = vhor / r
qdot = g * sin(x[2]) / x[1] - ddot
 
# Build the DAE function
ode = [
    mdot,
    vdot,
    qdot,
    hdot,
    ddot
]
quad = u
dae = SXFunction("dae", daeIn(x=x, p=vertcat([u, T])), daeOut(ode=T*vertcat(ode), quad=T*quad))
I = Integrator("I", "cvodes", dae, {'t0': 0.0, 'tf': 1.0 / N})
 
# Specify upper and lower bounds as well as initial values for DAE parameters,
# states and controls
p_min  = [120.0]
p_max  = [600.0]
p_init = [120.0]
 
u_min  = [0.0]
u_max  = [1.0]
u_init = [0.5]
 
x0_min  = [m0, vel_eps,       0.0, 0.0, 0.0]
x0_max  = [m0, vel_eps,  0.5 * pi, 0.0, 0.0]
x0_init = [m0, vel_eps, 0.05 * pi, 0.0, 0.0]
 
xf_min  = [m1, v_obj, q_obj, h_obj, 0.0]
xf_max  = [m0, v_obj, q_obj, h_obj, inf]
xf_init = [m1, v_obj, q_obj, h_obj, 0.0]
 
x_min  = [m1, vel_eps, 0.0, 0.0, 0.0]
x_max  = [m0,     inf,  pi, inf, inf]
x_init = [0.5 * (m0 + m1), 0.5 * v_obj, 0.5 * q_obj, 0.5 * h_obj, 0.0]
 
# Useful variable block sizes
np = 1                         # Number of parameters
nx = x.size1()                 # Number of states
nu = u.size1()                 # Number of controls
ns = nx + nu                   # Number of variables per shooting interval
 
# Introduce symbolic variables and disassemble them into blocks
V = MX.sym('X', N * ns + nx + np)
P = V[0]
X = [V[np+i*ns:np+i*ns+nx] for i in range(0, N+1)]
U = [V[np+i*ns+nx:np+(i+1)*ns] for i in range(0, N)]
 
# Nonlinear constraints and Lagrange objective
G = []
F = 0.0
 
# Build DMS structure
x0 = p_init + x0_init
for i in range(0, N):
    Y = I({'x0': X[i], 'p': vertcat([U[i], P])})
    G = G + [Y['xf'] - X[i+1]]
    F = F + Y['qf']
 
    frac = float(i+1) / N
    x0 = x0 + u_init + [x0_init[i] + frac * (xf_init[i] - x0_init[i]) for i in range(0, nx)]
 
# Lower and upper bounds for solver
lbg = 0.0
ubg = 0.0
lbx = p_min + x0_min + u_min + (N-1) * (x_min + u_min) + xf_min
ubx = p_max + x0_max + u_max + (N-1) * (x_max + u_max) + xf_max
 
# Solve the problem using IPOPT
nlp = MXFunction("nlp", nlpIn(x=V), nlpOut(f=m0 - X[-1][0], g=vertcat(G)))
S = NlpSolver("S", "ipopt", nlp, {'tol': 1e-5})
r = S({
    'x0' : x0,
    'lbx': lbx,
    'ubx': ubx,
    'lbg': lbg,
    'ubg': ubg
})
 
# Extract state sequences and parameters from result
x = r['x']
f = r['f']
T = x[0]
 
t = [i * (T / N) for i in range(0, N+1)]
m = x[np  ::ns].get()
v = x[np+1::ns].get()
q = x[np+2::ns].get()
h = x[np+3::ns].get()
d = x[np+4::ns].get()
u = x[np+nx::ns].get() + [0.0]

Results

The solution is calculated using IPOPT (3.11.9, default settings with tolerance 1e-5, using linear solver MUMPS in sequential mode on Ubuntu 15.10 for x86-64 with Linux 4.2.0-19-generic, Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz, 16 GB RAM). The objective function value is 9.65080. IPOPT finds the solution in 84 iterations (77.466 seconds proc time).

Solution

The following is a Gnuplot compatible tabular version of the solution:

# t	m	v	beta	h	theta	u
0	11.3	1e-06	2.77860819863e-06	0.0	0.0	0.999871890934
1.12681	11.0703034485	0.0483649064877	3.1715534546e-05	0.0274199153907	1.29929499744e-09	0.998958246276
2.25361	10.8408167849	0.0921925497448	3.72636082804e-05	0.107252362504	5.95514030718e-09	0.326196705112
3.38042	10.7658809267	0.090683693199	4.20453758593e-05	0.210227341355	1.27488341644e-08	0.36077660746
4.50722	10.6830011665	0.0916779384911	4.74523648979e-05	0.312965878384	2.04014332419e-08	0.348216995107
5.63403	10.6030066755	0.0920148841805	5.35065012386e-05	0.416440676184	2.90935384675e-08	0.348162975156
6.76084	10.5230245943	0.0925365990072	6.02966641843e-05	0.5204032739	3.89367692674e-08	0.344819131671
7.88764	10.4438106808	0.0930181089434	6.79018539473e-05	0.624930229321	5.0083520831e-08	0.342374770938
9.01445	10.3651583006	0.0935195865936	7.64151897145e-05	0.730011396396	6.26964446471e-08	0.339711745211
10.1413	10.2871176865	0.0940246707442	8.59376994215e-05	0.835659580289	7.69598912076e-08	0.337150529163
11.2681	10.2096654503	0.0945389717196	9.65812647273e-05	0.941881973673	9.30793785195e-08	0.334568141088
12.3949	10.1328064557	0.0950597343545	0.000108469263306	1.04868760273	1.11285346314e-07	0.332038336386
13.5217	10.056528623	0.0955892162114	0.000121737440866	1.15608504563	1.31834851487e-07	0.329509747357
14.6485	9.98083167285	0.0961262052325	0.000136535062263	1.26408339909	1.55014894122e-07	0.327010078582
15.7753	9.90570896159	0.0966714389773	0.000153026224658	1.37269153914	1.81145560812e-07	0.324528413444
16.9021	9.8311563533	0.0972248963531	0.000171391070942	1.48191873119	2.10583693434e-07	0.322070798124
18.0289	9.75716832309	0.0977869802566	0.000191827201329	1.59177446655	2.43726791529e-07	0.319627886638
19.1557	9.68374149313	0.0983574847092	0.000214551185091	1.70226833537	2.81017264632e-07	0.31721107001
20.2825	9.61086986874	0.098937003886	0.000239800140529	1.81341016432	3.22947209818e-07	0.314811149588
21.4093	9.53854956842	0.0995254924258	0.000267833415404	1.92521007587	3.70063587119e-07	0.312432454392
22.5361	9.46677571619	0.100123238775	0.000298934444328	2.03767833673	4.22973838873e-07	0.310073449285
23.6629	9.39554378872	0.100730432337	0.000333412654684	2.15082548065	4.8235212264e-07	0.307734103495
24.7897	9.32484926976	0.101347278805	0.000371605537268	2.26466226419	5.48946059076e-07	0.305415304594
25.9165	9.25468743916	0.101974058967	0.000413880815239	2.37919971927	6.23584148107e-07	0.303112723465
27.0433	9.18505457126	0.102610772129	0.000460638805631	2.49444902948	7.07183733168e-07	0.300842293289
28.1701	9.11594328017	0.103258535918	0.000512314669319	2.61042203018	8.00760182938e-07	0.29856639394
29.297	9.04735482228	0.10391580613	0.000569381363827	2.72713026137	9.05435602071e-07	0.296333057678
30.4238	8.97927941977	0.104584604775	0.00063235220542	2.84458560489	1.02244990183e-06	0.294107919546
31.5506	8.91171518929	0.105264330731	0.000701783418957	2.96280068854	1.15317229058e-06	0.291904654179
32.6774	8.84465710611	0.105955482276	0.000778277594739	3.08178810404	1.29911291511e-06	0.289719505221
33.8042	8.77810100842	0.106658275558	0.000862486607199	3.20156083904	1.46193653067e-06	0.287553332661
34.931	8.71204253685	0.107373013262	0.000955114979	3.32213217435	1.64347680043e-06	0.285405783978
36.0578	8.64647741301	0.108099987244	0.00105692329751	3.44351572451	1.84575192933e-06	0.283276805784
37.1846	8.58140137077	0.108839503086	0.00116873180087	3.56572543978	2.07098151567e-06	0.281166363371
38.3114	8.51681015199	0.109591868394	0.00129142446873	3.68877571076	2.32160626668e-06	0.279074591534
39.4382	8.45269946754	0.110357438748	0.00142595200563	3.8126811585	2.60030425935e-06	0.277000138296
40.565	8.3890653389	0.111136473076	0.00157333666297	3.93745682923	2.91001532601e-06	0.274947440837
41.6918	8.3259027682	0.111929592965	0.00173467569233	4.06311823087	3.25396235208e-06	0.272899557983
42.8186	8.2632106494	0.112736134768	0.00191114652647	4.1896808402	3.63567518946e-06	0.270895618686
43.9454	8.20097888752	0.113558538722	0.00210400962722	4.31716118699	4.05902022234e-06	0.26888554858
45.0722	8.13920889097	0.114395149167	0.00231461539834	4.44557643334	4.52823353859e-06	0.266904254414
46.199	8.07789404916	0.115247354064	0.00254440411962	4.5749430461	5.04792741452e-06	0.264938553658
47.3258	8.01703077989	0.116115365681	0.00279491448205	4.70527870185	5.62314930667e-06	0.262989088609
48.4527	7.9566153534	0.116999476021	0.00306778844827	4.83660152318	6.25941240849e-06	0.261061056952
49.5795	7.89664284586	0.117900465281	0.00336477191539	4.96892989716	6.96271718178e-06	0.25914680789
50.7063	7.83711009107	0.118818468407	0.00368772122835	5.10228276769	7.73960139672e-06	0.257251762341
51.8331	7.77801267749	0.119754108957	0.00403861111944	5.23667972676	8.59719297438e-06	0.255373633633
52.9599	7.71934671886	0.120707832067	0.00441953501588	5.37214086131	9.54324137038e-06	0.253513463423
54.0867	7.66110808965	0.121680196244	0.00483271074897	5.50868681957	1.0586170107e-05	0.251668719133
55.2135	7.60329324614	0.122671570262	0.00528048506647	5.64633876202	1.17351275208e-05	0.249848290104
56.3403	7.54589660248	0.12368304859	0.00576534128992	5.78511913141	1.30000721019e-05	0.248030023384
57.4671	7.48891766192	0.124713940463	0.00628989313982	5.92504970261	1.43917464287e-05	0.246246828699
58.5939	7.43234836752	0.125766448506	0.00685689740221	6.06615351629	1.59218157566e-05	0.244470147632
59.7207	7.37618722291	0.12684018476	0.00746925356802	6.20845460354	1.76029136875e-05	0.242710243883
60.8475	7.32043037392	0.127935789228	0.00813001041354	6.35197713654	1.94487007846e-05	0.240968981314
61.9743	7.26507353818	0.129054086829	0.00884236627962	6.49674609541	2.14739438826e-05	0.23925307835
63.1011	7.21011088994	0.130196491008	0.00960966899285	6.64278770638	2.36945990586e-05	0.237534777489
64.2279	7.15554298005	0.131361937783	0.0104354233221	6.79012832879	2.61278751366e-05	0.23585143399
65.3547	7.10136177789	0.132552890675	0.0113232895957	6.93879513148	2.87923294653e-05	0.2341728937
66.4816	7.04756618005	0.133768963387	0.0122770825344	7.08881637522	3.17079597105e-05	0.232515140152
67.6084	6.99415141127	0.135011367809	0.0133007756639	7.24022076771	3.489628693e-05	0.230886212442
68.7352	6.94111084951	0.136282024555	0.0143984921845	7.39303874282	3.83804791206e-05	0.229237770352
69.862	6.88844897772	0.137578371059	0.0155745192201	7.54730025492	4.2185403193e-05	0.227651747455
70.9888	6.8361514566	0.138905777722	0.0168332919058	7.70303688792	4.63377844701e-05	0.226040852646
72.1156	6.78422399988	0.140261077142	0.0181793935172	7.86028127533	5.08662980623e-05	0.224478472654
73.2424	6.73265546243	0.141648439305	0.019617556595	8.01906663398	5.58016805566e-05	0.222909371404
74.3692	6.6814473883	0.143066527127	0.0211526505188	8.1794276065	6.11768685792e-05	0.221365434305
75.496	6.63059399664	0.144517323094	0.0227896869811	8.34139913677	6.70270941747e-05	0.219834207182
76.6228	6.58009236763	0.146001557324	0.0245338029641	8.50501755198	7.33900464956e-05	0.218318672364
77.7496	6.52993889635	0.147520328785	0.0263902584024	8.67032007873	8.03059938452e-05	0.216817734448
78.8764	6.4801302295	0.149074677241	0.0283644260742	8.83734499171	8.7817928719e-05	0.215331337971
80.0032	6.43066302655	0.150665696403	0.0304617820826	9.0061315898	9.59717112317e-05	0.213859120912
81.13	6.3815340301	0.152294503944	0.0326878948441	9.17672021654	0.000104816219211	0.212400765796
82.2568	6.33274005571	0.153962249277	0.0350484130922	9.349152266	0.000114403502127	0.210955909902
83.3836	6.28427800226	0.155670111679	0.0375490527181	9.52347018919	0.000124788939302	0.209524141378
84.5104	6.23614486324	0.157419298224	0.0401955825251	9.69971749513	0.000136031401927	0.208105098379
85.6373	6.18833771526	0.159211052039	0.0429938088247	9.87793875239	0.000148193418971	0.206698051968
86.7641	6.14085380241	0.161046616871	0.045949559208	10.0581795713	0.00016134134535	0.20530314624
87.8909	6.09369033564	0.162927336993	0.0490686639898	10.2404865652	0.000175545513359	0.203918747031
89.0177	6.04684490133	0.16485448585	0.0523569342652	10.4249070234	0.000190880274873	0.20254508625
90.1445	6.0003150326	0.166829394827	0.0558201586963	10.6114900844	0.000207424693812	0.201181884102
91.2713	5.95409832682	0.168853490022	0.0594640652613	10.8002854138	0.000225262173161	0.199826900476
92.3981	5.90819289598	0.170928045658	0.0632943074249	10.9913435862	0.00024448081858	0.198484497102
93.5249	5.86259585008	0.173054917608	0.0673164378665	11.1847162704	0.000265173641721	0.197142365834
94.6517	5.8173071266	0.175234631536	0.0715359035273	11.3804566002	0.000287439171446	0.19581509709
95.7785	5.77232331123	0.177469601096	0.0759579928423	11.5786168176	0.00031138025671	0.194489552909
96.9053	5.7276440078	0.179760754068	0.0805878327051	11.7792510207	0.000337105653027	0.193171075564
98.0321	5.68326759288	0.182109772966	0.0854303660891	11.9824138038	0.000364729692297	0.191856546845
99.1589	5.63919315935	0.184518084562	0.0904903229932	12.1881604332	0.000394372482122	0.190545791715
100.286	5.59541984033	0.186987216792	0.0957721994977	12.3965466658	0.000426160059288	0.189237618706
101.413	5.55194704264	0.189518676343	0.101280234021	12.6076286856	0.000460224553006	0.187931319951
102.539	5.50877433572	0.192114007529	0.107018384704	12.8214630013	0.000496704337203	0.186625350468
103.666	5.46590164391	0.194774692175	0.112990307975	13.0381063103	0.000535744169706	0.185319524162
104.793	5.42332893434	0.197502324355	0.119199338779	13.2576151459	0.000577495120379	0.184011250854
105.92	5.38105676913	0.200298298116	0.125648469997	13.4800460779	0.000622114979592	0.182703979499
107.047	5.33908491813	0.203164545399	0.132340326049	13.7054557859	0.000669768442498	0.181380162161
108.173	5.29741718235	0.206100956716	0.139277171443	13.9338999237	0.000720626920245	0.180077851231
109.3	5.25604862124	0.209112305327	0.146460845822	14.1654345222	0.000774868910802	0.178745580145
110.427	5.2149861174	0.212196908766	0.153892770121	14.4001151769	0.000832680144635	0.177419731479
111.554	5.17422819546	0.215357926751	0.161573965652	14.6379957225	0.000894253129205	0.176078216333
112.681	5.13377845439	0.218595754562	0.169505013478	14.8791289352	0.000959787168053	0.174739532299
113.807	5.09363624383	0.221913262603	0.177686016434	15.1235675385	0.00102948975665	0.173382603066
114.934	5.05380575517	0.225310655964	0.186116626604	15.3713624067	0.0011035749808	0.172020176306
116.061	5.01428825134	0.228789934866	0.194796043809	15.622562415	0.00118226385685	0.170646289447
117.188	4.97508636501	0.2323523632	0.203722988155	15.877214973	0.00126578462411	0.169261847706
118.315	4.93620252092	0.235999394966	0.212895709018	16.1353655168	0.00135437257109	0.167861283163
119.441	4.89764042289	0.239731793973	0.222311993235	16.3970570287	0.00144826983087	0.166463174946
120.568	4.85939950665	0.243552876412	0.2319691275	16.6623309109	0.00154772567014	0.16501962689
121.695	4.8214902109	0.247459436029	0.241863982882	16.9312245581	0.00165299550398	0.16362238225
122.822	4.78390189855	0.251460958539	0.251992891186	17.2037747143	0.00176434218206	0.162134758871
123.949	4.74665533193	0.255547831018	0.262351785307	17.4800135557	0.00188203421959	0.160701829941
125.075	4.70973794632	0.25973094261	0.272936178367	17.7599695909	0.00200634617712	0.1592201533
126.202	4.67316094034	0.264006332803	0.283741056751	18.0436703171	0.00213755952957	0.15774077977
127.329	4.63692378489	0.268377382628	0.294761047554	18.3311381431	0.00227596081776	0.156236108649
128.456	4.60103229148	0.272843409621	0.30599036601	18.6223919461	0.00242184208841	0.154730045069
129.583	4.56548678002	0.27740713913	0.317422844501	18.917446631	0.00257550051171	0.15320882695
130.709	4.53029073188	0.282069160196	0.329051922806	19.2163136482	0.00273723839674	0.151675952961
131.836	4.49544682472	0.286830476898	0.340870703168	19.5189999704	0.00290736242692	0.150128335981
132.963	4.46095844539	0.29169151171	0.352871974521	19.8255078969	0.00308618325604	0.148583730647
134.09	4.42682490203	0.296655192076	0.365048192184	20.1358359994	0.00327401577339	0.147026119864
135.217	4.39304918234	0.301721844087	0.377391501787	20.4499789559	0.00347117871009	0.145455052239
136.344	4.35963437771	0.306891570574	0.389893822727	20.7679260117	0.00367799338258	0.143871593177
137.47	4.32658333476	0.312164464356	0.402546877792	21.0896608202	0.00389478318825	0.142322437674
138.597	4.29388817308	0.317547599096	0.415342068751	21.4151650655	0.00412187569805	0.140720554489
139.724	4.26156100558	0.323034257733	0.428270646039	21.7444147977	0.004359599761	0.139150738139
140.851	4.22959446569	0.328630866952	0.441323746735	22.0773802282	0.00460828504446	0.137562931199
141.978	4.19799268631	0.334335652626	0.45449231783	22.4140281884	0.00486826330112	0.135984178842
143.104	4.16675358736	0.340150931485	0.467767226546	22.7543201019	0.00513986653101	0.134403245922
144.231	4.13587766978	0.34607695491	0.481139244329	23.0982130354	0.00542342732277	0.132841183428
145.358	4.10536059853	0.352117124858	0.494599049822	23.4456603121	0.00571927898548	0.131254620191
146.485	4.07520800209	0.358267509454	0.508137339133	23.7966094594	0.00602775334751	0.129734325622
147.612	4.0454046568	0.364538840501	0.521744702397	24.1510059993	0.00634918370875	0.128123375957
148.738	4.01597138851	0.370915585821	0.535411879908	24.5087877147	0.0066838990939	0.126625614658
149.865	3.9868821949	0.377416005355	0.549129633693	24.8698886556	0.0070322276457	0.125095329084
150.992	3.95814454765	0.38403354431	0.562888599047	25.2342434182	0.00739450007803	0.123575720431
152.119	3.92975599399	0.390768746594	0.576679646841	25.6017788148	0.00777104140008	0.122097034422
153.246	3.90170713292	0.397627068094	0.590493700871	25.9724195437	0.00816217536324	0.120619204646
154.372	3.87399776775	0.404606826309	0.604321724176	26.3460879705	0.0085682257792	0.119139279377
155.499	3.84662837986	0.411705602273	0.618154958243	26.7226999116	0.00898950967799	0.11769779346
156.626	3.81959013874	0.418927817944	0.631984801492	27.102167955	0.00942634101953	0.116307720762
157.753	3.79287123344	0.426279963316	0.645802668576	27.4844056908	0.00987903516909	0.114909003327
158.88	3.76647364987	0.433757704622	0.659600164107	27.8693238297	0.0103479041381	0.11353757123
160.006	3.74039111988	0.441362919471	0.673369174971	28.2568283773	0.0108332540078	0.112204126528
161.133	3.71461491679	0.449099234279	0.687101746228	28.6468244024	0.011335389075	0.110874566231
162.26	3.68914414824	0.456963945772	0.700790170594	29.0392141934	0.011854609165	0.109607888423
163.387	3.6639643685	0.46496494706	0.71442692864	29.4338993462	0.0123912120755	0.108325298974
164.514	3.63907923287	0.473095554628	0.728004763443	29.8307792105	0.0129454910787	0.107108345847
165.64	3.614473663	0.481364007654	0.741516681812	30.2297512957	0.0135177352389	0.105909235044
166.767	3.59014356003	0.489769580849	0.754955869712	30.6307139452	0.0141082327998	0.104732160398
167.894	3.56608386169	0.498312231143	0.768315825754	31.0335630805	0.0147172662949	0.103616637213
169.021	3.54228042801	0.506999303827	0.781590244909	31.4381957311	0.0153451175064	0.102496160469
170.148	3.51873439695	0.515825473675	0.794773102357	31.844508028	0.0159920640523	0.10142878261
171.275	3.49543357031	0.524796440273	0.807858677026	32.2523948027	0.016658378763	0.100389183787
172.401	3.47237156654	0.533913028293	0.82084146703	32.6617521896	0.0173443334375	0.0993824292457
173.528	3.44954084044	0.543177025502	0.833716246083	33.0724762574	0.0180501964858	0.0984084054609
174.655	3.42693387291	0.55259019939	0.846478050455	33.4844635523	0.0187762336328	0.0974657610729
175.782	3.40454345529	0.56215406552	0.859122181762	33.897611163	0.0195227078568	0.0965315558344
176.909	3.38236764888	0.571865604518	0.871644264787	34.3118151219	0.0202898762821	0.0957068943634
178.035	3.36038128864	0.58174198669	0.884040049864	34.7269763292	0.0210780009442	0.094840281032
179.162	3.33859401199	0.591770161035	0.896305538814	35.1429969332	0.0218873420712	0.0940267110607
180.289	3.31699363351	0.601956170801	0.908437112046	35.5597765678	0.022718150726	0.0932459914327
181.416	3.29557260661	0.612302073589	0.920431342084	35.9772178831	0.0235706792513	0.0924960269957
182.543	3.27432386603	0.622809582236	0.932285045267	36.3952251234	0.0244451781258	0.0917746516192
183.669	3.25324084411	0.633480049347	0.943995276416	36.813704026	0.0253418962708	0.0910898900904
184.796	3.23231512971	0.644316588802	0.955559310576	37.2325624055	0.0262610820246	0.090427293703
185.923	3.21154163091	0.65531941454	0.966974650269	37.65170988	0.0272029824175	0.0897942524948
187.05	3.19091355812	0.666490384213	0.978239031418	38.0710575809	0.0281678424517	0.0891882862955
188.177	3.17042469152	0.677830948076	0.989350403076	38.4905186651	0.0291559061565	0.0886068954785
189.303	3.15006938549	0.689342139488	1.00030692804	38.9100081591	0.0301674161585	0.0880440118486
190.43	3.12984338845	0.701023799816	1.01110698963	39.3294425734	0.0312026126529	0.0875382504335
191.557	3.10973357796	0.712884233974	1.02174911633	39.7487422093	0.0322617389994	0.0870235258901
192.684	3.08974201306	0.724917596844	1.03223203689	40.1678295171	0.0333450363598	0.086537120412
193.811	3.06986218814	0.737126224337	1.04255469525	40.5866273714	0.0344527434626	0.0860741144014
194.937	3.05008872773	0.749511516905	1.05271620704	41.0050614044	0.0355850978481	0.0856278218239
196.064	3.03041779232	0.762073526423	1.06271585977	41.4230593906	0.0367423358393	0.0851942003027
197.191	3.01084647104	0.774811512158	1.07255312092	41.8405507482	0.037924691048	0.0847615596412
198.318	2.99137453856	0.787722194288	1.08222765337	42.2574657363	0.0391323919262	0.0842795697267
199.445	2.97201333168	0.800790909919	1.09173940723	42.6737319586	0.0403656510967	0.0841413216968
200.571	2.95268388397	0.814092598541	1.10108802381	43.0892950499	0.0416247262083	0.08371610095
201.698	2.93345212052	0.827558922074	1.1102732496	43.504104154	0.0429098783895	0.0833448165924
202.825	2.91430565073	0.841199067207	1.11929539622	43.9180955801	0.0442213211594	0.083004390475
203.952	2.89523738566	0.855017161026	1.12815479474	44.3312114251	0.0455592769976	0.0826886238479
205.079	2.87624166039	0.869016085433	1.13685183841	44.7433979617	0.0469239725813	0.082400617637
206.205	2.85731209763	0.883199637817	1.14538698132	45.1546055514	0.0483156386816	0.0821495834674
207.332	2.83844020394	0.897574012367	1.15376071386	45.5647894136	0.0497345129394	0.081960137606
208.459	2.81961183088	0.912151562027	1.16197350859	45.9739115478	0.0511808468384	0.0818687043771
209.586	2.80080446242	0.926953834018	1.17002573401	46.3819440838	0.0526549174148	0.0810184794884
210.713	2.7821924127	0.941795099108	1.17791881263	46.7888249923	0.0541568708428	0.0808831133172
211.84	2.76361146011	0.956845247323	1.18565429447	47.194492683	0.0556868390995	0.080827711652
212.966	2.74504323472	0.972122260061	1.19323269937	47.5989289316	0.0572451045916	0.080665896085
214.093	2.72651218257	0.987598527983	1.20065468508	48.0021159103	0.0588319415495	0.0805282595747
215.22	2.7080127491	1.00327843628	1.20792110878	48.4040336729	0.0604476050602	0.0804087415234
216.347	2.68954077204	1.01916507272	1.21503284984	48.8046665904	0.0620923559383	0.0803491591294
217.474	2.67108248259	1.03527228985	1.22199076032	49.2040052333	0.0637664684986	0.0803433226464
218.6	2.65262553394	1.05161283419	1.22879561977	49.602048146	0.0654702385192	0.0803953952452
219.727	2.63415662287	1.06820096584	1.23544813994	49.9988017719	0.0672039836808	0.080540416293
220.854	2.61565439668	1.08506048445	1.24194891972	50.3942823812	0.068968052689	0.0805576772919
221.981	2.5971482052	1.1021585369	1.24829866885	50.7885071579	0.070762786835	0.0809357330749
223.108	2.57855516449	1.11958948304	1.25449788852	51.1815072775	0.0725885777319	0.0813221356133
224.234	2.55987335707	1.13735738048	1.26054672644	51.5733337837	0.0744458978783	0.081861685112
225.361	2.54106760111	1.15550502874	1.26644523144	51.9640482138	0.0763352582841	0.0825189622963
226.488	2.52211085151	1.17406709133	1.27219323746	52.3537275816	0.0782572337327	0.08333224628
227.615	2.50296726944	1.19308971657	1.27779037303	52.7424646128	0.0802124655481	0.0843255209936
228.742	2.48359550637	1.21262710527	1.28323600719	53.1303706284	0.0822016777173	0.0853092321033
229.868	2.46399775929	1.23268330501	1.28852943771	53.5175683401	0.0842256421802	0.0865852876951
230.995	2.4441068691	1.2533461489	1.29366978064	53.9041972392	0.086285206336	0.0880049628389
232.122	2.42388984263	1.27466502015	1.2986558255	54.2904203274	0.088381330675	0.08961772197
233.249	2.4033023235	1.29670508795	1.30348615514	54.6764203172	0.090515069772	0.0913338227389
234.376	2.38232057143	1.31950856349	1.30815919766	55.062398376	0.0926875662421	0.092992792808
235.502	2.36095771083	1.34307353464	1.31267347541	55.448564208	0.0948999949359	0.0945613759594
236.629	2.33923450593	1.36738876182	1.31702778019	55.8351287069	0.0971535182586	0.0957450087677
237.756	2.31723938982	1.39235700939	1.32122145538	56.2222910007	0.0994492070068	0.0963657746638
238.883	2.29510166765	1.41782525856	1.32525478595	56.6102196094	0.101787922351	0.0958667702959
240.01	2.27307857975	1.44346922416	1.32912958793	56.99902255	0.104170127492	0.0936552761253
241.136	2.25156352952	1.46877367216	1.3328504636	57.3886979102	0.106595491136	0.0891234503347
242.263	2.23108955742	1.49302151497	1.33642465838	57.7790902667	0.109062846045	0.0820147491897
243.39	2.21224863867	1.51539195732	1.33986364857	58.1698477363	0.111569653825	0.0726437429166
244.517	2.19556048353	1.53513716256	1.34318258005	58.5604226279	0.114112074469	0.0620483143948
245.644	2.18130637361	1.55181548893	1.34639903708	58.9501221026	0.116685280201	0.0515336724654
246.771	2.16946775012	1.5653904307	1.34953108354	59.3382000056	0.119284054766	0.0421259894404
247.897	2.15979031585	1.57615646426	1.35259541422	59.7239485934	0.121903408703	0.0342634635051
249.024	2.15191910807	1.58456007861	1.35560628048	60.1067568268	0.124538977087	0.0279850460781
250.151	2.14549021589	1.59107322418	1.35857521301	60.4861313409	0.127187165729	0.0230792135946
251.278	2.1401883209	1.59611111225	1.36151121354	60.8616893756	0.129845133284	0.0192723655794
252.405	2.1357609578	1.60000920845	1.36442120929	61.2331403757	0.132510673329	0.0163117957553
253.531	2.13201371451	1.60302731013	1.36731051144	61.6002653035	0.13518208346	0.0139923731506
254.658	2.12879930286	1.60536293992	1.3701832064	61.9628986223	0.13785804842	0.0121567791781
255.785	2.12600657483	1.60716546747	1.37304245889	62.3209129774	0.140537547023	0.0106878969273
256.912	2.12355128722	1.60854820219	1.37589074779	62.6742103278	0.143219778877	0.00949910279089
258.039	2.1213690965	1.60959767837	1.3787300343	63.0227146189	0.145904111336	0.00852637828034
259.165	2.11941036589	1.61038059016	1.38156188516	63.366366434	0.148590040294	0.00772216183226
260.292	2.11763638468	1.61094886676	1.38438756316	63.7051190679	0.151277161136	0.00705083136461
261.419	2.11601662552	1.61134336818	1.38720809419	64.0389356246	0.153965147085	0.00648545165605
262.546	2.11452674878	1.61159658188	1.39002431743	64.3677868515	0.156653732907	0.00600544843009
263.673	2.11314714124	1.61173460131	1.3928369233	64.6916495096	0.15934270254	0.00559494427312
264.799	2.11186183718	1.61177858902	1.39564648239	65.0105051351	0.162031879596	0.00524156246773
265.926	2.1106577141	1.61174586829	1.39845346784	65.3243390889	0.164721120006	0.0049355610751
267.053	2.10952388748	1.61165074508	1.40125827282	65.6331398213	0.167410306268	0.00466920081916
268.18	2.10845125074	1.61150513299	1.4040612242	65.9368982974	0.170099342902	0.00443627863935
269.307	2.10743212228	1.61131903248	1.4068625935	66.2356075441	0.172788152832	0.0042317877004
270.433	2.10645997069	1.61110090401	1.40966260562	66.5292622914	0.175476674485	0.00405164403975
271.56	2.10552920279	1.61085795548	1.41246144586	66.817858684	0.178164859439	0.00389250219595
272.687	2.1046349939	1.61059637218	1.41525926568	67.1013940501	0.18085267051	0.00375160097148
273.814	2.10377315369	1.61032149834	1.4180561874	67.379866713	0.183540080182	0.00362664773641
274.941	2.10294001848	1.61003798262	1.42085230804	67.6532758377	0.186227069312	0.00351572859422
276.067	2.10213236428	1.60974989545	1.42364770256	67.9216213051	0.188913626059	0.00341723809927
277.194	2.1013473359	1.60946082434	1.42644242647	68.1849036078	0.191599744985	0.00332982387905
278.321	2.10058238884	1.60917395206	1.42923651814	68.4431237644	0.194285426312	0.00325234271182
279.448	2.09983524122	1.60889212094	1.43203000061	68.6962832473	0.196970675291	0.00318382547898
280.575	2.09910383379	1.60861788637	1.43482288316	68.9443839232	0.199655501671	0.00312344904682
281.701	2.09838629639	1.60835356155	1.43761516269	69.1874280027	0.202339919258	0.00307051360112
282.828	2.09768091964	1.60810125513	1.44040682481	69.4254179988	0.205023945532	0.00302442430625
283.955	2.0969861308	1.60786290323	1.44319784479	69.6583566909	0.207707601336	0.00298467642175
285.082	2.09630047308	1.60764029687	1.44598818834	69.8862470946	0.210390910607	0.00295084320681
286.209	2.09562258772	1.60743510565	1.44877781233	70.1090924367	0.213073900146	0.00292256609331
287.336	2.09495119836	1.60724889839	1.45156666531	70.3268961334	0.215756599439	0.00289954672403
288.462	2.09428509714	1.60708316141	1.454354688	70.5396617733	0.218439040499	0.00288154054241
289.589	2.09362313241	1.6069393148	1.45714181364	70.7473931018	0.221121257741	0.0028683516911
290.716	2.09296419751	1.60681872717	1.45992796832	70.9500940091	0.223803287887	0.00285982903328
291.843	2.09230722047	1.60672272922	1.46271307119	71.1477685198	0.226485169887	0.0028558631563
292.97	2.09165115451	1.60665262645	1.46549703464	71.340420785	0.22916694487	0.0028563851168
294.096	2.09099496863	1.60660971149	1.4682797644	71.5280550754	0.231848656114	0.00286136163324
295.223	2.09033763952	1.60659527504	1.47106115957	71.7106757767	0.234530349031	0.00287079990158
296.35	2.0896781422	1.60661061835	1.47384111263	71.8882873861	0.237212071177	0.00288474419941
297.477	2.08901544151	1.60665706472	1.47661950938	72.0608945098	0.239893872285	0.0029032778177
298.604	2.08834848316	1.60673597171	1.47939622876	72.2285018623	0.242575804306	0.00292652489455
299.73	2.08767618436	1.60684874391	1.4821711427	72.3911142667	0.245257921486	0.00295465315205
300.857	2.08699742376	1.60699684678	1.48494411586	72.5487366557	0.247940280455	0.00298787765288
301.984	2.08631103063	1.60718182171	1.48771500529	72.7013740746	0.250622940342	0.00302646932978
303.111	2.085615772	1.60740530388	1.49048366003	72.8490316847	0.253305962925	0.00307074734279
304.238	2.08491034155	1.60766903776	1.4932499206	72.991714768	0.255989412798	0.00312110771
305.364	2.08419334202	1.60797490196	1.49601361846	73.1294287337	0.25867335758	0.00317801996368
306.491	2.08346326826	1.60832493304	1.49877457522	73.2621791252	0.261357868163	0.0032420432986
307.618	2.08271848668	1.60872135469	1.50153260189	73.389971629	0.264043019002	0.00331384294045
308.745	2.08195721086	1.60916661232	1.50428749781	73.5128120856	0.266728888463	0.00339420586589
309.872	2.08117747359	1.60966341283	1.50703904951	73.6307065011	0.269415559229	0.00348407353736
310.998	2.08037709138	1.61021477528	1.5097870293	73.7436610617	0.272103118785	0.00358457365187
312.125	2.07955362168	1.6108240919	1.51253119359	73.8516821501	0.274791659998	0.00369705055319
313.252	2.07870431311	1.61149519938	1.51527128091	73.9547763649	0.277481281804	0.00382315648821
314.379	2.07782603473	1.61223247999	1.51800700947	74.0529505429	0.280172090043	0.00396487212457
315.506	2.07691520059	1.61304096988	1.52073807422	74.1462117852	0.28286419847	0.00412463871527
316.632	2.07596766391	1.61392651083	1.52346414329	74.2345674886	0.285557729986	0.00430549618982
317.759	2.07497857958	1.61489594764	1.52618485358	74.318025381	0.288252818156	0.00451120539865
318.886	2.07394223849	1.6159573663	1.52889980524	74.3965935655	0.290949609104	0.00474657027049
320.013	2.07285182797	1.61712043842	1.53160855475	74.4702805716	0.293648263889	0.00501780336077
321.14	2.07169910817	1.6183968867	1.53431060608	74.5390954184	0.296348961571	0.00533298325971
322.266	2.07047398336	1.6198011023	1.53700539906	74.6030476925	0.299051903182	0.00570291315691
323.393	2.06916387604	1.62135104651	1.53969229421	74.6621476446	0.301757316978	0.00614227240339
324.52	2.06775283648	1.6230695346	1.54237055211	74.7164063118	0.304465465541	0.0066716645716
325.647	2.06622018179	1.62498619896	1.54503930492	74.765835677	0.307176655608	0.00732079935734
326.774	2.06453840397	1.62714050912	1.5476975157	74.8104488804	0.30989125211	0.00813420296776
327.901	2.06266976621	1.62958668924	1.55034391851	74.8502605097	0.312609698912	0.00918179516576
329.027	2.0605604693	1.63240215293	1.55297692589	74.8852870155	0.315332550824	0.0105798682354
330.154	2.05812999869	1.63570292124	1.55559447858	74.9155473361	0.318060525751	0.0125376174011
331.281	2.05524978223	1.63967454228	1.55819378288	74.9410639077	0.320794595977	0.0154726723698
332.408	2.05169530738	1.64464154972	1.56077080581	74.9618644645	0.323536164085	0.0203575699604
333.535	2.04701864464	1.65125266715	1.5633191592	74.9779857295	0.326287452968	0.0301023710185
334.661	2.04010334791	1.66112886679	1.56582700453	74.9894825064	0.329052592004	0.0591823452511
335.788	2.02650762557	1.68074638777	1.56826352499	74.9964647039	0.331842397989	0.683565584967
336.915	1.86947485066	1.91808365925	1.57012747793	74.9994940577	0.334843797816	0.958845838661
338.042	1.64920304929	2.287	1.57079632679	75.0	0.338347434634	0.0