Code covered by the BSD License  

Highlights from
Optimal Finite-burn Interplanetary Injection from Earth Orbit

4.0

4.0 | 1 rating Rate this file 16 Downloads (last 30 days) File Size: 760 KB File ID: #42215

Optimal Finite-burn Interplanetary Injection from Earth Orbit

by

 

14 Jun 2013 (Updated )

A MATLAB script for optimizing finite-burn interplanetary injection trajectories.

| Watch this File

File Information
Description

PDF document and MATLAB script named escape.m that can be used to analyze a finite-burn maneuver that achieves interplanetary injection from an initial Earth park orbit. The simulation assumes the propulsive maneuver is continuous, coplanar and modeled as a series of optimal discretized steering angles. This script attempts to minimize the scalar magnitude of the finite-burn while solving for user-defined “boundary conditions” or hyperbolic targets.
The orbital motion is modeled using modified equinoctial orbital elements and the script assumes that the thrust magnitude is constant during the entire orbit transfer. Initial guesses for the escape.m script can be determined using the hyper1.m script, “Impulsive Hyperbolic Injection from a Circular Park Orbit”. This MATLAB script provides the park orbit right ascension of the ascending node (RAAN) and the true anomaly of the impulsive injection maneuver on the initial circular park orbit.

MATLAB release MATLAB 8.0 (R2012b)
Other requirements Requires platform-specific SNOPT mex and support m-files which can be found at Professor Philip Gill’s web site located at http://scicomp.ucsd.edu/~peg/.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
17 Jul 2014 Chi

I try again with the MATLAB2012b and 2013 version of SNOPT.And I note that there are two date file,"escape1.dat" and " low_thrust1.dat".
After run the eacape.m,I choose the "escape1.dat". Then the error shows:
< finite-burn interplanetary injection >
Error using csvread (line 35)
File not found.

Error in escape (line 46)
edata = csvread(read_fname);

If I choose the "low_thrust1.dat". Then the error shows:
Error in snwrapper (line 7)
if ( nargin == 3 ),

Error using snoptcmex
Output argument "F" (and maybe others) not assigned during call to "D:\Program
Files\MATLAB\R2012b\toolbox\studentSnopt\snwrapper.m>snwrapper".

Error in snJac (line 7)
[A,iAfun,jAvar,iGfun,jGvar] = snoptcmex(findJacOption,usrfun,x0,xlow,xupp,nF);

Error in snopt (line 109)
[A,iAfun,jAvar,iGfun,jGvar] = snJac(userfun,x,xlow,xupp,m);

Error in escape (line 204)
[x, f, inform, xmul, fmul] = snopt(xg, xlb, xub, flow, fupp, 'escape_shoot1');

I think there some problems in SNOPT, but I can't find the mistake.Can you help me?
Thanks.

17 Jul 2014 Chi

Thanks for your work. My MATLAB release is MATLAB 2014a, and I use the March 17, 2014 version of SNOPT. When I run the main script (escape_64bit.m) ,then choose the date, it shows a error:
the ' double' type input parameter was not defined corresponding to function 'snoptmex'

error snscreen (line 18)
snoptmex( screenon );

error escape_64bit (line 368)
snscreen('on');
why? Is there some mistake I have made?
Thanks again.

Updates
19 Jun 2014

Option added to read and use a csv data file for the initial guess. Also writes a data file of the current simulation.

10 Jul 2014

Changed objective function to thrust duration. Updated PDF. Added main script (escape_64bit.m) that uses the March 17, 2014 version of SNOPT.

Contact us