minmoong

OpenRocket 프로그램 시뮬레이션 기능 사용법 본문

카테고리 없음

OpenRocket 프로그램 시뮬레이션 기능 사용법

minmoong 2024. 9. 3. 21:25

OpenRocket

OpenRocket은 로켓을 만들고 날리기 전에, 설계하고 시뮬레이션할 수 있는 프로그램입니다.

 

자세한 정보는 아래 링크를 참고하시기 바랍니다.

 

Github: https://github.com/openrocket/openrocket

 

GitHub - openrocket/openrocket: Model-rocketry aerodynamics and trajectory simulation software

Model-rocketry aerodynamics and trajectory simulation software - openrocket/openrocket

github.com

 

공식 사이트: https://openrocket.info/

 

OpenRocket Simulator

Fine tune your design with realtime performance data feedback Performance data such as center of pressure, center of gravity, maximum altitude, max velocity and stability are all updated in real time as you work in design mode. See the effect of your chang

openrocket.info

 

 

설치

https://openrocket.info/

 

OpenRocket Simulator

Fine tune your design with realtime performance data feedback Performance data such as center of pressure, center of gravity, maximum altitude, max velocity and stability are all updated in real time as you work in design mode. See the effect of your chang

openrocket.info

 

위 사이트에 접속하여 운영 체제에 맞는 설치 프로그램을 다운로드합니다.

 

시뮬레이션 기능 사용법

OpenRocket의 시뮬레이션은 로켓과 모터의 조합, 풍속과 풍향 등의 현실 세계의 물리 법칙들에서 로켓이 어떻게 상호작용하는가를 시뮬레이션합니다. 이를 통해 로켓을 설계하는 사람, 로켓에 사용될 모터를 설계하는 사람들 등등이 유용하게 사용할 수 있습니다.

 

참고로 아래 사진에서도 볼 수 있듯이 시뮬레이션에 사용된 계산 방식들이 어떤 것이 사용되었는지 확인할 수 있습니다. 구글에 검색해보면 논문만 띡 나와서 무슨 방식인지는 잘 모르겠네요.

 

 

Extended Barrowman과 6-DOF Runge-Kutta 4 방식을 사용했다고 합니다. (저도 잘 모름)

 

 

추가적인 OpenRocket에 대한 자세한 설명은 아래 링크를 참고하세요.

https://openrocket.readthedocs.io/en/latest/user_guide/basic_flight_simulation.html

 

그럼 OpenRocket 시뮬레이션 기능을 사용하는 방법에 대해 설명하겠습니다.

 

우선 간단한 로켓을 불러오는 것부터 해봅시다.

 

OpenRocket 프로그램을 열면 다음과 같은 화면이 나타납니다.

 

여기서 맨 위의 'File > Open example > A simple model rocket'을 클릭하면 미리 설계된 간단한 로켓 모델을 불러올 수 있습니다.

 

 

위와 같이 로켓을 불러오는데 성공하였습니다.

 

이제 상단의 'Flight simulations' 탭을 클릭하여 아래와 같이 시뮬레이션 창을 킵니다.

 

 

환경이 각각 다른 시뮬레이션 5개가 보이는데 그 중 하나를 선택하거나 드래그해서 여러개를 선택한 다음 Run simulations 버튼을 누르면 시뮬레이션할 수 있습니다.

 

위 사진에서 각각의 세로축은 다음을 의미합니다.

 

  • Configuration: 엔진의 유형을 나타냅니다.
  • Velocity off rod: 발사대에서 분리되었을 때의 초기 속력을 의미합니다.
  • Apogee: 로켓의 최고점을 의미합니다.
  • Velocity at deployment: 낙하산을 펼쳤을 때의 로켓의 속력을 의미합니다.
  • Optimum delay: 낙하산이 작동하는 최적의 시간을 의미합니다.
  • Max velocity: 로켓의 최고 속력을 의미합니다.
  • Max acceleration: 로켓의 최고 가속력를 의미합니다.
  • Time to apogee: 로켓의 최고점에 다르는 시간을 의미합니다.
  • Flight time: 발사부터 착지까지 전체 비행 시간을 의미합니다.
  • Ground hit velocity: 로켓이 땅으로 다시 떨어졌을 때 지면에 닿기 직전의 속력을 의미합니다.

이제 5개의 시뮬레이션 중 하나를 선택한 다음 'Edit simulation' 버튼을 눌러 시뮬레이션 설정 창을 다음과 같이 띄웁니다.

 

 

바람의 평균 속도, 바람의 방향, 로켓의 발사 위치, 대기 조건, 발사대의 길이 및 각도 등등에 대한 설정을 직접 수정할 수 있습니다.

 

이번엔 로켓의 엔진 스펙을 확인하는 방법을 알아보겠습니다. 치올콥스키의 로켓방정식에서 '엔진의 연료 분사 속도'값이 사용되는데요, 이를 구하기 위해서는 엔진의 여러 값들을 확인해서 직접 계산하는 과정을 거쳐야 합니다.

 

위 그림에서 나온 창을 이제 닫고, 'Flight simulation' 탭 바로 왼쪽에 있는 'Motors & Configuration' 탭에 들어갑니다.

위와 같이 선택하고 싶은 엔진의 유형(위의 경우에 A8-3)을 클릭하고 'Select motor' 버튼을 누르면 A8-3 유형에 해당하는 엔진들이 다 나옵니다.

 

이렇게 엔진들이 주르륵 다 나오는데 엔진 하나를 선택하고 오른쪽에 'Show Details'를 누르면 엔진에 대한 상세 정보가 나옵니다.

 

 

엔진의 여러 정보들을 확인할 수 있는데 이는 치올콥스키의 로켓방정식에서 엔진의 연료 분사 속도를 계산하는데 사용할 수 있습니다. 그리고 Empty mass와 Launch mass의 차이는 연료의 무게를 의미하며 이는 연료를 다 소모한 로켓의 질량과 초기의 로켓 질량 값을 알아내는데 사용할 수 있습니다.

 

치올콥스키의 로켓방정식을 활용한 탐구

치올콥스키의 로켓방정식을 통해 얻은 로켓의 최종 속도값과 로켓을 시뮬레이션해서 얻은 로켓의 최종 속도값이 어떤 오차가 있으며, 여러 모델을 시뮬레이션 해봄으로써 로켓방정식이 일반화가 잘 되어있는지를 확인해보는 실습을 해보고자 합니다.

 

// 작성중 ...