https://github.com/utokyoat/rocket_simulator
主にハイブリッドロケットの陸打ちを想定したシミュレータです。
https://github.com/utokyoat/rocket_simulator
rocket
Last synced: about 2 months ago
JSON representation
主にハイブリッドロケットの陸打ちを想定したシミュレータです。
- Host: GitHub
- URL: https://github.com/utokyoat/rocket_simulator
- Owner: UTokyoAT
- License: mit
- Created: 2025-03-31T12:55:51.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-14T08:23:20.000Z (9 months ago)
- Last Synced: 2025-09-14T08:28:23.078Z (9 months ago)
- Topics: rocket
- Language: Python
- Homepage:
- Size: 391 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# rocket_simulator
主にハイブリッドロケットの陸打ちを想定したシミュレータです。
## 環境構築
パッケージ管理ツールuvの使用を推奨します。
## 使い方
1. config内の各ファイルに設定を書き込む。
2. 下記のコマンドを実行する。
```bash
uv run python -m scripts.make_report
```
## コンフィグ設定方法
下記のファイルをconfig/に配置する。
### config.json
#### wind_speed
基準高度での風速[m/s]
#### wind_direction
風向[deg]
北を0として時計回りに計る。真方位を用いる。
#### wind_reference_height
風速を測定した高度[m]
#### wind_exponent
べき法則のべき定数
高度z[m]での風速は
wind_speed * (z / wind_reference_height)^(1 / wind\_exponent)
#### CA
軸力係数
すなわち、機体の前後方向に受ける空気力を無次元化したもの。空気抵抗係数とは迎角0の時のみ一致する。
#### CN_alpha
放線力傾斜[1/rad]
すなわち、機体の前後方向に垂直な向きに受ける空気力を無次元化したものを迎角で微分したもの。
#### body_diameter
ロケットの直径[m]
#### wind_center
風圧中心[m] 向きはx軸正の向きがロケットの先端を向く。原点はgravity_centerと整合していれば良い。
#### dt
シミュレーションの時間刻みはば[t]
#### launcher_length
ランチャーの長さ[m]
#### 慣性モーメント
I_xx, I_yy, I_zz, I_zy, I_xz, I_xy
機体の前後方向がx軸である
#### parachute_terminal_velocity
パラシュートの終端速度[m/s]
#### parachute_delay_time
最高高度に達してからパラシュートが開傘するまでの時間[s]
#### first_elevation
発射前の機体の仰角[deg] 90の時真上に打ち上げる。
#### first_azimuth
発射前の機体の方位角[deg] 北を0として時計回りに計る。真方位を用いる。
#### first_roll
発射前の機体のロール角[deg]
#### first_gravity_center
機体発射時の重心の位置[m] 向きはx軸正の向きがロケットの先端を向く。原点はwind_centerと整合していれば良い。
#### end_gravity_center
燃焼終了時の重心の位置[m] 向きはx軸正の向きがロケットの先端を向く。原点はwind_centerと整合していれば良い。
#### length
ロケットの全長[m]
### report_config.json
#### launcher_elevation
理想フライトとノミナルフライトにおける発射時の機体の迎角[deg]
#### wind_speed_nominal
ノミナルフライトにおける基準高度での風速[m/s]
#### wind_direction_nominal
ノミナルフライトにおける風向[deg]
#### wind_speed_list
風速のリスト[m/s]
#### wind_direction_list
風向のリスト[deg]
#### launcher_elevation_list
発射角度のリスト[deg]
### mass.csv
必要なカラム
- time: 燃焼開始からの時間[s]
- mass: 機体の質量[kg]
シミュレーターは内挿しか行わないため、十分大きな時間までのデータを入力する必要がある。
### thrust.csv
必要なカラム
- time: 燃焼開始からの時間[s]
- thrust: 推力[N]
ただし、thrustはtime=0の時すでに1e-10 N以上となるようにしなければならない。
シミュレーターは内挿しか行わないため、十分大きな時間までのデータを入力する必要がある。
### launch_site.kml
射場情報
必要なPlacemark
- 発射地点: 座標を一つ含まなければならない
- 落下可能範囲: 複数の座標を含む。