CamPyRoS
CamPyRoS (Cambridge Python Rocketry Simulator) is a Python package which provides fully featured rocket trajectory simulation
Install / Use
/learn @cuspaceflight/CamPyRoSREADME
CamPyRoS - A 6DOF Rocket Trajectory Simulator
CamPyRoS (Cambridge Python Rocketry Simulator) is a Python package which provides fully featured rocket trajectory simulation including features like:
- 6 degrees of freedom (3 translational, 3 rotational)
- Monte Carlo stochastic analysis
- Aerodynamic heating model
- Use of live wind data
- Variable mass and moments of inertia models
Getting started
Currently not all dependancies are supported by the same install methods so the easiest install doesn't contain the full functionality. To install the core library:
pip install git+https://github.com/cuspaceflight/CamPyRoS.git
Statistics has a dependancy not fully supported by windows, to install it:
pip install ray on most platforms, for Windows problems see here.
If you don't install this the statistics module will run but only single threaded which will be extremely slow.
Usage
The repository contains some examples you can run:
example.ipynborexample.py: Launch of a simple rocket (the Martlet 4).Stats Model Example.ipynb: Example of how to use the statistics model and stochastic analysis.Aerodynamic Heating Example.ipynb: Example of how to run an aerodynamic heating simulation.
Helping out
If you would like to contribute please have a look at the guidelines
In progress
- GUI: An incomplete (and outdated) GUI has been made using Tkinter, and is in gui.py.
- Slosh modelling: Some slosh modelling functions have been put together in slosh.py, based on the following source - The Dynamic Behavior of Liquids in Moving Containers, with Applications to Space Vehicle Technology.
- Wind variability: Statistical analysis of historic wind forecasts and obervations are analysed to create a Guassian difference profile to vary the wind in the statistical models (see wind-stats branch for a very poorly documented insight to current progress)
Potential for expansion
- Multistage rockets
- Fin cant, roll damping, and roll acceleration: OpenRocket Technical Documentation
- CFD coupling: PyFoam, Simulations of 6-DOF Motion with a Cartesian Method
- Multiphysics coupling: PRECICE
Cite as
Daniel Gibbons, & Jago Strong-Wright. (2021, February 11). cuspaceflight/CamPyRoS: First release! (Version V1.0). Zenodo. http://doi.org/10.5281/zenodo.4535672
Main References
[1] - Stochastic Six-Degree-of-Freedom Flight Simulator for Passively Controlled High-Power Rockets
[2] - Tangent ogive nose aerodynamic heating program: NQLD019
Additional References
[3] - NASA Basic Considerations for Rocket Trajectory Simulation
[4] - SIX DEGREE OF FREEDOM DIGITAL SIMULATION MODEL FOR UNGUIDED FIN-STABILIZED ROCKETS
[5] - Trajectory Prediction for a Typical Fin Stabilized Artillery Rocket
[6] - Central Limit Theorem and Sample Size
[7] - Monte Carlo Simulations: Number of Iterations and Accuracy
[8] - Method for Calculating Aerodynamic Heating on Sounding Rocket Tangent Ogive Noses
[9] - Six degree-of-freedom (6-DOF) Flight Simulation Check-cases
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
