A Python project for optimizing your rocket projects using OpenRocket and PSO
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Rocket Optimizer is a Python script that uses OpenRocket to optimize rocket designs. It uses a genetic algorithm to find the best rocket design for a given set of constraints. The script is designed to be used with the OpenRocket rocket design software.
To get a local copy up and running follow these simple example steps.
- OpeRocket 15.03
- Python >= 3.6
- Java JDK 1.8
- Oracle Java SE Development Kit 8
- OpenJDK for Ubuntu:
sudo apt-get install openjdk-8-jre
For most people jpype will be able to automatically find the JDK. However, if it fails or you want to be sure you are using the correct version, add the JDK path to a JAVA_HOME environment variable:
- Find installation directory (
e.g. /usr/lib/jvm/[YOUR JDK 1.8 FOLDER HERE]
) - Open the
~/.bashrc
file with your favorite text editor (will likely need sudo privileges) - Add the following line to the
~/.bashrc
file:
export JAVA_HOME="/usr/lib/jvm/[YOUR JDK 1.8 FOLDER HERE]"
- Restart your terminal or run the following for the changes to take effect:
source ~/.bashrc
- Set Windows environment variables to the following:
- If Oracle
JAVA_HOME = C:\Program Files\Java\[YOUR JDK 1.8 FOLDER HERE]
- If OpenJDK
JAVA_HOME = C:\Program Files\ojdkbuild\[YOUR JDK 1.8 FOLDER HERE]
- If Oracle
- Download the OpenRocket-15.03.jar file
- Right-click the file and select
Properties
- On the
Permissions
tab, enable theAllow executing file as program
option
Make sure to have https://pypi.python.org/simple as a repository channel on your environment
- Install orhelper from pip
pip install orhelper
- Set environment variable CLASSPATH path to OpenRocket .jar file. (Only required if it's not already at .\OpenRocket-15.03.jar)
CLASSPATH=\some\path\to\OpenRocket-15.03.jar
- Open the motor file link and save as "Acrux.eng"
- Execute OpenRocket
- Select the
Edit
tab and click onPreferences
- On
User-defined thrust curves
click onAdd
and select the path to theAcrux.eng
file - Click
OK
to save the changes
Yuri Winche Achermann - @YuriAchermann - [email protected]
- Sampo Niskanen for the original simulator development: Documentation
- @SilentSys for the advising and consolidation of orhelper: Source
- And of course everyone who has contributed to OpenRocket over the years.