현대차 아이오닉 5를 중심으로 서 있는 사람들의 모습 현대차 아이오닉 5를 중심으로 서 있는 사람들의 모습

2022.05.24 현대자동차그룹 분량9분

전기차를 즐기는 새로운 패러다임 V2X 제어기술 개발기

전기차가 탑승자에게 새로운 경험, 편리한 일상을 제공할 수 있다면 얼마나 좋을까요? 전기차의 대용량 배터리를 활용하는 기술인 V2X의 개념과 개발 과정을 소개합니다.

안녕하세요? 현대자동차그룹 이혁진 책임연구원입니다. 


전기차는 더이상 전기로 움직이는 새로운 자동차가 아닌, 생활 속에서 심심치 않게 볼 수 있는 보편화된 승용차가 되었습니다. 게다가 이제는 목적지로 가기 위한 이동수단을 넘어 새로운 경험을 창출해내는 전자기기가 되고 있죠. 이러한 시대적 흐름 속에서 저희 팀은 차량 배터리의 전기를 자유롭게 충전 및 방전하는 기술을 활용해 생활의 편리함을 제공하는 V2X 기술을 개발하고 있습니다. 


이제부터 여러분과 함께 V2X에는 어떤 기능이 있는지, 그리고 어떻게 그 기능을 편리하게 활용할 수 있는지 살펴볼까 합니다. 

전기차의 활용성을 높여주는 기술, V2X

먼저 생소한 용어부터 짚어 보도록 하겠습니다. 일반적으로 V2X에서 V는 ‘자동차(Vehicle)’를 뜻하고, X는 ‘전력을 공급받는 불특정 대상’이라는 포괄적인 의미를 담고 있습니다(자율주행 분야에서는 V2X가 다른 의미로 사용되곤 합니다). 여기에 언급된 ‘X’가 구체적으로 어떤 대상이냐에 따라 V2L, V2G 등의 용어로 파생, 사용되고 있습니다. 


V2X를 한 문장으로 요약하자면, ‘차량에 저장되어 있는 전기를 실생활의 여러 용도로 활용할 수 있는 기술을 통칭하는 용어다’라고 생각하시면 됩니다. 

현대차그룹의 V2X 기술 개요를 보여주는 이미지의 모습

이렇게 기존 차량에 없던 새로운 기능이 추가되다 보니, V2X를 구현하기 위한 여러 신기술들이 전기차에 탑재되었습니다. 일단 ‘전력변환’이라는 기술을 이용해 차량에 저장된 전기를 용도에 맞게 원하는 형태(교류, 직류 등)로 만들 수 있어야 합니다. 여기에 차량 부품 간의 유기적인 동작을 가능하게 하는 ‘협조제어’ 기술이 필요합니다. 상시 고장 유무를 확인하고 이상이 발견되면 신속히 조치를 취하는 ‘Fail-Safe’ 기능도 기본적으로 적용되어야 합니다. 마지막으로, 차량 외부기기들과 통신을 하기 위해 각국이 제정한 ‘국제 충전표준’을 준수하여 소프트웨어를 개발해야 합니다.


이와 같이 다양한 기술들이 집약된 V2X가 어떻게 활용될 수 있는지, 그리고 어떻게 개발되고 있는지 보다 자세히 알아보도록 하겠습니다. 

혹시 캠핑 가시나요? V2L(Vehicle to Load)을 활용하세요.

V2L(Vehicle to *Load)은 전기차가 외부 전자제품에 AC 전력을 공급하는 개념입니다. 가정에서 콘센트에 코드를 꽂아 전자제품을 이용하듯이 야외에서도 전기차 내부 전력을 이용해 전자제품을 구동할 수 있게 하는 기술입니다. 예를 들어 V2L 기술이 적용된 전기차를 사용한다면, 굳이 콘센트를 제공하는 캠핑장을 찾기 위해 예약 전쟁에 참여할 필요가 없습니다. 전기차만 있으면 전기공급이 가능하기 때문에 원하는 장소 어디에서나 난방용품이나 조명 기구를 활용할 수 있습니다.


*Load : 전기를 사용하는 기기를 통칭

현대차그룹의 V2X의 활용 예시를 보여주는 이미지의 모습

기존 SUV의 트렁크 근처에도 콘센트가 있어 V2L이 새롭게 느껴지지 않을 수 있습니다. 하지만 내연기관 차량에서는 200~300W 용량의 전력만 사용 가능하기 때문에 용도가 매우 제한됩니다. 반면 전기차의 V2L은 전기차의 대용량 배터리를 활용하기 때문에 많은 양의 전력을 활용할 수 있습니다. 구체적으로 3,600W 수준의 순간 출력이 가능해 웬만한 전자기기를 동시에 활용할 수 있다는 특징이 있습니다. 


