1. 서 론
차량 제어 시스템은 기계식을 이용한 시스템으로부터 기계식과 전자식을 혼합한 시스템을 거쳐 전자식만을 이용한 시스템으로 대체 되고 있다. 과거에 비하여 차량 내 전자부품의 수가 증가 하였고 전자부품 간 통신의 중요성이 부각되고 있으며 사고 회피, 사고 예방 시스템인 ESC(Electronic Stability Control), ABS(Anti-lock Brake System) 등 다양한 기술에 대한 관심이 깊어짐에 따라 더욱 많은 전자부품이 차량에 탑재되어 차량 내 통신의 중요성이 점차 증가하고 있다[1-3].
그러나 차량 내 많은 전자부품으로 인하여 전자부품들과 ECU(Electronic Control Unit)를 연결하는 신호선이 증가 한 결과, 차량의 정비가 어려워지고 생산 단가가 올라가게 되었다. 이러한 문제를 해결하기 위하여 자동차 회사를 중심으로 전자부품과 ECU를 공유된 하나의 전선으로 연결이 가능한 LIN(local Interconnect Network), CAN (Controller Area Network), FlexRay와 같은 차량 내 네트워크 시스템이 등장했다[4]. 이에 따라 차량 내 네트워크를 이용하여 차량의 전자 장치들을 효율적으로 제어하는 시스템에 대한 연구가 활발히 진행되고 있지만, 차량 내 네트워크 시스템은 단선, 발화 등의 이유로 불시에 고장이 발생할 수 있다. 이러한 고장은 네트워크상의 다른 ECU에 영향을 줄 수 있고, 결국 운전자의 안전에 치명적인 결과를 초래할 수 있기 때문에 차량 내 네트워크는 높은 수준의 고장 허용능력이 요구된다. 기존 차량 내 네트워크의 고장에 대처하기 위해 CAN 컨트롤러를 이중 및 삼중으로 중복하여 사용하는 방법과 추가적인 CAN 버스를 구현하는 방법에 대한 연구가 진행되었지만 CAN은 유선 통신을 사용하여 본질적으로 단선과 같은 고장에 대처하는 능력이 부족하다[5-7].
최근 공정 제어에서는 CAN에 무선 통신 모듈을 추가하여 CAN 프로토콜을 확장시키기 위한 연구가 이미 진행 중이고[8], 차량에서도 CAN과 Zigbee 통신 네트워크를 동시에 구성하고 상호 프로토콜을 변환하여 정보를 전달할 수 있는 변환기가 개발되었으며[9], 많은 배터리 셀 관련 정보는 무선 네트워크를 이용하고, 상위 제어기와의 통신에는 유선 네트워크를 사용하는 구성 [10] 등이 발표된 바 있다. 그러나 차량 내 ECU가 급격히 증가함에 따라 데이터 전송량도 크게 증가하여 기존의 CAN보다 더 빠른 전송속도를 갖는 새로운 프로토콜이 적용되기 시작했다. 반면에 무선통신 네트워크는 여러 장점에도 불구하고 좁은 대역폭 및 민감한 전자파 영향 등으로 인한 한계를 갖고 있다.
본 논문에서는 차량의 ESC 동작 중 차량내 네트워크인 CAN의 단선 고장을 가정한다. 단선 판단 이후 통신 프로토콜을 무선 통신으로 스위칭 하여 ESC 동작을 지속하고 운전자의 기준 조향각으로부터 더 이상의 ESC 동작이 필요 없다고 판단될 때까지 무선 대체 네트워크 기반의 제어를 계속하는 고장 허용 제어를 제안한다. ZigBee는 전력 소모가 적고 높은 보안 수준을 가지는 근거리 통신으로, 차세대 차량의 전자부품 간 통신에서 CAN을 대신하는 데이터 전송 수단으로 사용할 수 있다[9, 10]. ZigBee 통신이 추가된 차량 내 네트워크에서 NM(Network Manager)이 단선을 감지하여 CAN 통신을 ZigBee 통신으로 대체하는 알고리즘을 구현하고, 이러한 대체 통신 알고리즘을 ESC 시스템에 적용한 시뮬레이션을 진행한다. ESC 시스템의 EILS (ECU-In-the-Loop Simulation)를 구현하고, 차량 모델의 조향각을 변화시키며 임의의 CAN 노드를 강제로 단선시키는 시나리오에서 해당 노드가 통신 수단을 ZigBee로 전환함으로써 고장 시에도 무선통신을 이용한 차량 내 통신이 원활하게 이루어지는지 확인한다. 또한 통신 수단 전환 후, 조향각 변화에 따른 기준 요 속도 변화를 실제 요 속도가 잘 추종하는지 확인함으로써 대체 통신 기반 고장 허용 제어의 타당성 및 신뢰성을 검증한다.
2. 차량 내 통신 프로토콜
본 장에서는 현재 차량 내 네트워크로 널리 쓰이는 CAN과 이를 대체 할 근거리 개인 무선 통신인 ZigBee를 소개한다.
2.1 CAN(Controller Area Network)
CAN 프로토콜은 1980년대 Bosch사에 의해 개발 되어 현재차량 내 네트워크로 가장 많이 사용되고 있다. CAN 프로토콜은 최대 1Mbps의 전송 속도를 지원하고, 한 번에 최대 8 바이트의 데이터 까지 전송이 가능하며, 각각의 ECU를 공통 직렬 버스로 연결할 수 있다. CAN 프로토콜의 데이터 교환 방식은 노드 주소가 아닌 노드의 우선순위 정보를 담고 있는 식별자(identifier)를 이용한 내용지향성의 데이터 교환 방식을 지원한다. 식별자를 이용한 데이터 교환방식은 식별자의 우선순위를 판단하여 두 개 이상의 노드에서 메시지가 전송 될 때 데이터의 충돌을 방지할 수 있다. 또한 CAN은 데이터 송·수신 과정에서 일정 횟수 이상의 error가 발생 하는 경우, CAN 노드 레지스터의 특정 Bit를 증가시켜 스스로 에러를 검출할 수 있다[11].
CAN 프로토콜에는 표준 메시지 프레임(CAN 2.0A)과 확장메시지 프레임(CAN 2.0B) 형식이 있다. 본 논문에서는 그림 1과 같이 표준 메시지 프레임을 사용한다[12].
그림 1표준 메시지 프레임 구조(CAN 2.0A) Fig. 1 Standard CAN message frame structure (CAN 2.0A)
2.2 ZigBee
ZigBee는 IEEE 802.15.4의 물리 계층과 매체 접근 제어 계층을 기반으로 하는 무선 개인 근거리 통신망 WPAN(Wireless Personal Area Network)의 국제 표준 프로토콜이다. ZigBee는 최대 100m의 전송거리와 최대 250Kbps의 전송속도를 가지며, 코디네이터와 라우터, 엔드 디바이스라는 세 종류의 노드로 구성된 다대다 통신 네트워크를 구축 하여 다양한 토폴로지를 구성할 수 있다[13]. ZigBee는 무선 통신을 사용하므로 향후 소프트웨어 업그레이드가 용이하다. 또한 Wi-Fi에 비하여 가격이 저렴하고 전력 소모가 적으며, 블루투스보다 긴 통신 거리를 가지고 있으므로 지능형 홈 네트워크, 텔레매틱스 등 다양한 분야에 응용하기에 적합하다.[14-16].
3. 신뢰성이 개선된 ESC 시스템
차량 내 네트워크 시스템의 고장은 차량의 안전성에 치명적인 결과를 초래할 수 있다. 따라서 네트워크에 고장이 발생한 경우 대체 네트워크를 적용하여 통신을 지속함으로써 차량 내 네트워크 시스템의 신뢰성 및 안전성을 향상시킬 수 있다[17].
본 논문에서는 현재 차량 내 네트워크로 널리 사용되는 CAN 통신에 단선과 같은 치명적인 고장이 발생 했을 경우 이를 대체하는 프로토콜로 ZigBee를 선정하고, CAN 통신을 ZigBee 통신으로 전환하는 알고리즘을 구현하여 ESC 시스템에 적용함으로써 대체 통신의 타당성을 검증하고 이 경우의 제어성능을 검토한다.
ESC 시스템은 그림 2와 같이 운전자의 조향 입력(steering input)과 차속을 이용하여 2자유도 기준 차량 모델로부터 기준 요 속도(reference yaw rate)를 생성하고, 요 속도 제어기를 통하여 기준 브레이크 토크(reference brake torque)를 계산한 후 CAN 통신을 이용하여 차량내 제동 액츄에이터 제어기에 전달한다[18]. 여기서, 차속, 요 속도, 휠 각속도 등의 차량 신호들도 다른 CAN 노드를 통해 ESC 시스템으로 피드백된다.
그림 2ESC 시스템의 제어 체계 Fig. 2 Control scheme of ESC system
본 논문에서는 그림 3과 같이 ESC 시스템과 차량내 제동 제어기에 각각 ZigBee 모듈을 추가하여, 차량 내 네트워크의 신뢰성을 향상 시키는 방법을 제안한다. 차량 제어가 수행되는 동안 차량 내 네트워크의 특정 노드에서 고장이 감지되면 해당 노드에서 전송되어야 할 데이터를 무선 네트워크를 이용하여 전송함으로써 수행중이던 차량 제어를 완료할 수 있도록 한다. 본 논문의 실험에서는 ESC 시스템으로부터 기준 브레이크 토크를 전송하는 노드에서의 단선을 가정한다. 즉, ESC 시스템이 CAN 통신을 통해 기준 브레이크 토크값을 제동 제어기로 전달하는 중에 해당 CAN 노드의 단선을 NM이 감지하여 고장이 발생한 노드의 통신을 ZigBee로 전환하는 것이다. 이후 기준 브레이크 토크 전송은 ZigBee 무선 통신을 이용하고 다른 차량신호들의 피드백은 기존의 CAN 통신을 이용하며 ESC 시스템을 정상적으로 동작시킨다.
그림 3ZigBee가 추가된 ESC 시스템의 제어 체계 Fig. 3 Control scheme of ESC system with ZigBee
4. ESC 시스템의 대체 통신을 위한 통신 프로토콜 전송 성능 분석
본 장에서는 2 장에서 소개했던 CAN과 ZigBee 통신 프로토콜의 전송 속도를 분석하여, 차량 내 CAN 통신을 대체할 무선통신으로 ZigBee가 적합한지 타당성을 검증한다.
CAN 통신으로 메시지 한 개를 전송하는데 필요한 비트 (NCAN)는 데이터 개수(dC[byte])와 식별자 외의 다른 비트들을 포함하여 식 (1)과 같다[12].
ZigBee 통신으로 메시지 한 개를 전송하는데 필요한 비트 (NZigBee )는 데이터 개수(dZ[byte])와 목적지 주소 외의 다른 비트들을 포함하여 식 (2)와 같다[13].
본 논문에서 사용된 ESC 시스템에서는 ESC 제어기에서 차량 모델로 기준 브레이크 토크를 전송할 때 500kbps 속도의 CAN 통신을 사용한다. 기준 브레이크 토크 값은 2바이트(16비트)의 데이터 크기를 가지며 네 바퀴의 브레이크에 데이터를 전송하기 위해 총 8바이트(64비트)의 데이터 크기가 필요하다. CAN 통신은 최대 8바이트를 일괄적으로 전송이 가능하므로 매 제어 주기 마다 네 바퀴의 브레이크를 제어하기 위해 전송해야 할 메시지의 최소 비트(NCANBrake)는 식 (3)과 같다. 또한 500kbps의 전송 속도로 매초 4505개의 메시지를 전송할 수 있으므로 제어 가능 주기 (TCANBrake)는 식 (4)와 같다.
차량 내 네트워크의 신뢰성 개선을 위해 사용 된 ZigBee 통신의 전송 속도는 250kbps이다. ZigBee 통신을 위해 마이크로컨트롤러에서 ZigBee 모듈로 데이터를 전달할 때 사용한 비동기 통신은 8바이트 데이터의 일괄 전송이 불가하여, ZigBee 통신은 CAN 통신과 다르게 매 주기마다 제어에 필요한 8바이트 데이터를 1바이트씩 8번 전송해야 한다. 따라서 전송해야 할 메시지의 최소 비트(NzigBeeBrake)는 식 (5)와 같으며, 250kbps의 전송 속도로 매초 1157개의 메시지를 전송할 수 있으므로 제어 주기(TZigBeeBrake)는 식 (6)과 같다.
본 논문에서 사용된 ESC 시스템은 2ms의 제어주기로 동작한다. CAN 통신을 이용하여 전송하는 네 개의 기준 브레이크 토크를 무선 통신 프로토콜인 ZigBee로 대체하여 전송하는 경우, 제어주기를 10ms로 변경함으로써 제어주기 내에 모든 데이터 전송이 가능하도록 한다. EILS 실험을 통하여 CAN 통신을 이용한 경우와 대체 통신을 이용한 경우의 ESC 시스템 제어성능을 비교 검토하기로 한다.
5. 신뢰성 향상을 위한 대체 통신 알고리즘
5.1 CAN 통신 고장 검출 방안
CAN은 데이터가 제대로 전송되지 않은 경우 그림 4와 같은 Node Error Count Register의 TEC bit field 값을 증가 시켜 스스로 에러를 검출하는 기능을 지원한다. CAN 노드의 단선으로 인하여 데이터 전송이 실패할 때마다 해당 노드의 TEC 값은 8씩 증가하고, TEC 값이 255 이상으로 증가할 경우 CAN은 해당 노드를 bus-off 상태로 선언하여 송·수신을 할 수 없게 만든다. 본 논문에서는 CAN 통신을 사용한 ESC 시스템 동작 중 CAN의 전송노드에 인위적으로 물리적 단선을 발생시켜 고장 상황을 만든다.
그림 4CAN 노드의 에러 카운트 레지스터 Fig. 4 Error count register of CAN node
단선 발생 시 네트워크 매니저는 TEC값의 증가를 감지하여 CAN 노드에 문제가 있다고 판단하고, 통신수단을 ZigBee로 전환하여 차량모델에 기준 브레이크 토크를 전송함으로써 단선으로 인한 ESC 시스템의 오작동을 방지한다.
5.2 대체 통신 알고리즘 구현
차량 내 네트워크로 유선통신 네트워크(CAN)외에 무선통신 네트워크(Zigbee)가 추가된 ESC 시스템은 그림 5와 같은 순서로 동작한다. 운전자의 조향각(steering angle)과 차량 속도등으로부터 판단하여 ESC 시스템이 동작하게 되면, ESC 제어기는 차량으로부터 측정된 각속도(yaw Rate), 휠 각속도(wheel angular velocity), 차량 속도(vehicle speed) 및 브레이크 토크 (brake torque)를 전달받아 각 휠에 대한 기준 브레이크 토크를 계산하고 CAN을 이용하여 차량의 제동 제어기에 전송한다. 그 후에 NM은 전송 CAN 노드 레지스터를 검사하여 CAN 노드의 고장 발생 여부를 판단하고, 고장이 발생했을 경우에는 ZigBee로 통신수단을 전환하여 기준 브레이크 토크를 전송 한다. 따라서 CAN 통신에 고장이 발생하여도 ZigBee로 통신으로 대체한 경우, 기준 브레이크 토크를 전송하는 것이 가능하며, 이 경우 ESC 시스템의 제어 성능은 통신 네트워크의 대체 시간, 대체 통신 네트워크의 대역폭, 새로운 제어주기 등에 의존하게 된다.
그림 5CAN 및 ZigBee 프로토콜을 이용하는 ESC 시스템 알고리즘의 순서도 Fig. 5 Flowchart of ESC algorithm with CAN and ZigBee protocols
6. 실험 환경 구성 및 실험 결과
본 장에서는 5장의 대체 통신 알고리즘을 ESC 시스템의 EILS에 적용하여 이 ESC 시스템의 신뢰성을 검증하고 실제 실험을 통해 얻은 결과에 대해 분석한다.
6.1 실험 환경 구성
대체 통신 알고리즘이 적용된 ESC 시스템을 구현하기 위해 ESC 제어기와 차량모델을 Infineon사의 32bit 마이크로 컨트롤러 TC1782에 각각 포팅하고, 단선 발생 시 CAN통신을 대체할 무선 통신으로 ZigBee 모듈을 두 개의 마이크로 컨트롤러에 추가한다. TC1782의 세 개의 CAN 노드 중 두 개의 노드를 사용하였으며, 하나의 노드는 ESC가 차량모델로부터 측정된 요 속도, 휠 각속도, 차량 속도, 브레이크 토크를 전달 받을 때 사용하고 나머지 하나의 노드는 ESC 제어기가 전달 받은 값들을 이용해 기준 브레이크 토크를 계산하여 차량모델에 전달 할 때 사용한다. ESC 제어기는 10ms 주기로 동작하며, 매 주기마다 ESC 제어기와 차량모델은 기본적으로 CAN 통신을 통해 데이터를 주고받는다.
단선 발생 시 NM는 통신 수단을 ZigBee로 전환한다. ZigBee는 ESC 제어기에서 계산된 기준 브레이크 토크 값을 Tx(transmitter)핀을 통해 차량모델로 전송하고, 차량모델 쪽의 ZigBee는 Rx(receiver) 핀을 통해 이 기준 브레이크 토크 값을 받아서 액츄에이터에 전달한 후, 최종적으로 차량모델에 제동명령을 인가한다.
실험 시스템을 위한 하드웨어 구성은 그림 6과 같고, PC monitoring tool을 사용하여 기준 요 속도와 실제 측정된 요 속도를 비교 한다. 본 논문에서는 기준 브레이크 토크를 전송하는 CAN 노드 외에 다른 CAN 노드의 단선은 고려하지 않는다.
그림 6ESC 시스템의 EILS 하드웨어 구성 Fig. 6 EILS Hardware configuration of ESC System
단선 발생 시, 대체 통신 알고리즘이 적용된 ESC 시스템의 성능을 비교, 분석하기 위하여 그림 7과 같이 급격히 차선을 변경하기 위한 조향 입력을 발생시키고 ESC 시스템이 동작할 때 요 속도 응답을 검토한다.
그림 7조향 입력 Fig. 7 Steering input
6.2 실험 결과
CAN 통신기반의 ESC 시스템에서, ESC 제어기가 상위 제어기 및 각 센서로부터 CAN 통신을 통하여 정상적으로 데이터를 송 수신하고 있다고 가정한다. 본 논문의 실험 시스템에서는 ESC 제어기 보드에 상위제어기도 포함되어 있다고 가정하며, 차량모델이 구현된 보드로부터 필요한 차량 데이터가 CAN 통신을 통하여 제어기 보드로 정상적으로 전송된다고 가정한다. 제어 주기를 2ms로 하였을 때 ESC 동작을 통한 요속도 응답은 그림 8과 같다. 실제 요속도가 기준 요 속도를 충실히 추종하고 있으며 운전자로부터의 조향입력이 급격히 변하지 않는 4초 이후 일정시간이 지나면(약 5초 이후) ESC 시스템의 동작을 멈추도록 한다.
그림 8ESC 시스템에서의 요 속도 응답 Fig. 8 Yaw rate response in ESC system
CAN 통신 노드에서 단선으로 인한 고장(2.5초)을 감지한 후 CAN 통신을 Zigbee 무선 네트워크로 대체하여 제어를 계속하는 경우의 실험결과를 그림 9 ~ 그림 10에 나타내었다. 고장 발생이 즉시 판단되어 대체 네트워크로 연결된 경우(그림 9)는 전체적으로 실제 요 속도가 기준 요 속도를 잘 추종하는 것을 볼 수 있으나 CAN 기반 경우에 비해서는 오차가 다소 크게 발생함을 볼 수 있다. 또한, 고장 발생이후 약 100ms이후 대체 네트워크로 연결된 경우(그림 10)는 과도기에 상대적으로 큰 오차가 발생함을 볼 수 있고, 이후 그림 9와 동일한 제어 성능을 나타냄을 알 수 있다. 여기서, 무선통신 기반의 제어 성능이 유선의 경우에 비해 낮게 나오는 것은 Zigbee 무선통신 네트워크로 대체된 후의 제어주기를 위 4절의 분석 결과에 따라 10ms로 변경한 것에 기인 한다. 따라서 대역폭이 좁은 무선 통신 네트워크 사용시 제어성능의 저하가 분명하므로 비상시에만 적용하도록 하고 안전한 상태가 되는 즉시 차량을 점검할 필요가 있다.
그림 9지연없이 무선 네트워크로 대체된 ESC 시스템에서의 요속도 Fig. 9 Yaw rate response in ESC system replaced by wireless network without delay
그림 10100ms 지연을 갖고 무선 네트워크로 대체된 ESC 시스템에서의 요 속도 Fig. 10 Yaw rate response in ESC system replaced by wireless network with 100ms delay
7. 결 론
본 논문에서는 차량 내 네트워크로서 기존의 유선 통신 네트워크외에 무선 통신 네트워크를 부가적으로 구성함으로 유선 통신 네트워크의 특정 노드에서 단선과 같은 고장이 발생하여도 즉시, 무선 통신 네트워크로 대체하여 제어를 계속함으로써 차량 안전성을 유지할 수 있음을 보였다. 유선 통신은 가장 보편적으로 사용되는 CAN 통신을 사용하고, 대체 무선통신은 Zigbee를 적용하였으며 차량 자세 제어 알고리즘인 ESC 알고리즘의 수행시 CAN의 특정 노드 단선 고장을 가정하였다. ESC 제어기 내의 NM을 통해 유선 통신 노드의 고장을 검출한 후, ZigBee로 네트워크를 대체하여 ESC 시스템이 지속적으로 동작하는 것을 실험을 통해 확인하였다. 실험 시스템은 32-bit 마이크로컨트롤러 기반의 ECU 보드 2개 및 CAN, Zigbee 네트워크로 구성되었으며 보드에는 차량모델과 ESC 시스템 알고리즘이 각각 내장되었다. 유선에서 무선으로 대체된 이후에도 ESC 동작이 원활하게 수행되는 실험 결과를 제시하였고, 대체되는 시간 구간의 길이에 따라 제어성능이 영향을 받는 것도 요 속도 응답특성을 통하여 보였다. 향후 기준 브레이크 토크 신호외에 차량 신호를 전송하는 노드 고장에 대한 고장허용제어 및 그 경우의 제어 성능 분석등이 수행될 예정이다.