Skip to content

rsewell97/open-starship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Open Starship!

Welcome to the Open Starship repo - this is a little project I've been working on.

Who wasn't in awe when they saw 2 x 30 ton, 40m tall rockets simultaneously land after sending a Tesla into orbit?? In my opinion, SpaceX's landing software is pioneering and beyond what was thought possible before 2012. I'm completing my Engineering degree in quarantine and decided to make a rocket landing framework to test various control systems for landing the some common reusable rockets.

Naturally as an engineer, I've vastly simplified some aspects of aerodynamic effects! I have modelled Falcon 9, Starship and Electron according to several papers and models published by many sources including NASA. I've been consistent with Each company's coordinate definitions for each rocket. I would love for this tool to help others learn about control theory and other control algorithms.

Runtimes are vectorised and thus extremely fast. With time steps of 0.01s, the simulation runs at 500x real-speed. I have included a basic plotting script using MatPlotLib to allow for real-time analysis.

Screenshots

MatPlotLib UI: alt text

Pipeline

  • Add alternate (faster) plotter
  • Implement various control algorithms (including the SpaceX paper)
  • Improve models for aerodynamic effects on rigid bodies in transonic regime
  • Implement nonlinearities in engine properties (min thrust, max ignitions)
  • Implement boundary conditions on control problems
  • Document code (collaboration dependent)
  • Add backend to meet requirements of OpenAI gym

Collaboration

I would love some collaboration on this project - if this project interests you, please make a pull request or get in touch!

About

Rocket landing environment for practising control theory

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages