CompactRIO를 이용한 EPS 반력 시뮬레이터 개발
2012년 03월호 지면기사  / 

주행 시 발생되는 스티어링 반발력의 구현은 차량의 속도와 스티어링 각 및 도로 상태에 따라 매우 다이나믹하며, 높은 응답성을 요구한다. 따라서 이러한 반발력을 생성하는 요소들에 대한 반응 시간이 가장 중요한 이슈다. 차량속도, 스티어링 각, 스티어링 각 액셀러레이션 등의 입력을 바탕으로 실차 레벨에서 취득한 반발력 토크 맵 데이터 중 해당 조건에 대한 반발력 데이터를 매칭해 해당 값을 유압 시스템에 출력함으로써 최종 반발력을 구현했다.

 글 │김 응 수 선임, 한국델파이
제공│한국내쇼날인스트루먼트

한국델파이는 전동 스티어링(Electronics Power Steering, EPS)을 개발하기 위한 실험실 레벨(Lab Level)의 차량주행 구동조건을 구현하는 반발력 시뮬레이터 시스템을 개발했다. 애플리케이션은 주행 시 스티어링 컬럼에 전달되는 노면과 타이어의 마찰력을 유압 시스템을 이용해 구현하는 것이다.
노면과 타이어의 마찰 등으로 발생되는 반발력 데이터는 실차 레벨(Vehicle Level)의 주행 실험에서 추출해 냈다. 텍스트 기반의 2D 맵 데이터로서 차량의 속도 및 스티어링 각 조건입력 등을 바탕으로 2D 맵 데이터로부터 값을 추출해 반력 유압 시스템을 다이나믹하게 제어함으로써 주행 시 스티어링에 전달되는 반발력을 구현했다. 이를 통해 실차 레벨의 테스트 이전에 안전하고 충분한 EPS 개발 테스트와 디버깅을 할 수 있는 환경을 구축했다.
델파이는 애플리케이션 개발에서 타임 크리티컬한 시스템의 특성상 FPGA를 통한 고속 데이터 수집 및 프로세싱의 요구, 정밀한 디지털 및 아날로그 컨트롤 신호의 출력, 차량주행 조건에 맞는 다이내믹 컨트롤 실시간 제공의 요구, 실차 레벨에서 생성된 반발력 토크 맵 데이터의 빠른 매핑 요구, 소프트웨어 개발 기간 단축, 강력한 함수 라이브러리를 이용한 알고리즘 구현, PC 제어 없는 임베디드 시스템의 구축 요구 등에 대응하기 위해 NI의 다양한 솔루션들을 이용했다. 

해결 과제
주행 시 발생되는 스티어링 반발력의 구현은 차량의 속도와 스티어링 각 및 도로 상태에 따라 매우 다이나믹하며, 높은 응답성을 요구한다. 따라서 이러한 반발력을 생성하는 요소들에 대한 반응 시간이 가장 중요한 이슈다. 즉 차량속도, 스티어링 각, 스티어링 각 액셀러레이션 등의 입력을 바탕으로 실차 레벨에서 취득한 반발력 토크 맵 데이터(텍스트 데이터 기반) 중 해당 조건에 대한 반발력 데이터를 매칭해 해당 값을 유압 시스템에 출력함으로써 최종 반발력을 구현했다.
각종 센서로부터 데이터의 취득과 취득된 데이터를 이용한 연산 및 맵 데이터 매칭을 거쳐 출력까지의 일련 동작을 실시간 및 높은 신뢰성과 빠른 응답으로 처리하는 시스템 로직 설계가 필요했다.

전체 시스템 구성
그림 1과 같이 타깃인 EPS ECU로부터 입력된 8개의 센서 신호(NI9215) 및 CAN  데이터(NI9853)는 FPGA 필드에서 수집(주기:100[μs])되며 차량의 속도(NI9269)는 PWM(0~250 Km/h: 1.41~353 Hz, Duty ratio 50%)으로 생성해 EPS ECU에 전달
한다.
수집된 데이터는 FIFO를 통해 RT Target (cRIO-9024)에서 데이터 분석 및 데이터 프로세싱 로직을 거쳐 유효 값으로 변환 후 RT Target Flash에 미리 저장된 반발력 맵 데이터를 기준으로 매핑 알고리즘을 적용해 최종 제어 값을 맵 데이터 상에서 추출 및 FPGA의 아날로그 발생 알고리즘에 입력하게 된다. 이에 NI 9269 모듈은 ±10 V의 범위로 유압 액추에이터에 제어신호를 전달하게 된다.
입력된 센서 신호 및 최종 유압시스템 제어 값은 유압 시스템의 제어에 사용됨과 동시에 Queue에 저장 후 TCP/IP 통신으로 호스트 PC에 보내지며 호스트 PC는 반발력 시뮬레이터의 동작과 상태를 모니터링 할 수 있도록 구성된다. 또한 사용자의 선택에 의해 몇몇의 제어신호를 다이나믹 제어와 동시에 제어할 수 있도록 구성돼 있다.

FPGA Field(NI-9116)
그림 2는 FPGA 소프트웨어의 블록 다이아그램을 나타내며 센서의 입력을 처리하는 Sensor Input Process Routine과 CAN 통신을 처리하는 CAN Message Process Routine을 볼 수 있다. 출력을 담당하는 EPS Reaction Output Routine과 PWM Generator Routine은 각각 유압 액추에이터 제어 및 차량 속도를 PWM으로 출력하는 기능을 수행한다.