실제 사용 예시를 들어볼까요? 순간적으로 전력을 많이 쓰는 캠핑용 포터블 인덕션의 경우, 일반적으로 1,500W 정도의 전력을 사용한다고 합니다. 이처럼 큰 전력이 필요한 전자제품이라 할지라도 아이오닉 5의 V2L에서는 충분히 사용 가능한 범위입니다. 특히, 차량 배터리가 다 채워져 있다면 약 30시간 동안 곰탕을 끓일 수도 있습니다. 이처럼 V2L은 사용자가 눈으로 활용 가치를 확인할 수 있는 기능이기 때문에 다른 기능들에 비해 개발자로서 보람이 컸습니다. 

현대차그룹의 V2L 기술 개요를 보여주는 이미지의 모습

그렇다면 V2L을 출시하기 전, 개발자는 어떤 일을 했을까요? 저희는 사용자의 요구 사항을 다각도로 예측하고 어떻게 하면 쉽게 사용할 수 있을지 다방면으로 고민했습니다. 무엇보다 사용자의 안전을 최우선에 두고 개발 방향을 설계했습니다. 특히, 실외에서 V2L 기능이 많이 사용되는 점을 고려해 비정상 동작 시에도 사용자 안전에 문제가 없도록 여러 시나리오를 구성해 대비했습니다. 혹시 처음 접하는 기능이라 걱정하시는 분이 계시다면, 안심하고 V2L 기능을 사용하셔도 됩니다.


V2L의 동작 원리는 다음과 같습니다.

1. 충전관리 시스템(VCMS)이라는 차량 부품이 사용자의 V2L 이용 의사를 전용 커넥터나 콘센트를 통해 확인합니다. 

2. 전력 변환 부품인 양방향 OBC(On-Board Charger)가 고전압 배터리에 있는 직류 에너지를 일반적인 전자제품에서 사용하는 교류로 전력을 변환합니다. 

3. 실내∙외에 있는 콘센트를 통해 전기∙전자제품이 연결되면 V2L 기능이 동작합니다. 

이제 전력 회사와 전기를 거래하자, V2G(Vehicle to Grid)

대부분의 운전자는 차량을 출퇴근 혹은 주말 나들이 용도로 주로 사용합니다. 그 외 시간은 주차장에 세워두는 것이 일반적이죠. V2G(Vehicle to Grid) 기술을 활용하면 전기차 사용자의 차량 사용 패턴을 고려해 전기가 필요한 곳에 미운행 중인 전기차의 유휴 전력을 공급할 수 있습니다. 전력 사용이 최고조일 때 전기차의 전력을 *스마트그리드에 제공할 수 있다면, 전력 회사는 여유 전력의 생산을 줄일 수 있고 이는 전력의 효율적인 활용과 더불어 환경보호에도 큰 보탬이 될 것입니다.


*스마트그리드 : 전기 및 정보통신 기술을 활용해 전력망을 지능화·고도화함으로써 고품질의 전력 서비스를 제공하고 에너지 이용 효율을 극대화하는 전력망


V2G의 큰 특징은 전기의 흐름을 상황에 따라 바꾼다는 것입니다. 전기차의 충전이 필요할 때는 그리드에서 전기차로, 전기차의 전력이 유휴 상태일 때는 전기차에서 그리드로 전력을 이동시키는 개념입니다. 따라서 V2G는 ‘전기차 – 충전소 – 그리드’로 연결되는 통신 경로를 통해 전력이 오가고, 어떤 충전기에 연결되었는 지에 따라 지원하는 방식(DC 급속 V2G, AC 완속 V2G 등)에 맞는 공급 방식을 선택해야 하는 특징이 있습니다.

현대차그룹의 V2G 기술 개요를 보여주는 이미지의 모습

그렇다면 V2G를 개발하기 위해 개발자는 어떤 일을 했을까요? V2G 개발에서 고려해야 할 큰 특징은 보안성을 확보하는 것입니다. 만약 해커가 V2G를 활용하는 단계에서 정보들을 탈취했을 때, 사용자가 금전적인 피해를 볼 수도 있기 때문입니다. 이를 방지하기 위해 전기차와 충전기 간에 정보 전송 시 보안 기술이 적용된 국제 표준(ISO 15118)에 맞춰 개발하고, PLC(Power Line Communication)를 이용한 상호 인증 등 정보 보안 측면에 각별히 신경을 써가며 개발 중입니다.


