From 329a2990c5690534464e3985deeefa09e1e62e8d Mon Sep 17 00:00:00 2001 From: Connor Date: Sat, 19 Feb 2022 12:30:54 -0700 Subject: [PATCH] Seems like a lot changed... --- LaTeX/flowcharts/mbh.png | Bin 105112 -> 113944 bytes LaTeX/flowcharts/mbh.svg | 239 ++++++++++++++++++------- LaTeX/thesis.tex | 122 ++++++++++++- julia/Manifest.toml | 24 +++ julia/Project.toml | 1 + julia/src/Thesis.jl | 2 +- julia/src/nlp_solver.jl | 37 ++-- julia/src/types/bodies.jl | 100 ++++++++++- julia/src/types/mission.jl | 16 +- julia/src/utilities/laguerre-conway.jl | 2 +- julia/src/utilities/plotting.jl | 26 +-- julia/src/utilities/propagator.jl | 83 +++------ julia/test/missions/nlp_2_phase | 30 ++-- julia/test/nlp_solver.jl | 85 +++------ julia/test/propagator.jl | 26 +-- julia/test/runtests.jl | 12 +- 16 files changed, 532 insertions(+), 273 deletions(-) diff --git a/LaTeX/flowcharts/mbh.png b/LaTeX/flowcharts/mbh.png index 2e272c3e1b59fa025b84b806fdb56f9ae9402462..40dbadbd2df6365e996036589a8924e49b8b448c 100644 GIT binary patch literal 113944 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⋐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àhH6N*iBNt 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�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 TJ3jq`fIkwVG9qQdI==r8OiOSS diff --git a/LaTeX/flowcharts/mbh.svg b/LaTeX/flowcharts/mbh.svg index 7fe629f..42c4390 100644 --- a/LaTeX/flowcharts/mbh.svg +++ b/LaTeX/flowcharts/mbh.svg @@ -7,7 +7,7 @@ viewBox="0 0 279.4 215.9" version="1.1" id="svg5" - inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" + inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)" sodipodi:docname="mbh.svg" inkscape:export-filename="/home/connor/projects/thesis/LaTeX/flowcharts/mbh.png" inkscape:export-xdpi="150" @@ -27,15 +27,18 @@ inkscape:document-units="mm" showgrid="true" units="in" - inkscape:zoom="1.1148803" - inkscape:cx="548.48938" - inkscape:cy="287.02633" - inkscape:window-width="1916" - inkscape:window-height="1045" + inkscape:zoom="0.78833942" + inkscape:cx="525.15451" + inkscape:cy="378.64401" + inkscape:window-width="1912" + inkscape:window-height="1040" inkscape:window-x="1920" - inkscape:window-y="31" + inkscape:window-y="32" inkscape:window-maximized="1" - inkscape:current-layer="layer1"> + inkscape:current-layer="layer1" + inkscape:snap-smooth-nodes="false" + inkscape:snap-midpoints="false" + inkscape:snap-object-midpoints="false"> + + + + + Generate Random Generate Random Mission Guess + id="tspan10731">Mission Guess Correct the Guess + y="45.095099" + id="tspan10733">Correct the Guess + + Correct the Guess Correct the Guess + id="tspan10737">Correct the Guess Store as Current Store as Current Best, Set Drill=0 + id="tspan10741">Best, Set Drill=0 Perturb the Best Perturb the Best Guess (in Basin) + id="tspan10745">Guess (in Basin) Hit SearchHit Search Limit? + id="tspan10751">Limit? Hit DrillHit Drill Limit? + id="tspan10757">Limit? BetterBetter thanthan currentcurrent best? + id="tspan10771">best? BetterBetter thanthan currentcurrent best? + id="tspan10785">best? Output Output Best Best Mission + id="tspan10791">Mission + inkscape:export-ydpi="150" + sodipodi:nodetypes="cc" /> + + inkscape:export-ydpi="150" + sodipodi:nodetypes="cc" /> + inkscape:export-ydpi="150" + sodipodi:nodetypes="cc" /> True + id="tspan10793">True False + id="tspan10795">False False + id="tspan10797">False False + id="tspan10799">False False + id="tspan10801">False False + id="tspan10803">False False + id="tspan10805">False True + id="tspan10807">True True + id="tspan10809">True True + id="tspan10811">True True + id="tspan10813">True True + id="tspan10815">True Search += 1 + id="tspan10817">Search += 1 + Lambert's + Standard Drill += 1 + id="tspan10823">Drill += 1 Drill += 1 + id="tspan10825">Drill += 1 + + + + + diff --git a/LaTeX/thesis.tex b/LaTeX/thesis.tex index 87dc440..297a44f 100644 --- a/LaTeX/thesis.tex +++ b/LaTeX/thesis.tex @@ -12,8 +12,8 @@ \degree{Master of Science}{M.S., Aerospace Engineering} \dept{Department of}{Aerospace Engineering} \advisor{Prof.}{Natasha Bosanac} -\reader{TBD: Kathryn Davis} -\readerThree{TBD: Daniel Scheeres} +\reader{Kathryn Davis} +\readerThree{Daniel Scheeres} \abstract{ \OnePageChapter There are a variety of approaches to finding and optimizing low-thrust trajectories in @@ -573,7 +573,7 @@ Englander in his Hybrid Optimal Control Problem paper, but does not allow for missions with multiple targets, simplifying the optimization. - \section{Inner Loop Implementation} + \section{Inner Loop Implementation}\label{inner_loop_section} The optimization routine can be reasonable separated into two separate ``loops'' wherein the first loop is used, given an initial guess, to find valid trajectories within the @@ -761,13 +761,117 @@ in order to achieve maximum precision. \section{Outer Loop Implementation} - Overview the outer loop. This may require a final flowchart, but might potentially be too - simple to lend itself to one. - \subsection{Inner Loop Calling Function} - The primary reason for including this section is to discuss the error handling. + Now we have the tools in place for, given a potential ''mission guess`` in the + vicinity of a valid guess, attempting to find a valid and optimal solution in that + vicinity. Now what remains is to develop a routine for efficiently generating these + random mission guesses in such a way that thoroughly searches the entirety of the + solution space with enough granularity that all spaces are considered by the inner loop + solver. - \subsection{Monotonic Basin Hopping} + Once that has been accomplished, all that remains is an ''outer loop`` that can generate + new guesses or perturb existing valid missions as needed in order to drill down into a + specific local minimum. In this thesis, that is accomplished through the use of a + Monotonic Basin Hopping algorithm. This will be described more thoroughly in + Section~\ref{mbh_subsection}, but Figure~\ref{mbh_flow} outlines the process steps of + the algorithm. + + \begin{figure} + \centering + \includegraphics[width=\textwidth]{flowcharts/mbh} + \caption{A flowchart visualizing the steps in the monotonic basin hopping + algorithm} + \label{mbh_flow} + \end{figure} + + \subsection{Random Mission Generation} + + At a basic level, the algorithm needs to produce a mission guess (represented by all + of the values described in Section~\ref{inner_loop_section}) that contains random + values within reasonable bounds in the space. This leaves a number of variables open + to for implementation. For instance, it remains to be determined which distribution + function to use for the random values over each of those variables, which bounds to + use, as well as the possibilities for any improvements to a purely random search. + + Currently, the first value set for the mission guess is that of $n$, which is the + number of sub-trajectories that each arc will be broken into for the Sims-Flanagan + based propagator. For this implementation, that was chosen to be 20, based upon a + number of tests in which the calculation time for the propagation was compared + against the accuracy of a much higher $n$ value for some known thrust controls, such + as a simple spiral orbit trajectory. This value of 20 tends to perform well and + provide reasonable accuracy, without producing too many variables for the NLP + optimizer to control for (since the impulsive thrust at the center of each of the + sub-trajectories is a control variable). This leaves some room for future + improvements, as will be discussed in Section~\ref{improvement_section}. + + The bounds for the launch date are provided by the user in the form of a launch + window, so the initial launch date is just chosen as a standard random value from a + uniform distribution within those bounds. + + A unit launch direction is then also chosen as a 3-length vector of uniform random + numbers, then normalized. This unit vector is then multiplied by a uniform random + number between 0 and the square root of the maximum launch $C_3$ specified by the + user to generate an initial $\vec{v_\infty}$ vector at launch. + + Next, the times of flight of each phase of the mission is then decided. Since launch + date has already been selected, the maximum time of flight can be calculated by + subtracting the launch date from the latest arrival date provided by the mission + designer. Then, each leg is chosen from a uniform distribution with bounds currently + set to a minimum flight time of 30 days and a maximum of 70\% of the maximum time of + flight. These leg flight times are then iteratively re-generated until the total + time of flight (represented by the sum of the leg flight times) is less than the + maximum time of flight. This allows for a lot of flexibility in the leg flight + times, but does tend toward more often producing longer missions, particularly for + missions with more flybys. + + Then, the internal components for each phase are generated. It is at this step, that + the mission guess generator splits the outputs into two separate outputs. The first + is meant to be truly random, as is generally used as input for a monotonic basin + hopping algorithm. The second utilizes a Lambert's solver to determine the + appropriate hyperbolic velocities (both in and out) at each flyby to generate a + natural trajectory arc. For this Lambert's case, the mission guess is simply seeded + with zero thrust controls and outputted to the monotonic basin hopper. The intention + here is that if the time of flights are randomly chosen so as to produce a + trajectory that is possible with a control in the vicinity of a natural trajectory, + we want to be sure to find that trajectory. More detail on how this is handled is + available in Section~\ref{mbh_subsection}. + + However, for the truly random mission guess, there are still the $v_\infty$ values + and the initial thrust guesses to generate. For each of the phases, the incoming + excess hyperbolic velocity is calculated in much the same way that the launch + velocity was calculated. However, instead of multiplying the randomly generate unit + direction vector by a random number between 0 and the square root of the maximum + launch $C_3$, bounds of 0 and 10 kilometers per second are used instead, to provide + realistic flyby values. + + The outgoing excess hyperbolic velocity at infinity is then calculated by again + choosing a uniform random unit direction vector, then by multiplying this value by + the magnitude of the incoming $v_{\infty}$ since this is a constraint of a + non-powered flyby. + + From these two velocity vectors the turning angle, and thus the periapsis of the + flyby, can then be calculated by the following equations: + + \begin{align} + \delta &= \arccos \left( \frac{\vec{v}_{\infty,in} \cdot + \vec{v}_{\infty,out}}{|v_{\infty,in}| \cdot {|v_{\infty,out}}|} \right) \\ + r_p &= \frac{\mu}{\vec{v}_{\infty,in} \cdot \vec{v}_{\infty,out}} \cdot \left( + \frac{1}{\sin(\delta/2)} - 1 \right) + \end{align} + + If this radius of periapse is then found to be less than the minimum safe radius + (currently set to the radius of the planet plus 100 kilometers), then the process is + repeated with new random flyby velocities until a valid seed flyby is found. These + checks are also performed each time a mission is perturbed or generated by the nlp + solver. + + The final requirement then, is the thrust controls, which are actually quite simple. + Since the thrust is defined as a 3-vector of values between -1 and 1 representing + some percentage of the full thrust producible by the spacecraft thrusters in that + direction, the initial thrust controls can then be generated as a $20 \times 3$ + matrix of uniform random numbers within that bound. + + \subsection{Monotonic Basin Hopping}\label{mbh_subsection} Outline the MBH algorithm, going into detail at each step. Mention the long-tailed PDF being used and go into quite a bit of detail. Englander's paper on the MBH algorithm specifically should be a good guide. Mention validation. @@ -798,7 +902,7 @@ Talk a bit about why this work is valuable. Missions that could have benefited, missions that this enables, etc. - \section{Recommendations for Future Work} + \section{Recommendations for Future Work}\label{improvement_section} Recommend future work, obviously. There are a \emph{ton} of opportunities for improvement including parallelization, cluster computing, etc. diff --git a/julia/Manifest.toml b/julia/Manifest.toml index 5a9fc7d..0d4a718 100644 --- a/julia/Manifest.toml +++ b/julia/Manifest.toml @@ -99,6 +99,12 @@ git-tree-sha1 = "bdc0937269321858ab2a4f288486cb258b9a0af7" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" version = "1.3.0" +[[CodeTracking]] +deps = ["InteractiveUtils", "UUIDs"] +git-tree-sha1 = "9aa8a5ebb6b5bf469a7e0e2b5202cf6f8c291104" +uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" +version = "1.0.6" + [[CodecBzip2]] deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"] git-tree-sha1 = "2e62a725210ce3c3c2e1a3080190e7ca491f18d7" @@ -329,6 +335,12 @@ git-tree-sha1 = "2f49f7f86762a0fbbeef84912265a1ae61c4ef80" uuid = "7d188eb4-7ad8-530c-ae41-71a32a6d4692" version = "0.3.4" +[[JuliaInterpreter]] +deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] +git-tree-sha1 = "b55aae9a2bf436fc797d9c253a900913e0e90178" +uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" +version = "0.9.3" + [[Kaleido_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "2ef87eeaa28713cb010f9fb0be288b6c1a4ecd53" @@ -390,6 +402,12 @@ version = "0.3.0" [[Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[LoweredCodeUtils]] +deps = ["JuliaInterpreter"] +git-tree-sha1 = "6b0440822974cab904c8b14d79743565140567f6" +uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" +version = "2.2.1" + [[METIS_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "2dc1a9fc87e57e32b1fc186db78811157b30c118" @@ -559,6 +577,12 @@ git-tree-sha1 = "63ee24ea0689157a1113dbdab10c6cb011d519c4" uuid = "37e2e3b7-166d-5795-8a7a-e32c996b4267" version = "1.9.0" +[[Revise]] +deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] +git-tree-sha1 = "2f9d4d6679b5f0394c52731db3794166f49d5131" +uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" +version = "3.3.1" + [[SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" diff --git a/julia/Project.toml b/julia/Project.toml index 8bfc3ca..c66204b 100644 --- a/julia/Project.toml +++ b/julia/Project.toml @@ -12,6 +12,7 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" PlotlyBase = "a03496cd-edff-5a9b-9e67-9cda94a718b5" PlotlyJS = "f0f68f2c-4968-5e81-91da-67840de0976a" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" SNOW = "105f6ee8-0889-46b1-9d4b-65e03cbc8f13" SPICE = "5bab7191-041a-5c2e-a744-024b9c3a5062" SymbolServer = "cf896787-08d5-524d-9de7-132aaa0cb996" diff --git a/julia/src/Thesis.jl b/julia/src/Thesis.jl index 0287548..5885b1b 100644 --- a/julia/src/Thesis.jl +++ b/julia/src/Thesis.jl @@ -7,7 +7,7 @@ module Thesis using PlotlyJS using Distributed using SPICE - using Dates: DateTime, Millisecond, Dates, Second, format, datetime2unix, unix2datetime + using Dates: DateTime, Millisecond, Dates, Second, format, datetime2julian, julian2datetime try furnsh("../../spice_files/naif0012.tls") diff --git a/julia/src/nlp_solver.jl b/julia/src/nlp_solver.jl index 0c869a9..0e8290f 100644 --- a/julia/src/nlp_solver.jl +++ b/julia/src/nlp_solver.jl @@ -2,30 +2,27 @@ using SNOW export solve_mission -const pos_scale = ones(3) -# const vel_scale = 100. * ones(3) -const vel_scale = ones(3) -# const v∞_scale = norm(vel_scale) -const v∞_scale = 1. -const state_scale = [pos_scale; vel_scale ] - function constraint_bounds(guess::Mission_Guess) low_constraint = Vector{Float64}() high_constraint = Vector{Float64}() for phase in guess.phases - state_constraint = [100., 100., 100., 0.005, 0.005, 0.005] .* state_scale + # Constraints on the final state + state_constraint = [10_000., 10_000., 10_000., 0.05, 0.05, 0.05] push!(low_constraint, (-1 * state_constraint)... ) push!(high_constraint, state_constraint... ) if phase != guess.phases[end] - push!(low_constraint, -0.005*v∞_scale, 100.) - push!(high_constraint, 0.005*v∞_scale, 1e7) + # Constraints on the v∞ and turning angle + push!(low_constraint, -0.05, 100.) + push!(high_constraint, 0.05, 1e7) else + # Constraints on mass push!(low_constraint, 0.) push!(high_constraint, guess.start_mass - guess.sc.dry_mass) end end - + + # Constraints on C3 and V∞ push!(low_constraint, 0., 0.) push!(high_constraint, 1e3, 1e3) @@ -57,8 +54,8 @@ function solve_mission( guess::Mission_Guess, # Establish initial conditions v∞_out = x[2:4] current_planet = Earth - launch_date = unix2datetime(x[1]) - time = utc2et(format(launch_date,"yyyy-mm-ddTHH:MM:SS")) + launch_date = julian2datetime(x[1]) + time = Dates.datetime2julian(launch_date) start = state(current_planet, time, v∞_out, guess.start_mass) final = zeros(7) @@ -80,16 +77,16 @@ function solve_mission( guess::Mission_Guess, thrusts = reshape(phase_params[8:end], (n,3)) # Propagate - final = prop(thrusts, start, guess.sc, tof)[2] + final = prop(thrusts, start, guess.sc, tof)[end,:] current_planet = flyby - time += tof + time += tof/86400 goal = state(current_planet, time, v∞_in)[1:6] start = state(current_planet, time, v∞_out, final[7]) # Do Checks - g[1+8i:6+8i] .= (final[1:6] .- goal[1:6]) .* state_scale + g[1+8i:6+8i] .= (final[1:6] .- goal[1:6]) if flyby != flybys[end] - g[7+8i] = (norm(v∞_out) - norm(v∞_in)) * v∞_scale + g[7+8i] = (norm(v∞_out) - norm(v∞_in)) δ = acos( ( v∞_in ⋅ v∞_out ) / ( norm(v∞_in) * norm(v∞_out) ) ) g[8+8i] = (current_planet.μ/(v∞_in ⋅ v∞_in)) * ( 1/sin(δ/2) - 1 ) - current_planet.r else @@ -100,7 +97,7 @@ function solve_mission( guess::Mission_Guess, i += 1 end - return 1.0 + return -final[end] catch e @@ -114,7 +111,7 @@ function solve_mission( guess::Mission_Guess, end end - max_time = datetime2unix(latest_arrival) - datetime2unix(launch_window[1]) + max_time = (datetime2julian(latest_arrival) - datetime2julian(launch_window[1]))*86400 lower_x = lowest_mission_vector(launch_window, length(guess.phases), n) upper_x = highest_mission_vector(launch_window, max_time, length(guess.phases), n) num_constraints = 8*(length(guess.phases)-1) + 9 @@ -123,7 +120,7 @@ function solve_mission( guess::Mission_Guess, "acceptable_constr_viol_tol" => 100tol, "bound_relax_factor" => 0., "max_iter" => 100_000, - "max_cpu_time" => 5. * length(guess.phases), + "max_cpu_time" => 10. * length(guess.phases), "print_level" => print_level) options = Options(solver=IPOPT(ipopt_options), derivatives=ForwardFD()) diff --git a/julia/src/types/bodies.jl b/julia/src/types/bodies.jl index 4da940b..1cd6034 100644 --- a/julia/src/types/bodies.jl +++ b/julia/src/types/bodies.jl @@ -1,22 +1,106 @@ export state, period struct Body - μ::Float64 - r::Float64 # radius + μ::Real + r::Real # radius color::String id::Int # SPICE id - a::Float64 # semi-major axis + a::Real # semi-major axis line_color::AbstractString name::AbstractString end period(b::Body) = 2π * √(b.a^3 / Sun.μ) -function state(p::Body, t::DateTime, add_v∞::Vector{T}=[0., 0., 0.], add_mass::Float64=1e10) where T <: Real - time = utc2et(format(t,"yyyy-mm-ddTHH:MM:SS")) - [ spkssb(p.id, time, "ECLIPJ2000"); 0.0 ] + [ zeros(3); add_v∞; add_mass ] +function state(p::Body, t::DateTime, add_v∞::AbstractVector=[0., 0., 0.], add_mass::Float64=1e10) + time = Dates.datetime2julian(t) + [ basic_ephemeris(p,time); 0.0 ] + [ zeros(3); add_v∞; add_mass ] end -function state(p::Body, t::S, add_v∞::Vector{T}=[0., 0., 0.], add_mass::Float64=1e10) where {T,S <: Real} - [ spkssb(p.id, t, "ECLIPJ2000"); 0.0 ] + [ zeros(3); add_v∞; add_mass ] +function state(p::Body, t::Real, add_v∞::AbstractVector=[0., 0., 0.], add_mass::Real=1e10) + [ basic_ephemeris(p,t); 0.0 ] + [ zeros(3); add_v∞; add_mass ] +end + +""" +Provides a really basic, but fast, ephemeris for most planets. +""" +function basic_ephemeris(planet::Body,date::Real) + century = (date-2451545)/36525 + if planet.name == "Mercury" + table = [ 252.250906 149472.6746358 0.00000535 0.000000002 ; + 0.387098310 0 0 0 ; + 0.20563175 0.000020406 0.0000000284 0.00000000017 ; + 7.004986 -0.0059516 0.00000081 0.000000041 ; + 48.330893 -0.1254229 -0.00008833 -0.000000196 ; + 77.456119 0.1588643 -0.00001343 0.000000039] + elseif planet.name == "Venus" + table = [ 181.979801 58517.8156760 0.00000165 -0.000000002 ; + 0.72332982 0 0 0 ; + 0.00677188 -0.000047766 0.0000000975 0.00000000044 ; + 3.394662 -0.0008568 -0.00003244 0.000000010 ; + 76.679920 -0.2780080 -0.00014256 -0.000000198 ; + 131.563707 0.0048646 -0.00138232 -0.000005332] + elseif planet.name == "Earth" + table = [ 100.466449 35999.3728519 -0.00000568 0 ; + 1.000001018 0 0 0 ; + 0.01670862 -0.000042037 -0.0000001236 0.00000000004 ; + 0 0.0130546 -0.00000931 -0.000000034 ; + 174.873174 -0.2410908 0.00004067 -0.000001327 ; + 102.937348 0.3225557 0.00015026 0.000000478] + elseif planet.name == "Mars" + table = [ 355.433275 19140.2993313 0.00000261 -0.000000003 ; + 1.523679342 0 0 0 ; + 0.09340062 0.000090483 -0.0000000806 -0.00000000035 ; + 1.849726 -0.0081479 -0.00002255 -0.000000027 ; + 49.558093 -0.2949846 -0.00063993 -0.000002143 ; + 336.060234 0.4438898 -0.00017321 0.000000300] + elseif planet.name == "Jupiter" + table = [ 34.351484 3034.9056746 -0.00008501 0.000000004 ; + 5.202603191 0.0000001913 0 0 ; + 0.04849485 0.000163244 -0.0000004719 -0.00000000197 ; + 1.303270 -0.0019872 0.00003318 0.000000092 ; + 100.464441 0.1766828 0.00090387 -0.000007032 ; + 14.331309 0.2155525 0.00072252 -0.000004590] + elseif planet.name == "Saturn" + table = [ 50.077471 1222.1137943 0.00021004 -0.000000019 ; + 9.554909596 -0.0000021389 0 0 ; + 0.05550862 -0.000346818 -0.0000006456 0.00000000338 ; + 2.488878 0.0025515 -0.00004903 0.000000018 ; + 113.665524 -0.2566649 -0.00018345 0.000000357 ; + 93.056787 0.5665496 0.00052809 0.000004882] + elseif planet.name == "Uranus" + table = [ 314.055005 429.8640561 0.00030434 0.000000026 ; + 19.218446062 -0.0000000372 0.00000000098 0 ; + 0.04629590 -0.000027337 0.0000000790 0.00000000025 ; + 0.773196 0.0007744 0.00003749 -0.000000092 ; + 74.005947 0.5211258 0.00133982 0.000018516 ; + 173.005159 1.4863784 0.0021450 0.000000433] + elseif planet.name == "Neptune" + table = [ 304.348665 219.8833092 0.00030926 0.000000018 ; + 30.110386869 -0.0000001663 0.00000000069 0 ; + 0.00898809 0.000006408 -0.0000000008 -0.00000000005 ; + 1.769952 -0.0093082 -0.00000708 0.000000028 ; + 131.784057 1.1022057 0.00026006 -0.000000636 ; + 48.123691 1.4262677 0.00037918 -0.000000003] + elseif planet.name == "Pluto" + table = [ 238.92903833 145.20780515 0 0 ; + 39.48211675 -0.00031596 0 0 ; + 0.24882730 0.00005170 0 0 ; + 17.14001206 0.00004818 0 0 ; + 110.30393684 -0.01183482 0 0 ; + 224.06891629 -0.04062942 0 0] + else + return "No such planet" + end + poly = [1,century,century^2,century^3] + L,a,e,i,Ω,P = table * poly + L,i,Ω,P = [L,i,Ω,P] * (π/180) + ω = P-Ω + M = L-P + θ = M + (2e - 0.25e^3 + (5/96)*e^5)*sin(M) + + (1.25e^2 - (11/24)*e^4)*sin(2M) + ((13/12)*e^3 - (43/64)*e^5)*sin(3M) + + (103/96)*e^4*sin(4M) + (1097/960)*e^5*sin(5M) + oe = [a*AU,e,i,Ω,ω,θ] + return oe_to_xyz(oe, Sun.μ) + end diff --git a/julia/src/types/mission.jl b/julia/src/types/mission.jl index 8476fb1..02af410 100644 --- a/julia/src/types/mission.jl +++ b/julia/src/types/mission.jl @@ -49,7 +49,7 @@ This is the opposite of the function below. It takes a vector and any other nece """ function Mission_Guess(x::Vector{Float64}, sc::Sc, mass::Float64, flybys::Vector{Body}) # Variable mission params - launch_date = unix2datetime(x[1]) + launch_date = julian2datetime(x[1]) launch_v∞ = x[2:4] # Try to intelligently determine n @@ -78,7 +78,7 @@ information from the guess though. """ function Base.Vector(g::Mission_Guess) result = Vector{Float64}() - push!(result, datetime2unix(g.launch_date)) + push!(result, datetime2julian(g.launch_date)) push!(result, g.launch_v∞...) for phase in g.phases push!(result,phase.v∞_in...) @@ -91,7 +91,7 @@ end function lowest_mission_vector(launch_window::Tuple{DateTime,DateTime}, num_phases::Int, n::Int) result = Vector{Float64}() - push!(result, datetime2unix(launch_window[1])) + push!(result, datetime2julian(launch_window[1])) push!(result, -10*ones(3)...) for i in 1:num_phases push!(result, -10*ones(3)...) @@ -104,7 +104,7 @@ end function highest_mission_vector(launch_window::Tuple{DateTime,DateTime}, mission_length::Float64, num_phases::Int, n::Int) result = Vector{Float64}() - push!(result, datetime2unix(launch_window[2])) + push!(result, datetime2julian(launch_window[2])) push!(result, 10*ones(3)...) for i in 1:num_phases push!(result, 10*ones(3)...) @@ -133,14 +133,14 @@ function Mission(sc::Sc, mass::Float64, date::DateTime, v∞::Vector{Float64}, p force=false) # First do some checks to make sure that it's valid if !force - time = utc2et(format(date,"yyyy-mm-ddTHH:MM:SS")) + time = datetime2julian(date) current_planet = Earth start = state(current_planet, time, v∞, mass) for phase in phases #Propagate - final = prop(phase.thrust_profile, start, sc, phase.tof)[2] + final = prop(phase.thrust_profile, start, sc, phase.tof)[end,:] current_planet = phase.planet - time += phase.tof + time += phase.tof/86400 goal = state(current_planet, time, phase.v∞_in) start = state(current_planet, time, phase.v∞_out, final[7]) @@ -178,7 +178,7 @@ end function Mission(x::Vector{Float64}, sc::Sc, mass::Float64, flybys::Vector{Body}) # Variable mission params - launch_date = unix2datetime(x[1]) + launch_date = julian2datetime(x[1]) launch_v∞ = x[2:4] # Try to intelligently determine n diff --git a/julia/src/utilities/laguerre-conway.jl b/julia/src/utilities/laguerre-conway.jl index 12472a6..8652abf 100644 --- a/julia/src/utilities/laguerre-conway.jl +++ b/julia/src/utilities/laguerre-conway.jl @@ -1,4 +1,4 @@ -function laguerre_conway(state::Vector{<:Real}, time::Float64, primary::Body=Sun) +function laguerre_conway(state::AbstractArray, time::Real, primary::Body=Sun) μ = primary.μ n = 5 # Choose LaGuerre-Conway "n" diff --git a/julia/src/utilities/plotting.jl b/julia/src/utilities/plotting.jl index ea2f6e2..b5f01de 100644 --- a/julia/src/utilities/plotting.jl +++ b/julia/src/utilities/plotting.jl @@ -59,27 +59,27 @@ end """ A fundamental function to generate a plot for a single orbit path """ -function gen_plot(path::Vector{Vector{Float64}}; +function gen_plot(path::AbstractArray; label::Union{AbstractString, Nothing} = nothing, color::AbstractString = random_color(), markers=true) # Plot the orbit if label === nothing - path_trace = scatter3d(;x=(path[1]),y=(path[2]),z=(path[3]), + path_trace = scatter3d(;x=(path[:,1]),y=(path[:,2]),z=(path[:,3]), mode="lines", showlegend=false, line_color=color, line_width=3) else - path_trace = scatter3d(;x=(path[1]),y=(path[2]),z=(path[3]), + path_trace = scatter3d(;x=(path[:,1]),y=(path[:,2]),z=(path[:,3]), mode="lines", name=label, line_color=color, line_width=3) end traces = [ path_trace ] # Plot the markers if markers - push!(traces, scatter3d(;x=([path[1][1]]),y=([path[2][1]]),z=([path[3][1]]), + push!(traces, scatter3d(;x=([path[1,1]]),y=([path[1,2]]),z=([path[1,3]]), mode="markers", showlegend=false, marker=attr(color=color, size=3, symbol="circle"))) - push!(traces, scatter3d(;x=([path[1][end]]),y=([path[2][end]]),z=([path[3][end]]), + push!(traces, scatter3d(;x=([path[end,1]]),y=([path[end,2]]),z=([path[end,3]]), mode="markers", showlegend=false, marker=attr(color=color, size=3, symbol="diamond"))) end @@ -222,7 +222,7 @@ end """ Generic plotting function for a bunch of paths. Useful for debugging. """ -function plot(paths::Vector{Vector{Vector{Float64}}}; +function plot(paths::Vector{Matrix{Real}}; labels::Union{Vector{String},Nothing}=nothing, colors::Union{Vector{String},Nothing}=nothing, markers::Bool=true, @@ -243,7 +243,8 @@ function plot(paths::Vector{Vector{Vector{Float64}}}; push!(traces, gen_plot(Sun)[1]...) # Determine layout details - layout = standard_layout(limit, title) + # layout = standard_layout(limit, title) + layout = standard_layout(1e9, title) # Plot PlotlyJS.plot( PlotlyJS.Plot( traces, layout ) ) @@ -253,19 +254,20 @@ end function plot(m::Union{Mission, Mission_Guess}; title::String="Mision Plot") # First plot the earth # Then plot phase plus planet phase - time = m.launch_date + time = datetime2julian(m.launch_date) mass = m.start_mass current_planet = Earth - earth_trace, limit = gen_plot(current_planet, time, year) + earth_trace, limit = gen_plot(current_planet, julian2datetime(time), year) start = state(current_planet, time, m.launch_v∞, mass) traces = [ earth_trace... ] i = 1 for phase in m.phases # First do the path - path, final = prop(phase.thrust_profile, start, m.sc, phase.tof, interpolate=true) + path = prop(phase.thrust_profile, start, m.sc, phase.tof) + final = path[end,:] mass = final[7] - time += Second(floor(phase.tof)) + time += phase.tof/86400 current_planet = phase.planet start = state(current_planet, time, phase.v∞_out, mass) path_trace, new_limit = gen_plot(path, label="Phase "*string(i)) @@ -273,7 +275,7 @@ function plot(m::Union{Mission, Mission_Guess}; title::String="Mision Plot") limit = max(limit, new_limit) # Then the planet - planet_trace, new_limit = gen_plot(current_planet, time, -phase.tof) + planet_trace, new_limit = gen_plot(current_planet, julian2datetime(time), -phase.tof) push!(traces, planet_trace...) limit = max(limit, new_limit) diff --git a/julia/src/utilities/propagator.jl b/julia/src/utilities/propagator.jl index f74c8b0..29a636b 100644 --- a/julia/src/utilities/propagator.jl +++ b/julia/src/utilities/propagator.jl @@ -3,83 +3,52 @@ export prop """ Maximum ΔV that a spacecraft can impulse for a given single time step """ -function max_ΔV(duty_cycle::Float64, +function max_ΔV(duty_cycle::Real, num_thrusters::Int, - max_thrust::Float64, - tf::Float64, - t0::Float64, - mass::T) where T <: Real - return duty_cycle*num_thrusters*max_thrust*(tf-t0)/mass -end - -""" -A convenience function for using spacecraft. Note that this function outputs a sc instead of a mass -""" -function prop_one(ΔV_unit::Vector{<:Real}, - state::Vector{<:Real}, - craft::Sc, - time::Float64, - primary::Body=Sun) - - ΔV = max_ΔV(craft.duty_cycle, craft.num_thrusters, craft.max_thrust, time, 0., state[7]) * ΔV_unit - halfway = laguerre_conway(state, time/2, primary) + [zeros(3); ΔV] - final = laguerre_conway(halfway, time/2, primary) - return [final; state[7] - mfr(craft)*norm(ΔV_unit)*time] - + max_thrust::Real, + tf::Real, + t0::Real) + return duty_cycle*num_thrusters*max_thrust*(tf-t0) end """ The propagator function """ -function prop(ΔVs::Matrix{T}, - state::Vector{Float64}, +function prop(ΔVs::AbstractArray, + state::AbstractArray, craft::Sc, - time::Float64, - primary::Body=Sun; - interpolate::Bool=false) where T <: Real + time::Real; + primary::Body=Sun) - size(ΔVs)[2] == 3 || throw(ΔVsize_Error()) + size(ΔVs)[2] == 3 || throw(ΔVsize_Error(size(ΔVs))) n = size(ΔVs)[1] - - states = [ Vector{T}(),Vector{T}(),Vector{T}(),Vector{T}(),Vector{T}(),Vector{T}(),Vector{T}() ] - - for i in 1:7 push!(states[i], state[i]) end + output = Array{Real,2}(undef,n,7) + current = copy(state) + full_thrust = max_ΔV(craft.duty_cycle, craft.num_thrusters, craft.max_thrust, time/n, 0.) for i in 1:n - if interpolate - interpolated_state = copy(state) - for j in 1:49 - interpolated_state = [laguerre_conway(interpolated_state, time/50n, primary); 0.0] - for k in 1:7 push!(states[k], interpolated_state[k]) end - end + halfway = laguerre_conway(current[1:6], time/(2n), primary) + if time > 0 + halfway += [zeros(3); full_thrust * ΔVs[i,:]] / current[7] + current[7] -= mfr(craft) * norm(ΔVs[i,:]) * time/n + else + current[7] -= mfr(craft) * norm(ΔVs[i,:]) * time/n + halfway += [zeros(3); full_thrust * ΔVs[i,:]] / current[7] end - try - state = prop_one(ΔVs[i,:], state, craft, time/n, primary) - catch e - if isa(e,PropOne_Error) - for val in e.ΔV_unit - # If this isn't true, then we just let it slide - if abs(val) > 1.0001 - rethrow() - end - end - else - rethrow() - end - end - for j in 1:7 push!(states[j], state[j]) end + current[1:6] = laguerre_conway(halfway, time/(2n), primary) + output[i,:] = current end - state[7] > craft.dry_mass || throw(Mass_Error(state[7])) + current[7] > craft.dry_mass || throw(Mass_Error(current[7])) - return states, state + return output end """ Convenience function for propagating a state with no thrust """ -prop(x::Vector{Float64}, t::Float64, p::Body=Sun) = prop(zeros(1000,3), [x;1.], no_thrust, t, p)[1] +prop(x::AbstractArray, t::Real, p::Body=Sun) = prop(zeros(1000,3), x, no_thrust, t, p) """ This is solely for the purposes of getting the final state of a mission or guess @@ -91,7 +60,7 @@ function prop(m::Union{Mission, Mission_Guess}) final = zeros(7) for phase in m.phases - final = prop(phase.thrust_profile, start, m.sc, phase.tof)[2] + final = prop(phase.thrust_profile, start, m.sc, phase.tof)[end,:] mass = final[7] current_planet = phase.planet time += Second(floor(phase.tof)) diff --git a/julia/test/missions/nlp_2_phase b/julia/test/missions/nlp_2_phase index 86788f8..fd1dde5 100644 --- a/julia/test/missions/nlp_2_phase +++ b/julia/test/missions/nlp_2_phase @@ -7,23 +7,23 @@ Spacecraft: bepi num_thrusters: 2 duty_cycle: 0.9 Launch Mass: 3600.0 kg -Launch Date: 2021-10-31T23:59:59.769 -Launch V∞: [1.0462564431708832, -2.520754077506101, -2.301043507881933] km/s +Launch Date: 2021-10-31T22:00:16.400 +Launch V∞: [1.0097399011270518, -2.6447886914618515, -2.5394649406128433] km/s Phase 1: Planet: Venus - V∞_in: [0.4205842845952983, -3.5241183574614556, 4.879873784266574] km/s - V∞_out: [2.657685712690303, -4.920354075306563, 2.266369032728228] km/s - time of flight: 1.2614399691127092e7 seconds - arrival date: 2022-03-26T23:59:58.769 - thrust profile: [0.08791530712557315 -0.009101317973001748 0.010254083007822207; 0.07287521745776969 -0.011381949725375708 0.051332448819202944; 0.04543116258472458 -0.01531732267940295 0.08273458014460809; 0.011034188560216448 -0.020310595889307323 0.10100599446320643; -0.009607377273254756 -0.02382633371411493 0.1081982710061048; -0.028510355701058584 -0.030611944159923403 0.11101434996597628; -0.039048295910837236 -0.03820244320795566 0.11279184708362161; -0.048252651406879885 -0.04651039104792323 0.11301481830933677; -0.05288674350674192 -0.0561882917884983 0.11293454239992265; -0.05458628096513579 -0.06643801004024381 0.11223764822140121; -0.053564283975236535 -0.07751051107973227 0.11061646758637526; -0.049500823222769094 -0.0891415249668692 0.10769319474620971; -0.04185476746663511 -0.10066361474827486 0.10355236756997019; -0.03087924291992901 -0.1112479139000727 0.09781871133696314; -0.015564164113106642 -0.11996802006040436 0.09064682025194883; 0.001781758545597473 -0.12613079909578606 0.0809801955196938; 0.021345925406049154 -0.12876486287710442 0.06930029766487243; 0.041502826765638504 -0.12763804654948588 0.054677487677216745; 0.06024411885991524 -0.12236183464053872 0.038231302757203295; 0.07560839256024353 -0.114157581119008 0.018886579096999003] % + V∞_in: [0.6971321781569763, -3.000415336232889, 5.257930893162622] km/s + V∞_out: [3.155471614002537, -4.846243818499916, 1.9261368837603878] km/s + time of flight: 1.261440000905646e7 seconds + arrival date: 2022-03-26T22:00:16.400 + thrust profile: [0.034282174989117516 0.030630284530489906 0.0516767016545959; 0.04055472535721235 0.027376197088858283 0.04809039664320572; 0.043660143604191994 0.03047637966598728 0.04358760046457853; 0.04125099543115894 0.03016179866323979 0.04499932191472562; 0.04495441021193453 0.03348083036100891 0.03861183062100992; 0.04710965203705168 0.02635602095857307 0.04054560175736578; 0.05033947480940243 0.03062684297509654 0.032922298467773295; 0.04663650635412875 0.030369216537824293 0.03703971691255565; 0.048565701285880614 0.029118981813448557 0.034508738912923845; 0.05056448644255328 0.028722504694661054 0.031034420379757226; 0.04932798248085456 0.03007397062288681 0.030824783232637425; 0.047996060872376366 0.028952951818463326 0.032857369566278626; 0.04951821298908887 0.028758116977346378 0.027958339954661; 0.0489313400699588 0.03046347487498191 0.027859841906091212; 0.04520420340375004 0.031670198439770064 0.030514442243397236; 0.04566034232248259 0.034381957552538395 0.024900845759794794; 0.04082535412813151 0.03357236769501879 0.03170011587741194; 0.04621217362755022 0.03182636410505487 0.02410773528455805; 0.045645717216652795 0.032921517920520164 0.02079135127615303; 0.042597542211632096 0.03558968396172082 0.021282994074205266; 0.03731044485129105 0.03994289623933655 0.02130495307758324; 0.04247833588674327 0.03457796735712127 0.01899569141913135; 0.04312850336659755 0.03399248745544899 0.013149159955936978; 0.03754604612989521 0.03763011819702751 0.018318693954420588; 0.03535094668642273 0.036858320028499134 0.02199684830247042; 0.028891076662331875 0.04324155785176078 0.014413619206886816; 0.03267849036426984 0.0401634806637448 0.011840587979407397; 0.024706839495172658 0.043042163807245896 0.01826522977160073; 0.028601237657836467 0.041588848578667854 0.014411946517623132; 0.028228090581187873 0.04015749743865513 0.01508529741887872; 0.024783781293558266 0.04189396738290361 0.014616887877185162; 0.024764235231400287 0.0412235929856152 0.014206631004299218; 0.022700981741250053 0.04285522888573239 0.008652897464076466; 0.023149708367887163 0.04204784290805528 0.011482287191821549; 0.030060665695868752 0.03682561335933804 0.01406740384301527; 0.020327198179371554 0.03967929127546447 0.01907556971774192; 0.01948576963473395 0.04150171458022886 0.01440277138047399; 0.014609183554173198 0.04193091541988154 0.0190142349738259; 0.017338241200120032 0.0405327064144073 0.019397828837718817; 0.013519064235294736 0.043194207588669445 0.012618271521276186; 0.01416527483071525 0.042360112796518024 0.018565046588499192; 0.016192504354863486 0.04321790744316709 0.014857969976184007; 0.005926517746692747 0.04385012579593121 0.01848227965737381; 0.007881472501745706 0.045008039792868576 0.01571801630208125; 0.006544092936553959 0.04561895672702495 0.016342515520064185; 0.0018483989093118227 0.046533973409849064 0.014988164886431584; -0.000568247332158013 0.047073416094890685 0.01286929122897256; -0.008004594524198529 0.046599777614930456 0.013010850227684606; -0.00696671229499173 0.048339673337854945 0.010999881717700421; -0.0070218437672999665 0.04911375570173229 0.010996777473604348] % Phase 2: Planet: Mars - V∞_in: [3.866657617879469, -3.8561104436565112, -1.1528388074396114] km/s - V∞_out: [-0.04156826938628659, 0.04537147320396694, 0.010962101613372877] km/s - time of flight: 1.3305600070108933e7 seconds - arrival date: 2022-08-27T23:59:58.769 - thrust profile: [0.12294683695617006 -0.14210501591303906 -0.015953927996763824; 0.1346036754636979 -0.11703322342276389 -0.02118233265872474; 0.14035562458965456 -0.09253436643679969 -0.026037109750586127; 0.14159974389839877 -0.07034252588185486 -0.02965559917950358; 0.13983758574258884 -0.0508280123903436 -0.03226072974284784; 0.13628355001371623 -0.03381714643542805 -0.033706183284138075; 0.13174907912062978 -0.01944710462973476 -0.03378159713957984; 0.12690191547644916 -0.006666552590772735 -0.032314321099804075; 0.12190989012800546 0.005350412631176013 -0.02896415432946389; 0.11640547480173373 0.01766009561198736 -0.024295908236754368; 0.11004779022898785 0.029624240108957346 -0.018629744776725948; 0.10255142565747595 0.041391197147168296 -0.011260773047897207; 0.09257939116538691 0.054055648527399226 -0.0018819573006649628; 0.07862129598678515 0.06762185940978795 0.006827208192964654; 0.06184044671572194 0.07873199678299247 0.015671300335402687; 0.04256729407158805 0.08711502955932304 0.023547740065060118; 0.022644089962366266 0.0922573542104121 0.029300773045221138; 0.0012772594401787602 0.09453861142625342 0.0335188440659034; -0.017213511457067864 0.09403439603239908 0.036105272081528195; -0.03466637624188391 0.0910940423628138 0.03867124120601387] % + V∞_in: [3.934071361708631, -4.0556866988998195, -0.9569218994864468] km/s + V∞_out: [2.835079207012675, -3.038506396757051, -0.8239067509398897] km/s + time of flight: 1.3305600002135515e7 seconds + arrival date: 2022-08-27T22:00:16.400 + thrust profile: [0.07875872819429838 -0.07602928888291517 -0.002461076427925589; 0.08368497242841927 -0.06670986115534407 0.001665869512245407; 0.08577981435177857 -0.05793119355590426 0.011165188393882227; 0.08758545440549516 -0.0339816665457332 0.026794441364176573; 0.08293133779344392 -0.02340157704539268 0.034551607127364624; 0.07757395448326561 -0.006354368804274271 0.03802615353405709; 0.0644275187408338 0.00817115132820835 0.04477293215146323; 0.052643603336670175 0.021208603088669686 0.04641877730052604; 0.0422696791291819 0.03249686419539815 0.04293455453504036; 0.0299947244754212 0.0342146829206795 0.04610828643246764; 0.028375921792895057 0.031929570942726804 0.04880758017415033; 0.021457075341902082 0.03512409953676916 0.047848639128187716; 0.014050820576587325 0.03598753239044044 0.048208234639668036; 0.01239374458074181 0.03519088938079009 0.04991578465780201; 0.005554038390401058 0.03590306275800209 0.04943448284625346; 0.004594710645977571 0.03473960951290201 0.05085953544892566; 0.004962419167461687 0.03677569856463667 0.05029354676804025; 0.0007318114245317572 0.03710676170960615 0.050422609329575686; -0.0008906817624837742 0.03770220933797602 0.05041455076147805; -0.006778334873847526 0.03779829345387088 0.04962125740173904; -0.007046493202932243 0.03568043355312452 0.051960594399799505; -0.008049628911291552 0.03913802154188755 0.05028104660474625; -0.010537903266724359 0.03672325453597655 0.051884804336631986; -0.00818351261490794 0.038741730202093635 0.05210658416215128; -0.010666656787731375 0.03849972475725258 0.05243476797310733; -0.012555727410020852 0.0382137309957785 0.05268364578100002; -0.009820005328087349 0.03916769798664862 0.05359353372069135; -0.012387176669361927 0.03970296584000698 0.05331339060382668; -0.01244834483921497 0.041886262658702045 0.05253893772334037; -0.013444072160084112 0.04262744032016184 0.05253898626998434; -0.012523862311046558 0.04142301768047668 0.05454027471095643; -0.012895225834978194 0.042511978835118515 0.0544877324498131; -0.012679086383971097 0.04485961538708221 0.05361843203762159; -0.01233563279407355 0.04412582031595734 0.05489553351056654; -0.011291838361870397 0.04737557615034447 0.05363956736166156; -0.011230502857283789 0.04704594850205801 0.05467457973688944; -0.008797763456055051 0.04928744387907065 0.05415511568853677; -0.008048802844087589 0.05075747730843418 0.0538825677403911; -0.0056970113123549744 0.05224183281724393 0.05369505177198884; -0.006070834938122434 0.052936925948144475 0.05379731537648658; -0.0024653651357053295 0.05567255160163994 0.05213940324181525; -0.000733453786943943 0.057067189219935754 0.05145199179114529; 0.0012456777227569263 0.059943358064031824 0.04907287600209174; 0.004373513720293685 0.06169575905345249 0.047206183474067936; 0.009873790970193171 0.06486640320654036 0.04255101782330187; 0.013319573203495716 0.06692522008245975 0.03887179390451873; 0.018201455983236366 0.06835502892414509 0.034298233864195185; 0.023662275014910684 0.06904022589813187 0.029150000528514425; 0.02774195908046571 0.07005784655018363 0.02165291283778826; 0.031997497603024734 0.06946489515884077 0.015502921841459603] % -Mass Used: 121.86921799846004 kg -Launch C3: 12.743654889305812 km²/s² -||V∞_in||: 5.58118860132149 km/s +Mass Used: 61.61570260672124 kg +Launch C3: 14.463364075014354 km²/s² +||V∞_in||: 5.730725224643533 km/s diff --git a/julia/test/nlp_solver.jl b/julia/test/nlp_solver.jl index a6f78ad..642fcc4 100644 --- a/julia/test/nlp_solver.jl +++ b/julia/test/nlp_solver.jl @@ -4,72 +4,37 @@ println("Testing NLP solver") - # Test the optimizer for a one-phase mission - # The lambert's solver said this should be pretty valid - launch_window = DateTime(1992,11,1), DateTime(1992,12,1) - latest_arrival = DateTime(1993,6,1) - leave, arrive = DateTime(1992,11,19), DateTime(1993,4,1) - test_leave = DateTime(1992,11,12) - earth_state = state(Earth, leave) - venus_state = state(Venus, arrive) - v∞_out, v∞_in, tof = Thesis.lamberts(Earth, Venus, leave, arrive) - # We can get the thrust profile and tof pretty wrong and still be ok - phase = Phase(Venus, 1.1v∞_in, v∞_in, 0.9*tof, 0.1*ones(20,3)) - guess = Mission_Guess(bepi, 3_600., test_leave, 0.9*v∞_out, [phase]) - m = solve_mission(guess, launch_window, latest_arrival, 200., 20., verbose=true) - @test typeof(m) == Mission - - # Now we can plot the results to check visually - p = plot(m, title="NLP Test Solution") - savefig(p,"../plots/nlp_test_1_phase.html") - store(m, "missions/nlp_1_phase") - - # Now we can look at a slightly more complicated trajectory - flybys = [Earth, Venus, Mars] + # This will be the only test to verify rather than testing different complexities + n = 50 + flybys = [Earth, Venus, Mars]#, Jupiter] launch_window = DateTime(2021,10,1), DateTime(2021,12,1) - latest_arrival = DateTime(2023,1,1) - dates = [DateTime(2021,11,1), DateTime(2022,3,27), DateTime(2022,8,28)] + latest_arrival = DateTime(2028,1,1) + dates = [DateTime(2021,11,1), + DateTime(2022,3,27), + DateTime(2022,8,28)] + # DateTime(2028,3,1)] phases = Vector{Phase}() launch_v∞, _, tof1 = Thesis.lamberts(flybys[1], flybys[2], dates[1], dates[2]) for i in 1:length(dates)-2 - v∞_out1, v∞_in1, tof1 = Thesis.lamberts(flybys[i], flybys[i+1], dates[i], dates[i+1]) - v∞_out2, v∞_in2, tof2 = Thesis.lamberts(flybys[i+1], flybys[i+2], dates[i+1], dates[i+2]) - push!(phases, Phase(flybys[i+1], v∞_in1, v∞_out2, tof1, 0.01*ones(20,3))) + v∞_in1, tof1 = Thesis.lamberts(flybys[i], flybys[i+1], dates[i], dates[i+1])[2:3] + v∞_out2 = Thesis.lamberts(flybys[i+1], flybys[i+2], dates[i+1], dates[i+2])[1] + push!(phases, Phase(flybys[i+1], v∞_in1, v∞_out2, tof1, 0.01*ones(50,3))) end - v∞_out, v∞_in, tof = Thesis.lamberts(flybys[end-1], flybys[end], dates[end-1], dates[end]) - push!(phases, Phase(flybys[end], v∞_in, v∞_in, tof, 0.01*ones(20,3))) + v∞_in, tof = Thesis.lamberts(flybys[end-1], flybys[end], dates[end-1], dates[end])[2:3] + push!(phases, Phase(flybys[end], v∞_in, v∞_in, tof, 0.01*ones(50,3))) guess = Mission_Guess(bepi, 3_600., dates[1], launch_v∞, phases) - m = solve_mission(guess, launch_window, latest_arrival, 200., 20., verbose=true) + m = solve_mission(guess, + launch_window, + latest_arrival, + 200., + 20., + verbose=true, + print_level=4) @test typeof(m) == Mission - p = plot(m, title="NLP Test Solution (2 Phases)") - savefig(p,"../plots/nlp_test_2_phase.html") - store(m, "missions/nlp_2_phase") - - # Here is the final, most complicated, trajectory to test - # Ignoring for now as the initial guess makes the test take too long to converge with mbh settings - # flybys = [Earth, Venus, Earth, Mars, Earth, Jupiter] - # launch_window = DateTime(2023,1,1), DateTime(2024,1,1) - # latest_arrival = DateTime(2031,1,1) - # dates = [DateTime(2023,5,23), - # DateTime(2023,10,21), - # DateTime(2024,8,24), - # DateTime(2025,2,13), - # DateTime(2026,11,22), - # DateTime(2032,1,1)] - # phases = Vector{Phase}() - # launch_v∞, _, tof1 = Thesis.lamberts(flybys[1], flybys[2], dates[1], dates[2]) - # for i in 1:length(dates)-2 - # v∞_out1, v∞_in1, tof1 = Thesis.lamberts(flybys[i], flybys[i+1], dates[i], dates[i+1]) - # v∞_out2, v∞_in2, tof2 = Thesis.lamberts(flybys[i+1], flybys[i+2], dates[i+1], dates[i+2]) - # push!(phases, Phase(flybys[i+1], 1.02v∞_in1, 0.98v∞_out2, 1.02tof1, 0.02*ones(20,3))) - # end - # v∞_out, v∞_in, tof = Thesis.lamberts(flybys[end-1], flybys[end], dates[end-1], dates[end]) - # push!(phases, Phase(flybys[end], v∞_in, v∞_in, tof, 0.01*ones(20,3))) - # guess = Mission_Guess(bepi, 3_600., dates[1], launch_v∞, phases) - # m = solve_mission(guess, launch_window, latest_arrival, 200., 20., verbose=true) - # @test typeof(m) == Mission - # p = plot(m, title="NLP Test Solution (5 Phases)") - # savefig(p,"../plots/nlp_test_5_phase.html") - # store(m, "missions/nlp_5_phase") + if typeof(m) == Mission + p = plot(m, title="NLP Test Solution (2 Phases)") + savefig(p,"../plots/nlp_test_2_phase.html") + store(m, "missions/nlp_2_phase") + end end diff --git a/julia/test/propagator.jl b/julia/test/propagator.jl index bcc6210..1ea57c1 100644 --- a/julia/test/propagator.jl +++ b/julia/test/propagator.jl @@ -1,21 +1,27 @@ @testset "Propagator" begin - println("Testing propagator") + using PlotlyJS: savefig - using Thesis: prop_one + println("Testing Propagator") # Set up start_mass = 10_000. start = gen_orbit(rand(.5year : hour : 2year), start_mass) - stepsize = rand(hour : second : 6hour) + time = rand(0.2year : second : 0.5year) + n = 1_000 - # Test that Laguerre-Conway is the default propagator for spacecrafts - state = prop_one([0., 0., 0.], start, no_thrust, stepsize) - @test laguerre_conway(start, stepsize) ≈ state[1:6] - @test state[7] == start_mass + # Test that Propagation works + states = prop(zeros(n,3), start, no_thrust, time) + @test states[1,:] != states[end,:] # Test that mass is reduced properly - state = prop_one([1., 0., 0.], start, bepi, stepsize) - @test state[7] == start_mass - mfr(bepi)*stepsize - + states = prop(ones(n,3)/√3, start, bepi, time) + @test states[end,7] ≈ start_mass - mfr(bepi)*time + + # Test that the propagator works backwards + backwards = prop(ones(n,3)/√3, states[end,:], bepi, -time) + p = plot([states, backwards]) + savefig(p,"../plots/prop_back.html") + @test backwards[end,:] ≈ start + end diff --git a/julia/test/runtests.jl b/julia/test/runtests.jl index 5cc4122..b80aea9 100644 --- a/julia/test/runtests.jl +++ b/julia/test/runtests.jl @@ -3,7 +3,7 @@ using Random using LinearAlgebra using SPICE using Thesis -using Dates: DateTime, Millisecond, Dates, Second, format, datetime2unix, unix2datetime +using Dates: DateTime, Millisecond, Dates, Second, format, datetime2julian, julian2datetime try furnsh("../../spice_files/naif0012.tls") @@ -14,10 +14,10 @@ catch end @testset "All Tests" begin - include("plotting.jl") - include("laguerre-conway.jl") + # include("plotting.jl") + # include("laguerre-conway.jl") include("propagator.jl") - include("nlp_solver.jl") - include("mbh.jl") - include("genetic_algorithm.jl") + # include("nlp_solver.jl") + # include("mbh.jl") + # include("genetic_algorithm.jl") end