Copyright
Ⓒ2009 KSAE 1225-6382/2009/097- 2 2 Transactions of KSAE, Vol. 17, No. 1, pp.169-175 (2009)
실시간 다물체 차량동역학 소프트웨어 개발
Part II: Matlab GUI와 VR Toolbox를 이용한 전후처리 프로그램
하 경 남*1)․정 완 희1)․김 성 수2)․정 도 현3)․탁 태 오4)
충남대학교 BK21 메카트로닉스사업단 대학원1)․충남대학교 BK21 메카트로닉스사업단2)․ 자동차부품연구원3)․강원대학교4)
Development of Real-time Multibody Vehicle Dynamics Software Part II: Preprocessor and Postprocessor Using MATLAB GUI and VR Toolbox
Kyoungnam Ha*1)․Wanhee Jeong1)․Sung-Soo Kim2)․Dohyun Jung3)․Taeoh Tak4)
1)
Graduate School, BK21 Mechatronics Group at Chungnam National University, Daejeon 305-764, Korea
2)
BK21 Mechatronics Group at Chungnam National University, Daejeon 305-764, Korea
3)
Korea Automotive Technology Institute, 74 Yongjeong-ri Pungse-myeon, Cheonan-si, Chungnam 330-912, Korea
4)
Department of Mechanical Engineering, Kangwon National University, Gangwon 200-701, Korea (Received 16 June 2008 / Accepted 24 July 2004)
Abstract : Real-time multibody vehicle dynamics software has been developed for virtual handling tests. The software can be utilized for HILS(Hardware In the Loop Simulations) and consists of three modules such as a graphical vehicle modeling preprocessor, a real time dynamics solver, and a virtual reality graphic postprocessor for virtual handling tests. In the graphical vehicle modeling preprocessor, vehicle hard point data for a suspension model are automatically converted into multibody vehicle model. In the real time dynamics solver, the efficient subsystem synthesis method is used to create multibody equations of motion for a subsystem by a subsystem. In the virtual reality graphic postprocessor, an animator has been also developed by using Matlab Virtual Reality Toolbox for virtual handling tests.
Key words : Real-time multibody dynamics(실시간 다물체 차량동역학), HILS(하드웨어 인 더 루프 시뮬레이션), Preprocessor and Postprocessor(전 후처리기)
1. 서 론
1)
HILS(Hardware In the Loop Simulation) 시스템은 CDC(Continuous Damping Control), ESC(Electrical Stability Control), EPS(Electrical Power Steering)과 같은 차량의 샤시 제어 시스템들을 개발하는데 필 요한 효율적인 장비이며 그 구성 요소로는 실시간 차량동역학 모델(소프트웨어), 인터페이스 모듈, 그 리고 하드웨어 타겟(target) 시스템이다.
1,2)이 구성 요소 중에서 ‘Part I: 부분시스템 합성방법
*
Corresponding author, E-mail: [email protected]
에 의한 실시간 차량 모델’에서 소개한 실시간 차량 동역학 모델은 궁극적으로 실차시험을 대신하도록 하는 HILS 시스템에 사용되는 데에 정교한 모델 적 용가능성에 대한 한계점을 극복하기 위해서 개발되 었다.
3,4)HILS 시스템을 이용한 효율적인 샤시 제어 시스
템의 개발을 위해서, 다양한 핸들링 시뮬레이션을
실시간 다물체 차량 동역학 모델에 적용한 차량 테
스트가 필요하다. 또한 차량 테스트를 하기 전에 다
물체 차량의 동역학 모델을 자동적으로 생성해주는
전 처리기가 필요하다. 이는 3차원 공간에서 다물체
하경남․정완희․김성수․정도현․탁태오
차량의 데이터를 일일이 정의하는 것은 번거롭고 시간도 많이 걸리고 특히 실수를 유발하기 쉽기 때 문이다. 그리고 지능형 섀시 제어 시스템의 성능을 제대로 평가하기 위해서는 다양한 가상 핸들링 테 스트 시뮬레이션을 시각화 시키는 후 처리기의 개 발도 필요하다.
본 논문에서는 실시간 다물체 차량 동역학을 위 한 전․후처리 소프트웨어를 소개한다. 이 소프트 웨어는 현가장치의 하드 포인트로부터 다물체 차량 데이터로 자동으로 변환을 해주고 가상 핸들링 테 스트를 3차원 그래픽으로 표현한다. 전처리기와 후 처리기는 각각 Matlab GUI 와 Matlab VR Toolbox를 이용하여 개발 되었다. Fig. 1은 전 처리기 모듈, 다 물체 차량 해석 모듈, 그리고 가상환경 후 처리기 모 듈의 데이터 흐름도와 기능적 관계를 나타낸다.
Fig. 1 Functional relationship of the multibody vehicle dyna- mics program
2. 실시간 다물체 차량 S/W의 구성
가상 주행 안정성 테스트를 위한 실시간 다물체 차량동역학 소프트웨어의 GUI(Graphical User Inter- face)는 소프트웨어 사용자로 하여금 차량을 모델링 하고 해석하고 가상 주행 안정성 테스트를 확인하 는 일련의 작업을 쉽고 편리하게 처리할 수 있도록 고안된 것이다. Fig. 2는 모델링 전 처리기, 드라이버 모델, 후 처리기를 포함하는 실시간 다물체 차량 소 프트웨어의 메인 메뉴를 보여준다. 사용자 편리성 을 위한 이 GUI의 전 처리기와 드라이버 모델은
Fig. 2 Real-time multibody vehicle system main menu
Matlab Graphic User Interface 모듈을 이용하여 개발 되었고 가상 핸들링 테스트 결과를 3차원으로 시각 화하는 후 처리기는 Matlab Virtual Reality Toolbox 를 이용하여 개발되었다.
3. Matlab GUI을 이용한 차량 모델러 3.1 차량 모델링 전 처리기
차량 모델링 전 처리기(Vehicle modeling prepro- cessor)는 차체, 전륜 현가장치, 후륜 현가장치, 조향 장치, 타이어, 파워트레인, 제동장치 등으로 구성되 어 있는 것처럼 차량의 부분시스템의 순서에 따라 사용자가 데이터를 정의 할 수 있도록 해준다.
Fig. 3은 차량 모델링 대화상자를 보여준다. 대화 상자의 오른쪽 부분에 있는 Push 버튼들이 차량의 부 분 시스템의 모델링 순서에 따라 활성화 되면서 사용 자가 실수하지 않고 모델링 할 수 있도록 해준다.
Fig. 3에 보이는 것과 같이 Body 버튼이 선택이 되
면 차체의 질량, 관성 모멘트, 초기 위치, 속도, 가속
도를 입력할 수 있도록 대화 상자가 나타난다. Fig. 4
는 Body 대화상자를 나타낸다.
실시간 다물체 차량동역학 소프트웨어 개발 Part II: Matlab GUI와 VR Toolbox를 이용한 전후처리 프로그램
Fig. 3 Vehicle modeler dialog box
Fig. 4 Chassis frame dialog box
차체의 데이터를 정의한 후에 Fig. 3의 차량 모델 링 대화상자의 전․후륜 현가 버튼을 선택함으로써 현가장치의 데이터를 정의할 수 있게 된다.
Fig. 5는 다양한 현가를 선택하여 모델링 할 수 있 도록 해주는 전륜 현가장치 대화상자를 보여준다.
현재는 McPherson 현가 또는 Multi-link현가에 대한 데이터를 정의할 수 있도록 되어 있다.
Fig. 5 Front suspension dialog box
Fig. 6 Steering system dialog box
Fig. 7 Anti roll bar system dialog box
Fig. 8 Tire dialog box
Fig. 6과 Fig. 7의 조향 장치와 안티롤바에 대한 데 이터도 Fig. 3의 차량 모델링 대화상자의 버튼이 순 서대로 활성화됨에 따라 각각 정의 될 수 있다.
타이어에 대한 모델링 대화 상자에서는 여러 가 지 타이어 모델에 따른 타이어의 특성파일(property file)을 선택할 수 있도록 되어 있다. 현재는 ADAMS 에서 사용하고 있는 Pacejka 2002 타이어 모델의 특 성 파일만을 선택할 수 있다. Simple 타이어의 경우 에는 타이어의 반경, 댐핑 계수, 강성 계수를 입력하 도록 되어있다.
3.2 현가 모델링 대화상자
Fig. 5의 대화 상자에서 현가의 종류를 결정하게
Kyoungnam Ha․Wanhee Jeong․Sung-Soo Kim․Dohyun Jung․Taeoh Tak
Fig. 9 McPherson strut suspension dialog box
되면 Fig. 9와 같이 현가에 대한 자세한 데이터를 입 력하는 대화상자가 나타난다. 현가장치의 각 링크 의 차체 기준 좌표계에 대한 위치정보와 자세정보 등을 정의하는 일련의 과정에서 실수를 없애기 위 해서 현가의 하드포인트가 정의되어야 한다. Fig. 9 와 같이 입력된 하드포인트는 데이터 변환 알고리 즘을 통해서 다물체 차량동역학 데이터로 변환이 된다. 그리고 현가의 스프링, 완충기(shock absorber) 에 대한 특성 데이터도 입력할 수 있다.
3.3 데이터 변환 알고리즘
순환 다물체 동역학 이론
4)에 기초를 두고 있는 실 시간 차량 동역학모델을 이용하기 위해서는 3.2 절 에서 기술한 CAD 좌표계를 기준으로 입력된 하드 포인트를 물체기준 좌표계에서 정의된 데이터로 변 환해야 한다. Fig. 10은 순차적으로 연결되어 있는 다물체 시스템에 사용되는 좌표계 시스템을 나타낸 다. 여기서 x − − 는 관성 좌표계, y z x
i′ − − y
i′ z
i′ 는 물 체기준 좌표계, x
ij′′ − y
ij′′ − z
ij′′ 는 조인트 좌표계를 나 타낸다. 하드포인트의 위치는 조인트 좌표계의 원 점에 위치하므로 물체 기준 좌표계에서 조인트 좌 표계까지의 위치 벡터
sij로 나타낼 수 있다. 또한 물체 의 x
ij′′ − y
ij′′ − z
ij′′ 조인트 좌표계에서 x
i′ − − y
i′ z
i′ 물체 기준좌표계로의 좌표변환은
C 행렬로 표현ij된다.
5)Fig. 10 A pair of connected bodies
순환 다물체 공식에 맞는 입력 데이터를 생성하 기 위해서는 물체 기준 좌표계와 조인트 좌표계가 자동으로 정의 되어야 하고 앞에서 기술한 물체 기 준 좌표계로부터 조인트 좌표계까지의 위치벡터
sij그리고 조인트 좌표계에서 물체 기준좌표계로 의 좌표변환 행렬
C 가 정의되어야 한다. Fig. 11은 ij자동으로 정의 되는 물체 기준 좌표계와 조인트 좌 표계 그리고 물체 기준 좌표계로부터 조인트 좌표 계까지의 위치 벡터와 좌표변환 행렬을 구하는 알 고리즘을 보여준다.
Fig. 11 Flow chart of data transforming algorithm
Development of Real-time Multibody Vehicle Dynamics Software Part II: Preprocessor and Postprocessor Using MATLAB GUI and VR Toolbox
Fig. 12 Definition of hardpoint and reference frame
첫 번째로 Fig. 12와 같이 CAD 좌표계 (여기서는 chassis 기준 좌표계) 기준의 현가 하드포인트
를 현가 모델링 대화상자로부터 입력 받는다.
두 번째 단계로, 물체 위의 두 개의 하드포인로부 터 식 (1)과 같이 물체 기준 좌표계의 x 축을 설정한다.
1
||
1||
i i
i i
P P
x P P
+ +
= −
−
s su s s
(1)
식 (1)에서 구한
u 벡터에 수직인 다른 하나의 x벡터를 구하기 위해서 Fig. 12의 관성 좌표계(Global frame)의 z축 방향 단위 벡터인 k 벡터와 외적을 통 하여 식 (2)와 같은 물체 기준 좌표의 y축 단위 벡터 를 구한다.
|| ||
x y
x
= ×
×
u ku u k (2)
u 와 x u 에 수직인 또 다른 단위 벡터는 식 (3) y
과 같이 두 단위 벡터의 외적을 통하여 구할 수 있다.
이 3개의 단위벡터를 이용하여 식 (4)와 같이 물체 기준 좌표계로부터 관성 좌표계로의 좌표변환 행렬 을 구한다.
z
=
x×
yu u u
(3)
[ ]
i
=
x y zA u : u : u
(4)
세 번째 단계에는 식 (5)와 같이 첫 번째 단계의 하드 포인트 벡터를 이용하여 각 물체 기준좌표계 의 원점으로부터 하드 포인트까지의 위치벡터들을 관성 좌표계에서 표현된 벡터로 구할 수가 있다.
1
i i
P P
i
=
+−
s s s (5)
식 (5)를 통해서 얻은 관성 좌표계 기준의 위치벡 터들은 식 (4)의 좌표변환 행렬을 이용하여 물체 기 준 좌표계에서 표현된 위치벡터들로 식 (6)과 같이 변환될 수 있다. 또한 각 물체 기준 좌표계에서 표현 된 무게중심까지의 위치 벡터는 식 (7)과 같이 구해 진다. 이 벡터들은 순환 다물체 동역학 이론에 바탕 을 둔 차량 모델의 입력데이터가 된다.
( Pi1 Pi)
i i
′ = T + −
s A s s
(6)
(
Pci Pi)
i i
′ =
T−
ρ A s s (7)
네 번째 단계는 물체의 조인트 좌표계
, 1 , 1 , 1
i i i i i i
x ′′
+− y ′′
+− z ′′
+에서 물체 기준 좌표계 x
i′ − − y
i′ z
i′ 로 의 좌표변환 행렬 C
i i+, 1을 계산하는 단계이다. 조인 트 상대 좌표계에서 물체 i와 물체 i의 바깥쪽에 있 는 물체 i+1 사이의 자세 행렬식은 다음과 같다.
1 , 1 , 1
i+
=
i i i+ i i+′′
A A C A
(8)
여기서
Ai i+, 1′′ 는 물체 i의 바깥쪽 조인트 좌표계와 물체 i+1의 기준 좌표계 사이의 조인트 상대 자세를 나타내는 좌표변환 행렬이다. 초기의 조인트 상대 자세는 같도록 좌표계가 설정되기 때문에
Ai i+, 1′′ 는 단위행렬이 되며, 따라서 물체 i의 기준좌표계와 조 인트 좌표계 사이의 좌표변환 행렬은 다음과 같이 양변에
A 의 역행렬을 취해서 구해진다.i, 1 1
i i+
=
iT i+C A A (9)
식 (9)에서 구한 좌표변환 행렬 또한 순환 다물체
동역학 이론에 바탕을 둔 차량 모델의 입력데이터
가 된다. 위와 같은 일련의 과정을 이용하여 현가를
이루는 다른 물체들의 좌표변환 행렬
Ci i+, 1과 위치
하경남․정완희․김성수․정도현․탁태오
벡터 s ′i과
ρ′를 구할 수 있다. 또한 다른 종류의 현 가 모델에서도 위의 과정이 적용되어 각 물체의 좌 표변환 행렬과 위치벡터가 구해질 수 있다. 마지막 단계로는 위에서 구한 좌표변환 행렬과 위치 벡터 를 순환 다물체 동역학 기반의 차량동역학 코드 입 력 데이터 양식으로 변환 저장된다.
3.4 드라이버 모델 생성 대화상자
차량의 모든 데이터가 입력이 되었으면 가상 핸 들링 시험을 위해서 드라이버 모델이 정의 되어야 한다.
승차감, 조종안정성, 안정성과 같은 실제 차량의 특성을 평가하기 위해서 일반적으로 전문 차량 운 전자는 J-turn, Lane change, Slalom 테스트 등의 표준 시험 방법을 이용한다.
이와 같은 방식으로 차량의 가상 핸들링 시험을 위해서 표준 시험방법을 표현하는 수식의 프로그램 이 드라이버 모델로서 다물체 차량 동역학 모델에 적용이 되어야 한다.
Fig. 13은 드라이버 모델 대화상자를 나타낸다.
드라이버 모델 중에서 J-turn, Fish hook, Sine with Dwell을 선택할 수 있도록 구성되어있고, 각 드라이 버 모델에 대한 특정 정보데이터를 입력하도록 되 어있다.
Fig. 13 Driver model dialog box
드라이버 모델이 정의가 되면 Solver로서 다물체 차량 동역학 프로그램이 실행될 준비가 되었다.
Start time, End time, Step size와 같은 시뮬레이션 조 건이 입력된 후 실행 버튼을 누르면 Solver 가 실행 이 된다.
4. 후 처리기를 이용한 해석 결과 확인
Solver의 실행이 끝나면 후 처리기를 이용하여 해 석된 데이터를 확인해 볼 필요가 있다. 본 논문의 후 처리기에는 2가지 종류가 있다. 하나는 해석데이터 를 그래프에 그려주는 Plotting 대화상자이고, 다른 하나는 해석된 데이터를 3차원 공간에서 움직임으 로 표현하는 Animator 이다.
4.1 Plotting 대화상자
메인 메뉴에서 Plotting 메뉴를 선택하게 되면 Fig.
14와 같이 많은 해석된 결과 데이터 중에서 하나를 선택하도록 하는 대화상자가 나타난다. 하나의 드 라이버 모델에 대한 결과 데이터를 선택하게 되면 선택된 드라이버 모델에 대한 조향 각도, 횡 가속도, Roll 각도, Yaw 각도를 선택적으로 확인할 수 있는 Plotting 대화상자가 나타난다.
Fig. 14 Plotting dialog box
4.2 Animator
차량 애니메이터는 해석된 데이터를 3차원으로 시각화하기 위해서 Matlab Virtual Reality Toolbox 와 Matlab Simulink를 이용하여 개발 되었다. VRML
Fig. 15 Animator system
실시간 다물체 차량동역학 소프트웨어 개발 Part II: Matlab GUI와 VR Toolbox를 이용한 전후처리 프로그램
editor는 차량의 형상을 만드는데 사용되었고 현재 에는 간단한 차량의 형상이 차량의 움직임을 확인 하는 데에 사용되었다.
6)해석된 데이터를 Matlab Simulink 에서 읽어 들여 와서 VRML에 의해서 구동되는 Animation viewer 로 다시 내보내게 된다. Simulink의 Start, Pause, End 버튼에 의해서 차량의 움직임을 애니메이션으로 확 인 할 수 있게 된다.
5. 결 론
가상 핸들링 테스트를 위한 실시간 다물체 차량 동역학 소프트웨어가 개발되었다. 사용자의 편의성 을 제공하기 위해서 이 소프트웨어의 차량 모델링 전 처리기와 후 처리기가 개발 되었다.
이 소프트웨어의 미흡한 점을 보완하기 위한 추 후연구 사항은 다음과 같다.
1) 다양한 종류의 차량해석을 위한 현가 및 타이어 모델 개발
2) 다양한 현가 및 타이어 모델에 맞는 확장된 Graphical User Interface 개발
3) VRML을 이용한 정교한 차량 형상 개발
후 기
본 연구는 자동차부품연구원(KATECH) 주관 미 래형자동차 연구과제(No. 10016789-2006-13)에 의 해서 수행되었음.
References
1) CarSim User Manual Mechanical Simulation Corporation, USA, 2005.
2) Vedyna 3.7 User Manual, TESIS, Germany, 2003.
3) S.-S. Kim and Y.S. Oh, “A Real-Time Multi- body Vehicle Dynamics Model using Subsys- tem Synthesis Method,” Proceedings of ASME DETC01, DETC2001/VIB21311, 2001.
4) S.-S. Kim, “A Subsystem Synthesis Method for Efficient Vehicle Multibody Dynamics,” Multi- body System Dynamics, Vol.7, pp.189-207, 2002.
5) E. J. Haug, Computer-Aided Kinematics and Dynamics of Mechanical Systems, Allyn and Bacon, MA, USA, 1989.
6) Virtual Reality Toolbox User's Guide, The MathWorks, MA, USA, 2006.