전기차와 전력망이 통신하면서 전력을 효율적으로 활용하는 기술, 언제쯤 대중화가 이뤄질까요? 아쉽게도 아직까지는 시범 사업이 진행 중입니다. 정부 기관, 전력 회사, 충전기 인프라 회사 등이 서로 협력해서 빠른 시일 내에 V2G를 활용할 수 있기를 기대해봅니다.

내 차는 움직이는 충전소, V2V(Vehicle to Vehicle)

현대차그룹의 V2V 기술 예시를 보여주는 이미지의 모습

마지막으로 소개드릴 V2X의 대표적인 기술은 V2V(Vehicle to Vehicle)입니다. 이는 전기차의 배터리로 다른 전기차의 배터리를 충전하는 기술을 의미합니다. 일반적으로 전기차는 충전소의 충전기에 커넥터를 꽂고 충전하지만, 배터리에 남은 전력이 부족해 충전소까지 갈 수 없을 때는 어떻게 해야 할까요? 보험사의 견인 서비스와 현대차∙기아의 ‘찾아가는 충전서비스’가 있어 문제 해결은 가능하지만, 편리하다고 느끼기에는 다소 아쉬움이 남습니다. 도로 위에 서서 기다리는 시간도 고려해야 하고요.


현재 개발 중인 V2V 기술을 활용하면, 일반 전기차의 내부 전원으로 충전이 필요한 전기차에 간편하게 전기를 공급할 수 있습니다. 두 대의 전기차를 커넥터(전용 케이블)로 연결하기만 하면 V2V 송∙수신이 가능한지 차량간 통신이 이뤄지고, 정상 상태임이 확인되면 배터리 잔량이 부족한 차량 쪽으로 전력이 공급되는 방식입니다. 내연기관 차량에서 차량 시동이 걸리지 않을 때 보조배터리 점퍼를 이용해 시동을 거는 것과 유사한 방식이므로 활용하기 편하고, V2V를 활용한다면 충전에 대한 걱정을 줄이고, 보다 편리한 전기차 주행이 가능해질 것입니다.

현대차그룹의 V2V 기술 개요를 보여주는 이미지의 모습

V2V는 어느 전기차와 연결해도 정상적으로 전력 공급이 가능해야 개발에 의미가 있습니다. 그러므로 V2V는 호환성에 중점을 두어 개발하고 있습니다. 우선 차량간 통신 규격(국제 충전표준, ISO 15118)을 준수한 통신 프로토콜을 전제로 개발을 진행 중입니다. V2V가 구현되는 모습을 쉽게 표현해 보면 두 대의 차량이 V2V 전용 케이블로 연결되는 순간, 전력을 받는 차량이 마치 충전소에 있는 충전기와 연결됐다고 착각할 수 있게 만드는 것이 핵심인 기술입니다.


전기차가 큰 폭으로 증가하고 있지만, 상대적으로 충전소의 증가가 더딘 현실 속에서 V2V 기술은 아주 유용하게 활용 가능한 기술이라 생각합니다. V2V가 빠른 시간에 전기차에 적용 및 양산되어 사회에 확산될 수 있길 기대하며 다수의 소프트웨어 개발자들이 힘을 모으고 있습니다.


지금까지 소개해드린 모든 V2X 기술들은 절대적으로 소프트웨어를 통해 구현되고 있습니다. 지금부터는 어떤 과정을 통해서 V2X용 소프트웨어가 탄생하고 있는지 공유드리도록 하겠습니다. 

소프트웨어 개발 프로세스

지금까지 소개해 드린 V2X 기술은 현대차그룹 남양연구소에서 개발한 소프트웨어를 통해 구현되고 있습니다. 많은 엔지니어들이 차량용 소프트웨어를 직접 코딩하고, 전용 장비(시뮬레이터)에서 시험한 후, 실제 차량에서 문제없이 동작하는지까지 꼼꼼하게 확인하며 개발합니다.


일반적으로 차량 소프트웨어 개발 프로세스의 통상적 방법이라 불리우는 V-Cycle 프로세스가 존재하며, 여섯 단계를 거치면 완성도 높은 차량용 소프트웨어를 얻을 수 있다고 봅니다. 여기서 말하는 여섯 단계는 크게 '소프트웨어 개발 단계'와 '소프트웨어 검증 단계'로 구분할 수 있습니다.

V Cycle 소프트웨어 개발 단계 개요를 보여주는 이미지의 모습

V-Cycle의 왼쪽에 해당하는 소프트웨어 개발 단계에서는, ‘요구사항 분석 → 상세 설계 → 소프트웨어(S/W) 구현’의 순으로 진행됩니다. 


