Skipping Stone - An interplanetary space mission design tool

버전 1.4 (45.8 MB) 작성자: Rody Oldenhuis
An easy-to-use tool to optimize trajectories for interplanetary missions using swingby manoevres
다운로드 수: 3.7K
업데이트 날짜: 2020/5/2

Skipping Stone
A richly featured application to design trajectories for interplanetary space missions using (multiple) gravity-assist maneuvers. Its most prominent capabilities are:
- single/multi objective optimization
- can work with a multitude of (heuristic) optimization algorithms
- Low/high thrust propulsion both supported
- (rough) global and (accurate) local searches seamlessly integrated
- additional functionality can be added easily via user-definable plugins
- intuitive GUI, nice plots of best trajectory found, speed w.r.t. central body, and many others. Designed to easily explore various mission scenarios, BATCH optimization to find the best in a whole set of scenarios, etc.
- Comes ready with "nearby MPs" post processor, to also locate the known asteroids/comets/etc. that come close to the final trajectory.

I wrote this application for my Master's thesis in Space Engineering. The idea was to make everything as general and easy to understand as possible, so that other, future students could easily experiment with their problem(s), and eventually expand and improve this program. If anything, it is an excellent showcase of all that's possible with MATLAB (and all that's not :) See https://dl.dropboxusercontent.com/u/5045692/MSC_thesis_FINAL.pdf (my master thesis) for all the details and background.

To start Skipping Stone, just clone the repository (recursively, it contains submodules) or download and unpack the zip, navigate to its home directory in MATLAB and execute "main.m".

A word of advice: First run "speedup.m" (also in the home directory) first to compile a few bottleneck-algorithms; this speeds up the optimizations pretty dramatically. It is not required though; everything should work as is.

An easy example: find a so-called Mars-free-return trajectory:
- run "main.m" and leave all settings untouched
- on the "Sequence" tab, select "Venus" as swingby1, and "Mars" as target.
- Press the OPTIMIZE! button and wait a few seconds.

Feel free to add more planets and play with all the settings. Note that low thrust trajectories are MUCH harder to optimize, so you should expect to wait longer. Naturally, this also holds for increasingly complex problems; 5 swingbys with multiple revolutions and long/short way optimized will require a LOT more time than the Mars-free return mission mentioned above.

Although I took great care to catch all errors I can think of, I expect lots of bugs are still present. So if you do find any strange errors popping up, or have a much more general question, please e-mail me with a brief description, screenshots etc. so I can post a fix, or post your request here on the forum. Also, if you are also an aerospace student and want to participate, I can sure use a hand or two (or more)!

Known flaws, improvements, etc.:

- second order optimizations ("high-accuracy local search") NOT YET IMPLEMENTED: expect errors when trying this! It's something that wasn't required for my thesis, so due to time pressure at the time I didn't implement this correctly yet.

- A much better approach to building the windows and data management etc. would be to make a class out of the main window (plus all callbacks). This would make it a lot more scalable and easier to understand. But at the time I wrote this, I didn't know how to do this properly, and now that I do it's an awful lot of work: so for now this is future work.

- There is NO clear documentation (although the code is pretty well documented). This is a problem with all software written under pressure of course; it's something I'm still working on...

- As for validation: as you can read in my thesis, all missions I tried could be found by Skipping Stone, EXCEPT NASA's Galileo for some reason. Please; if you find that reason, I'd be very happy!

인용 양식

Rody Oldenhuis (2024). Skipping Stone - An interplanetary space mission design tool (https://github.com/rodyo/FEX-SkippingStone/releases/tag/v1.4), GitHub. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2008b
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Splines에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

GUI

GUI/@SkippingStoneGui

GUI/@SkippingStoneGui/private

MISSION_SPECIFIC

convert

data/planets/statevecs

data/skipping_stone

ephemerides

misc_math

models

models/Gravity

models/Gravity/Earth

optimization/GODLIKE

orbital_mechanics

orbital_mechanics/Lambert targeters/central body flyby

orbital_mechanics/Lambert targeters/low thrust

plugins/common

plugins/costfunctions

plugins/postprocessors

utils

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
1.4

See release notes for this release on GitHub: https://github.com/rodyo/FEX-SkippingStone/releases/tag/v1.4

1.3.0.0

Included proper JPL/DE405 ephemerides routines

1.2.0.0

Minor description update

1.1.0.0

[linked to Github]

1.0.0.0

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.