자동차에 관심이 있는 사람이라면 한번쯤은 승용차 전체를 어떤 기계위에 올려서 시험을 하는 영상을 본적이 있을 겁니다. 그 장비는 로드 시뮬레이터라고 합니다. 사용목적은 시험실에서 자동차에 실제 주행환경과 동일한 조건을 부여하고 이를 통해 내구성능(durability)과 진동, 소음 성능(NVH)을 확인하는 것입니다. 여기서 중용한 것은 “시험실에서” 라는 것입니다. 대체로 아래와 같이 생겼습니다.
*작성자 주) 사람들을 만나다 보면 우리가 하는 시뮬레이션이 아니라 “시뮬레이터”라고 말하는 것을 듣는 경우가 있습니다. 그래서 간혹 우리가 하는 시뮬레이션과 혼동을 하는 경우가 있어서, 그 차이를 여기에 적습니다. 우리가 하는 시뮬레이션은 소프트웨어를 사용해서 CAE를 한다는 것은 명확합니다. 시뮬레이터는 내 나름대로 정의하면 실제와 동일한 현상을 재현하는 하드웨어라고 하겠습니다. 이렇게 놓고 보면 여기에서 다루고 있는 로드(road) 시뮬레이터는 자동차가 길에서 달리는 것을 재현하는 하드웨어라고 보면 됩니다. 다른 경우로는 실제 제품이 매우 커서 시험실에서 운용하기 어려운 경우 실제 제품을 동일하게 재현하는 축소 제품(Hardware)을 만들고 이를 시뮬레이터라고 하기도 합니다. 결국, 시뮬레이터는 하드웨어라는 것을 명심해 주세요.
📷 http://www.jiat.re.kr/JaiicMgr/Upload/Property/cf07a3d3-ecf4-49d4-8e4d-34d2166a4415.png
동영상 https://youtu.be/cjI7QqPxv-A
동영상
시뮬레이터는 차량을 고정하기 위한 마운트와 여러 개의 유압실린더로 구성되어 있습니다. 실린더가 각각 운동을 하면서 다양한 조건을 만들어 냅니다.
지금까지는 로드 시뮬레이터가 어떻게 생겼고, 무엇을 하는 것인지 알아 보았습니다.
그럼, 실제로 이것을 어떻게 사용해서 실제 로드 주행 상황을 재현하는지 알아보겠습니다. 여기에서는 내구성능을 대상으로 하겠습니다.
가장 먼저 필요한 것이 재현할 대상을 만드는 것입니다. 자동차는 어디를 어떻게 달리는지에 따라서 매우 다양한 조건에 처하게 됩니다. 실제로 사용되는 이 조건을 사용하면 좋겠지만, 조건이 너무 다양하고 많기 때문에 이를 사용하기는 어렵습니다. 그래서, 자동차 업체는 자신이 접근하기 쉬운 시험장에 전용 도로들 만들었습니다. 이를 내구시험전용도로(Proving ground)라고 합니다.
개발차량의 내구 성능은 실제 차량을 제작한 이후 내구시험전용도로에서 다양한 내구성 평가시험을 통하여 검증합니다.
📷 http://kts.katech.re.kr/open_con/sub02/Jangbiimg/E000140.jpg
<그림 우리나라 자동차부품연구원 주행성능시험장>
📷 http://www.millbrook.co.uk/services/tracks-and-facilities/test-tracks-uk/
<그림 UK millbrook Proving Ground>
차량이 내구시험전용도로를 주행할 때 일어나는 각종 상태를 측정하기위해 다양한 센서를 부착합니다. 여기에 사용되는 센서로는 스트레인게이지(strain gauge), LVDT, WFT(Wheel Force Transducer), 가속도계, RMP meter, rosette, load cell 등이 있으며 이 센서들을 통해서 변위(displacement), 변형율(strain), 하중, 가속도, 회전속도, wheel force 등의 값을 얻을 수 있습니다. 특히, WFT(또는, WFS, wheel force sensor)는 바퀴에 들어오는 하중과, 모멘트를 측정하기위해 사용합니다.
📷https://www.aanddtech.com/content_images/WFS.jpg
<그림 휠포스센서 (WFT, 또는 WFS)>
계측된 값은 시간에 따라서 기록되기 때문에 이를 이력(history)이라고 부릅니다. 이 계측된 이력이 시뮬레이터에서 재현할 대상이 됩니다.
지금까지 과정을 다시한번 되짚어보면, 자동차가 있고, 이 차에 센서를 부착하고 내구시험전용도로를 달리면서 센서에서 측정된 값을 기록했습니다.
지금까지는 실외에 있었는데, 이제 실내 시험실로 들어가겠습니다.
시험실에는 시뮬레이터가 있습니다. 이제 이 시뮬레이터에 자동차를 올립니다. 자동차는 센서를 부착해서 내구시험전용도로에서 사용한 바로 그 차일수도 있고, 동일 모델의 다른 차일 수도 있겠습니다. 다른 차일 경우에는 동일한 위치에 동일한 센서가 부착 되어 있어야 합니다. (센서가 부착 되어 있어야 하는 이유는 후에 다루겠습니다.)
예를 들어 실외에서 시험을 하면서 센서에서 10개의 측정값을 받았다고 하면, 📷 과 같이 10개 이력이 있겠습니다.
시뮬레이터에서 재현한다는 것은 계측 이력 📷 이 시뮬레이터에서도 모두 동일하게 (실제로는 가장 비슷하게) 나오게 하는 것입니다. 그렇다면, 이제 남은 문제는 시뮬레이터를 어떻게 움직여야 동일한 값이 나올지 결정해야 하는 것입니다. 시뮬레이터를 움직인다는 것은 유압 실린더를 움직인다는 것이고, 통상적으로 이를 actuator 또는 drive라고 부릅니다.
이제 actuator를 어떻게 찾는지 알아보겠습니다.
실제로 내부에 사용되는 알고리즘은 여기에서 다루지는 않고, 내가 시험실에서 이 업무를 담당하는 사람일 때 어떤 과정을 하게 될지 알아보겠습니다.
상상해보세요.
1) 시험실에는 나와 컴퓨터, 자동차, 시뮬레이터가 있습니다.
2) 시뮬레이터에 자동차를 고정합니다. 자동차에는 센서가 달려 있습니다.
3) 컴퓨터에 이미 내구시험전용도로에서 얻은 10개의 측정값 📷를 복사합니다.
4) 자동차에 부착된 센서와 내 컴퓨터를 연결해서 컴퓨터가 지금부터 발생할 값을 받을 수 있도록 합니다.
5) 컴퓨터에 설치되어 있는 어떤 프로그램에 ‘TEST RUN’ 버튼을 눌렀습니다.
6) 시뮬레이터에 실린더가 한동안 움직이더니, 정지했습니다.
7) 시뮬레이터가 움직일 동안 연결된 센서에서 신호가 들어오는지 확인 합니다. 지금부터 들어오는 신호를 📷 이라고 합니다.
8) 컴퓨터에서 📷과 📷을 비교해 봅니다. 이 두 값은 같은 센서에서 나오는 값이므로 일치해야 재현이 되는 것입니다.
9) 오차가 상당히 크지만 (이건 당연합니다) 신호는 잘 들어 오는 것을 확인합니다.
10) 프로그램에서 ‘FIND ACTUATOR’ 버튼을 클릭합니다.
11) 지금부터는 꽤 오랫동안(몇 시간 이상) 시뮬레이터가 움직이고 정지하는 것을 자동으로 반복할 것입니다.
12) … 시간이 꽤 흘러서 시뮬레이터가 반복을 멈췄습니다. 컴퓨터를 확인해 보니 ‘성공’이라고 나와 있습니다. 📷과 📷을 각각 비교해 보니 전부 허용 오차 안에 들어와 있고, 이때 실린더의 움직임(actuator profile)이 저장되어 있습니다.
13) 시뮬레이터가 actuator profile을 찾았고, 재현에 성공 했습니다.
이제부터 이 차량은 actuator profile로 내구시험전용도로 시험을 대체할 수 있습니다.
실내에서 시험이 진행되므로 실외에서 진행 하는 것보다, 비용 및 안전에 있어서 장점이 있습니다.
*작성자 주) 혹시라도 오해가 있을 수 있어서 적어봅니다. 시뮬레이터에서 찾은 actuator profile이 내구시험전용도로에서 일어난 조건과 완벽하게 일치하는 것이 아닙니다. 무슨 말인가 하면, 예를 들어 이력상에 어느 시점에 📷의 값이 10이라고 합시다. 그리고 실린더는 5개가 있다고 합시다. 📷=10일 때 내구시험전용도로에서는 매우 다양한 조건에서 이 10이 만들어 졌을 것입니다. 하지만, 우리가 고려 할 수 있는 것은 오직 실린더 5개 입니다. 또한, 10은 2 + 2 + 2 + 2 + 2 일 수도 있고 1 + 2 + 5 + 1 + 2 = 10 일 수도 있고 다른 조합일 수도 있습니다. 표로 표현해 보면,
Actuator 1
Actuator 2
Actuator 3
Actuator 4
Actuator 5
📷
2
2
2
2
2
10
1
2
4
1
2
10
1
8
0
1
0
10
이렇게 다양한 추정이 가능합니다. actuator profile을 찾는 다는 것은 조합가운데 📷을 동시에 만족하는 조합을 찾는 것입니다. 다른 말로 표현하면, actuator profile을 찾는다는 것은 동일한 결과 값을 대상으로 하는 것이지 동일한 과정을 대상으로 하는 것이 아닙니다.
하지만, 여기서 대상으로 한 시험이 비교적 짧은 시간에 이루어진 시험이라면 문제 없지만 대상이 내구성능 이라면 매우 긴 시간을 다루어야 하기 때문에 이것 만으로는 장점이 뭔가 부족합니다. 왜냐하면, 시뮬레이터도 결국 하드웨어인데 지금 상태로 라면 실제와 시뮬레이터에서의 시간이 1:1로 되어 있기 때문입니다. 즉, 시간이 너무 오래 걸립니다.
그래서 시간을 단축시키기 위해 가속내구시험(accelerated testing)을 적용하게 됩니다.
내구시험에서는 피로해석(fatigue analysis)의 손상(damage)이 적용됩니다. 이렇게 표현해도 될지 모르겠지만, 파손이라는 것은 damage가 누적되어 그 합이 ‘1’이 되면 파손된다고 보기 때문에 시험조건(시뮬레이터 actuator profile)을 더 가혹하게 해서 동일 damage 합이 되는데 까지 소요되는 시간을 단축 시기는 방법입니다.
또한, 시뮬레이터 시험시간을 줄이기 위해서 전체 이력에서 damage에 영향이 적은 이력은 생략하기도 합니다. 이렇게 하기 위해서는 실제 도로에서 얻은 이력(service usage)과 내구시험전용도로에서 얻은 이력 및 시뮬레이터에서 얻은 이력을 사용한 damage 간에 correlation이 수반되어야 합니다. 같은 가속내구시험 조건이라고 하더라도 각 관심점(계측점)이 받는 가중치는 다를 수 있기 때문에 correlation은 관심점 별로 각각 이루어 져야 합니다.
다시 한번 상상해 보겠습니다. 실제로는 이보다 훨씬 복잡하겠지만, 이해를 돕기 위해 가상으로 적어봅니다.
1. 차량에 센서를 부착하고 이 차를 사용자에게 주고 사용하라고 했습니다. (시험장이 아닙니다.)
2. 한동안 차량의 센서 이력을 저장했습니다. (service usage)
3. 이 이력을 받아서 전체 이력을 대상으로 fatigue 및 damage를 계산해 보았습니다.
4. Damage에 영향이 큰 부분과 영향이 미미한 하중을 구별했습니다.
5. 영향이 미미한 하중을 제거하고 damage에 영향이 큰 하중만을 이용해서 단축된 이력을 만들었습니다.
6. 차량을 시뮬레이터에 올리고 이 이력이 나오는 actuator profile을 찾았습니다.
7. 찾은 actuator profile이 유압실린더의 변위라고 합시다. 시뮬레이터의 시험시간을 단축하기위해 actuator profile을 2배로 증가 시키고 시간을 반으로 줄여서, 시뮬레이터 시험을 했습니다.
8. 각 계측점 별로 damage를 위에서 이미 계산했던 damage와 correlation했습니다. 그 결과, 이 가속내구시험 조건으로 시험할 경우 발생하는 damage가 실제 service life와 어떤 관계를 가지는지 밝혀졌습니다.
9. 앞으로는 가속내구시험 조건으로 시험을 진행하고 service life를 예측하기로 했습니다.
듣자하니, 어떤 자동차 관련 회사에서는 동하중을 예측하는 시뮬레이션 기법으로
1) 계측한 휠포스가 있으면 RecurDyn 동역학 해석 소프트웨어 상에서 로드 시뮬레이터를 모델링하는 방식을 사용하고,
2) 계측된 값이 없으면 RecurDyn 동역학 해석 소프트웨어 상에서 노면을 모델링(VPG, Virtual Proving Ground)해서 차량을 주행하는 방식을 상용한다고 한다.