1단계 요구사항 분석에서는 호환성 높은 V2X를 개발하기 위해 국제 충전 표준을 면밀히 분석하고, 어떠한 사용 조건 및 기능을 가져야 할까 고민합니다. 본 단계에서 충분히 고려되지 못한다면, 구현해야 할 조건과 기능이 누락될 수 있고, 이로 인해 전 세계에 설치된 다양한 충전기와의 통신 호환성에 문제가 발생할 수도 있기 때문에 매우 중요한 단계라고 볼 수 있습니다.  


2단계 상세 설계 단계는 1단계에서 구상된 V2X 상세 요구 기능들이 어떻게 신뢰성 높은 소프트웨어로 구현될지 설계하는 단계입니다. 특히, 새롭게 개발될 V2X 기능 소프트웨어 모듈(최소 단위의 기능으로 동작하는 코드의 모음)이 기존에 만들어 놓은 모듈과 어떻게 효과적으로 통합될 수 있는지도 중요한 고려 대상입니다. 최근 전기차의 확산과 함께 개발 업무도 증가되는 추세이며 이미 개발된 코드를 최대한 활용함으로써 개발 기간을 단축하고 높은 신뢰성을 유지하고 있습니다. 


3단계 소프트웨어 구현 단계에서는 이전 단계의 상세 설계에 맞춰 각 모듈을 코딩합니다. 충전에 사용되는 부품들은 전력 변환에 특화된 기능(빠른 계산 능력 및 고장진단 응답속도 등)이 탑재되어야 합니다. 따라서 임베디드용 마이크로프로세서(CPU) 및 하드웨어로 구성하고, 그 외의 소프트웨어는 호환성이 높고 개발 환경 구축이 용이한 C언어로 구현(코딩) 및 설계하는 특징이 있습니다.    

소프트웨어 검증 프로세스

V Cycle 소프트웨어 검증 단계 개요를 보여주는 이미지의 모습

이번에는 소프트웨어 개발 프로세스 V-Cycle 우측에 해당하는 3개 단계를 살펴 보겠습니다. 소프트웨어 검증 단계에서는 ‘기능 검증 → 시뮬레이터(HILS)/대상 검증 → 차량 검증’이 수행됩니다. 여기까지 모두 완료되면 비로소 생산되는 차량에 개발된 소프트웨어를 탑재할 수 있습니다.


먼저 4단계 기능 검증에서는, 3단계에서 새롭게 코딩했던 모듈별로 문법(MISRA Rule, Motor Industry Software Reliability Association Rule)에 문제가 없는지 확인합니다. 이를 위해 전용 프로그램(Polyspace, Code Inspector 등)을 이용하고, 정적 검증과 런타임 에러를 잡기 위한 통합 검증을 진행합니다. 또한 논리적으로 이상이 없는지 확인하기 위한 동적 검증도 해당 단계에서 진행하고 있습니다.


일반적으로 새로운 기능을 개발할 때에는 기능 검증에 가장 많은 시간을 할애합니다. 신규 코드이므로 버그(잘못된 코딩)의 발생 빈도가 높고, 초반에 검증이 잘 진행되어야 완성도 높은 결과물을 기반으로 보다 복잡하고 논리적인 검증이 가능하기 때문입니다. 

5단계 시뮬레이터 및 대상 검증 단계에서는, HILS(Hardware In the Loop Simulation)라는 시뮬레이터 장비를 사용하여 차량 상황을 모사하고, 각각의 부품들이 2단계 상세 설계 단계에서 구상한 대로 동작하는지 확인합니다. 


다음 단계인 차량 검증에 앞서 모사된 여러 차량 조건에 맞게 미리 부품의 정상 동작 여부 시험이 가능하므로, 차량 제작 전에 완성도 높은 소프트웨어 수준을 본 단계에서 확보할 수 있습니다. HILS 검증에서는 차량 내 복잡한 조건에서 발생할 수 있는 고장 상황을 모사로 검증하기 때문에 검증 범위를 넓게 가져갈 수 있다는 장점이 있습니다. 특히, 고전력을 사용하는 전력변환 제어기(인버터, 컨버터 등)의 경우에는 실제 전력까지 인가하여 추가적인 검증 단계를 거침으로서 안전성을 확보하고 있습니다.