RT-OS Field(cRIO-9024)
그림 3은 RT-OS에 구현된 소프트웨어의 블록 다이아그램을 나타내며 FPGA로부터 획득된 데이터를 처리하고 출력 데이터를 저장된 데이터베이스로부터 추출해 결정 값을 다시 FPGA로 보내며 호스트 PC로의 각 데이터를 TCP/IP로 보내는 기능을 수행한다.
이에 가장 핵심이 되는 부분은 그림 4에서와 같이 저장된 맵 데이터를 센서로부터 입력된 값을 기준으로 추출하기 위한 알고리즘이다. 맵 데이터를 입력 값 기준으로 잘라 최소화 한 후 Linearity를 부여하기 위해 Interpolation한 후 값을 추출했다.

Host PC
그림 5는 호스트 PC의 메인 화면이며 주로 EPS 시뮬레이터 및 각종 센서의 상태 값을 모니터링 하는 것이 주목적이다. 이에 대부분의 데이터는 그래프에 누적 데이터로 디스플레이되며 중요한 요소는 따로 디스플레이 하도록 구성돼 있다. Low Data를 텍스트 기반의 데이터로 모니터링 하기 위해 탭 컨트롤을 사용해 구성했다.

 솔루션 개발 후
4개월이라는 촉박한 개발 목표 기간을 고려했을 때 본 애플리케이션은 2개월 만에 완료가 돼 상당한 시간적 절약 효과를 나타냈다. 또 긴 시간과 노하우가 필요한 FPGA의 프로그램의 경우 LabVIEW 코딩만으로 기능 구현 및 디버깅이 가능했고, FPGA의 로직 구현으로 인해 빠른 데이터의 수집이 가능했다.
검증된 OS(VxWorks)를 사용한 RT-OS의 높은 안정성으로 신뢰도 높은 데이터 처리가 보증됐으며 이를 바탕으로 Target Control 전체 Loop Time이 50[ms]로 제어 Target인 유압 액추에이터의 응답성 보다 높은 응답성을 나타냄으로써 시스템의 제어효과를 높였다. 소프트웨어 개발완료 후에는 CompactRIO에 소프트웨어를 임베디드함으로써 PC의 제어 없이 Stand alone operation이 가능해 반력 시뮬레이터의 제어가 훨씬 원활해졌으며, 실차 레벨 반력 토크 맵 데이터의 경우 다양한 주행조건의 데이터를 CompactRIO-9024 스토리지에 지속적으로 업데이트 할 수 있어 더욱 다양한 실험실 레벨의 시뮬레이션 환경을 제공하게 됐다. 또한 섀시 슬롯의 확장성이 용이해 모듈의 추가로만 차량의 각종 조건을 추가적으로 I/O 할 수 있어 한번의 CompactRIO System 구축을 통해 추후 발생되는 요청사항의 대응이 비용 부담 없이 용이하게 이뤄질 수 있었다. 소프트웨어 제어 알고리즘 구현 관점에서는 기본적인 알고리즘 및 함수들이 제공돼 이를 단순 조합 또는 간단한 변수 변경만으로도 복잡한 알고리즘을 쉽게 만들어, 기능을 빠르고 정확하게 구현할 수 있었다.


 

NI LabVIEW2010과 CompactRIO를 사용했다. 이에 섀시는 8슬롯으로 모듈 확장이 용이하고, 로직 구현에 충분한 리소스와 높은 응답성을 제공하는 NI-9116을 적용했고, RT 컨트롤러는 NI CompactRIO-9024를 사용했다. NI CompactRIO -9024는 4 GB의 저장소와 512 MB DRAM을 탑재하고 있어 방대한 양의 데이터 수집 및 로깅과 함께 800 MHz의 CPU를 장착해 빠른 데이터 처리가 가능했다. 또 2개의 이더넷 포트와 1개의 RS-232로 외부장치와 인터페이스가 용이했으며, 1개의 USB 포트를 제공해 외부 메모리 접근의 확장성이 높았다. I/O 모듈 구성 중 4 Channel Analog input 모듈인 NI 9215 2개를 장착해 총 8개의 아날로그 센서 시그널을 처리했으며, 2개 포트의 CAN 통신을 지원하는 NI 9853을 통해, 개발 중인 EPS ECU와의 CAN 통신 신호를 처리했다.
NI 9474는 8개의 디지털 출력을 내는 모듈로 차량의 속도를 PWM으로 구현해 EPS ECU에 송신함으로 가상의 차량 속도를 만들어 처리하는 기능을 했다. 또 채널 간 아이솔레이션이 된 NI9269를 통해 채널 간 간섭 없이 정밀한 아날로그 출력을 유압 시스템에 인가했다. CompactRIO 구성은 다이나믹하고 다양한 차량의 센서 시그널의 처리와 함께 차량용 통신 신호인 CAN 시그널처리 및 정밀한 디지털/아날로그 출력을 컨트롤 할 수 있었으며 FPGA와 RT-OS를 통해 빠르고 신뢰성 높은 차량용 시뮬레이터 시스템을 구현할 수 있는 최적의 솔루션이었다.

NI 제품명:
LabVIEW 2010, LabVIEW FPGA Module, LabVIEW Real-Time Module, NI 9116, CompactRIO-9024, NI 9215 2Set, NI 9853 1Set, NI 9269 1Set, NI 9474 1Set



<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>


  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP