1. C 코드로 구성된 소스파일 준비
아래 그림과 같이 실시간 차량동역학 모델을 FMU 로 생성하기 위해 사전에 소스파일이 준비되어 있어야 합니다. 소스파일은 사용자가 직접 구현할 수도 있지만, 깃허브나 블로그와 같은 오픈소스를 활용하면 쉽게 작성이 가능합니다. 아래 예시는 7자유도 실시간 차량동역학 모델의 소스파일을 기준으로 작성하였습니다. 소스코드는 크게 세가지로 나누어 작성하였으며 그 구성은 아래 표에 잘 설명되어 있습니다.
| 실시간 차량동역학 모델 |
2. Input 과 Output 인터페이스 셋팅
FMU 파일은 입력변수와 출력변수 사이에 함수 형태의 로직이 꾸며져 있습니다. 입력변수는 사용자가 정의해야하는 데이터입니다. 출력변수는 사용자가 로직을 통해 얻은 데이터를 디스플레이 할 때, 사용합니다. 이 예제에서 입력변수는 다섯 가지로 구성하였습니다. 조향각, 차량의 진행방향 속도, 피치 모멘트, 등판 각도, 캔트 각도로 구성하여 실제 도로 환경을 모사할 수 있도록 정의하였습니다. 출력 데이터는 실제 시뮬레이션에서 얻을 수 있는 yaw angle, side slip angle, yaw rate 등과 같이 차량의 운동을 표현하는데 필요한 데이터로 구성하였습니다.
따라서, 사용자는 차량동역학 특성을 규명하기 위해 사전에 입력데이터인 조향각, 차량 속도, 피치 모멘트, 등판 각도, 캔트 각도 정보를 알고 있어야 합니다. Amesim 에서 이와 같은 데이터를 입력하기 위해 [time, value] 와 같이 시계열 데이터가 정의되어야 합니다. 그래야 시간에 따른 데이터를 얻을 수 있습니다.
| 시간에 따른 조향각 데이터 |
| 시간에 따른 차량 속도 데이터 |
| 브레이크와 가속을 표현한 피치 모멘트 |
3. FMU 빌드하기
아래와 같이 같은 폴더에 소스파일을 위치하고, Microsoft Visual Studio 2015 로 컴파일을 수행합니다. CMD 창에서 폴더의 경로로 이동하고 배치 파일을 실행하면, fmu 파일을 생성할 수 있습니다. 이때 반드시 Microsoft Visual Studio 2015 이상의 컴파일러가 사전에 설치되어 있어야 합니다.
이렇게 빌드를 수행하면 dist 라는 폴더 안에 fsm_suspension_fmu.fmu 파일을 찾을 수 있습니다.
이제 이 fmu 파일을 Amesim 에서 임포트하여 실시간 차량동역학 해석을 수행할 수 있습니다.
| Visual studio 2015 를 이용하여 fmu 를 빌드한 화면 |
4. Amesim 에서 FMU 파일 가져오기
생성된 FMU 파일을 Amesim 에서 다음과 같이 불러올 수 있습니다. FMU import assistant 기능을 이용하여 FMU 파일을 가져옵니다. FMU 파일을 가져오면, 입력단자 및 출력단자가 인터페이스 형태로 제공되며, 이 단자에서 사전에 정의되어 있는 입력변수를 연결합니다. 마찬가지로 출력단자를 모두 닫아야 폐루프 조건에서 시뮬레이션을 수행할 수 있습니다.
5. 시뮬레이션 수행 및 결과 그래프
해석을 수행하기 위해 솔버 셋팅은 다음과 같이 합니다. 1초에 1000개의 데이터를 획득해야하므로 step size는 0.001 로 하였습니다.


댓글 없음
댓글 쓰기