마지막 6단계 차량 검증 단계에서는 차량 내에서 충전 관련 부품들이 서로 유기적으로 잘 동작하는지 다시 확인합니다. 앞선 시뮬레이터 모사 단계는 모든 부품들이 정상적으로 동작한다는 전제로 소프트웨어의 정상적인 연동을 확인한 반면, 차량 검증 단계에서는 실제 장착된 타 부품과의 연계성을 검증합니다. 또한, 고객이 여러가지 비정상 행동(충전 커넥터의 체결∙탈거를 인위적으로 반복하는 등)을 하는 종합적인 상황을 연출하고, 그에 맞는 Fail-Safe 기능의 정상 동작 여부도 함께 확인합니다. 실차 검증 단계는 차량 소프트웨어의 정식 배포 전 반드시 수행해야 하는 매우 중요한 절차이며, 안전을 최우선적으로 고려하는 차량 소프트웨어 개발 업무에서 찾을 수 있는 특징입니다.

개발 중 발생한 문제점과 극복 방안

마지막으로 V2X 제어 기술을 개발하면서 어떤 어려움이 있었는지, 그리고 그 해결 과정을 소개하겠습니다. 첫 번째는 고객이 V2X를 어떻게 사용할지 미리 예측하고, 발생할 수 있는 문제점을 선제적으로 대응해야 한다는 것이었습니다. V2X는 다양한 사용 조건과 환경에 따라 수많은 경우가 나올 수 있습니다. V2L을 예로 들면, ‘실제 V2L을 사용 중에 전기차 충전을 하기 위해 충전구를 열면 어떻게 동작해야 하지?’ ‘외부 충전 커넥터를 꽂아 놓고 잠시 자리를 비웠는데 누군가가 가져가려 한다면 어떻게 막아야 하지?’와 같은 여러 사례를 계속해서 고민했습니다. 

V2X 소프트웨어 개발 중 발생한 리스크와 극복 방안에 대해 설명하는 이미지의 모습

이렇게 고안해 낸 복합적인 조건들은 테이블로 정리해 단계적으로 실제 차량에서 검증했습니다. 이를 통해 개선점을 도출하고 차량에 반영될 수 있도록 설계에 반영했습니다. 특히 안전에 영향이 있을 경우, 기능적 제한이 있더라도 안전 법규 등에 위배되지 않도록 기능을 구현하는 원칙을 두기도 했습니다.


두 번째 문제는 소프트웨어 구현 수준이 각기 다른 다수의 개발자들이 동시에 소프트웨어를 개발하는 개발 환경에 있었습니다. 앞서 말씀드린 V-Cycle의 세 번째 단계인 기능 구현 단계에서 V2G, V2L 등 여러 기능들을 복수의 개발자가 각기 설계하는 동안 서로의 코드를 실시간으로 확인할 수 없는 것이 문제였습니다. 따라서 이로 인한 예상치 못한 기능 중복 및 충돌 발생 등에 대한 해결책이 필요했습니다.

V2X 소프트웨어 개발 중 발생한 리스크와 극복 방안에 대해 설명하는 이미지의 모습

이러한 상황을 방지하기 위해, 모든 개발자는 기능 구현이 완료되면 서버(형상관리 프로그램)에 본인이 개발한 코드를 하나의 통합 코드에 반드시 등재하고, 이후 주기적 통합 컴파일을 진행했습니다. 컴파일 결과를 보고, 상호 개발한 코드 간의 간섭이나 영향을 개발 중간에 바로 확인할 수 있고 문제 발생 시에는 수정하여 다시 등재하는 유기적인 개발 방식을 채택해 해당 문제를 해결하고 있습니다. 또한, V-Cycle의 세 번째 단계가 완료되면 신규 추가 코드에 대해 개발자 상호간 상세 설계 사양과 로직이 부합하는지 확인하는 ‘코드 리뷰’ 과정을 절차화 함으로써 상이한 개발수준으로 인해 발생할 수 있는 리스크를 최소화하고 있습니다.


마지막으로 해결해야할 문제는 고객의 안전을 위한 검증 단계가 지속적으로 강화됨으로 인해 개발∙검토 단계의 비효율을 초래하고 있는 현상이었습니다. 차종 증대로 인해 차량별 개발 기간을 단축해야 하는 현실 속에서 오히려 증가되는 검증 시간의 확보가 필요했습니다. 

V2X 소프트웨어 개발 중 발생한 리스크와 극복 방안에 대해 설명하는 이미지의 모습

이러한 현상을 해결하기 위해 시뮬레이션 장비를 통한 자동화 단계를 도입하고, 지속적으로 확대했습니다. 또한 기존 대비 코드 변경점을 명확히 표현하고 해당 부분에 검증 역량을 집중함으로써 효율성을 보다 높이는 작업도 병행했습니다.

아이오닉 5에서 V2L 기능을 활용해 노트북을 사용하고 있는 모습

현대차그룹의 이혁진 책임연구언의 프로필을 설명하는 이미지의 모습