LG 전자 - 신속 프로토타이핑 워크플로를 사용한 스마트 헤드램프 개발 사례

“MATLAB 및 Simulink는 개발 단계에서 요구되는 시간을 절반으로 줄여줍니다. MATLAB과 Simulink를 사용하면 사용자 지정 함수를 설계할 수 있어서 OEM 고객의 요구사항에 손쉽게 대응할 수 있습니다.”

과제

차세대 스마트 헤드램프를 위한 비디오 처리 및 제어 알고리즘의 개발

솔루션

MATLAB, Simulink, HDL Coder를 사용한 모델 기반 설계를 활용하여 FPGA 기반 비디오 처리 설계의 모델링, 시뮬레이션, 구현을 위한 프로토타이핑 워크플로를 구축

결과

  • 요구사항을 프로토타이핑 하드웨어에 신속하게 구현
  • 코딩 및 검증 시간 단축
  • 코드 일관성과 재사용률 상승
이미지 대체 텍스트: 차세대 스마트 헤드램프를 사용하는 자동차 애니메이션.

LG 전자에서는 MATLAB, Simulink, HDL Coder를 사용하여 차세대 스마트 헤드램프를 개발하고 있습니다.

LG 전자 CTO 부문 광학연구소의 엔지니어들은 차량용 차세대 스마트 헤드램프를 개발하고 있습니다. 스마트 헤드램프 모듈은 도로 표지판, 접근하는 차량, 보행자 등 주변에서 검출된 물체에 반응하여 차량의 전조등 시스템을 역동적으로 제어합니다. 도로 상황에 효과적으로 반응하기 위해 제어 알고리즘이 검출된 표적을 빠르게 인식하고 빔 프로젝터에 있는 수백 개의 LED 모듈을 제어해야 합니다.

LG 전자는 자회사인 ZKW와 협력해 MATLAB®, Simulink®, HDL Coder™를 사용한 모델 기반 설계를 활용하여 LED 전조등이 투영할 정확한 조명 패턴을 생성할 수 있는 FPGA 기반 프로토타이핑 플랫폼을 구축했습니다.

LG 전자의 하드웨어/소프트웨어 통합 전문가인 정지영 씨는 “MATLAB 및 Simulink를 사용한 모델 기반 설계 덕분에 각 회사가 담당한 부품들을 설계하고 하나의 프로젝트 워크플로에 간단히 통합할 수 있었습니다. MATLAB과 Simulink로 기존의 임베디드 하드웨어 구현 워크플로를 개선하고 기존의 시뮬레이션 및 시스템과 손쉽게 통합했습니다”라고 말합니다.

과제

스마트 헤드램프의 핵심적인 요구사항은 주변에서 검출된 변화에 대한 신속한 반응 능력이었습니다. 그러한 요구사항을 충족하기 위해 개발팀은 FPGA 기반 프로토타입으로서 비디오 처리 시스템을 구현해야 했습니다. 그러나 당시에는 고객이 요구하는 사용자 지정 함수를 만드는 데 필요한 툴이 없었습니다.

스마트 헤드램프는 LG 전자의 신제품입니다. 그러한 프로젝트에서 흔히 발생하는 난제를 더 어렵게 만든 것은 고객인 OEM 사가 단 6개월 안에 프로토타입을 납품하도록 요구한 것이었습니다. 과거에 LG 전자 팀은 FPGA에 고속 비디오 처리 알고리즘을 구현하기 위해 수작업 HDL 코드를 작성했습니다. 그러한 수작업 워크플로는 복잡한 알고리즘을 개발하고 검증하는 데 오랜 시간이 걸렸고, 하드웨어 구현 중에 코딩 오류가 발생하면 디버깅을 위해 추가 시간이 필요했습니다. 프로토타입의 납품 기한이 촉박했기 때문에 기존 방식으로는 시간이 너무 많이 걸렸습니다.

솔루션

LG 전자의 엔지니어들은 MATLAB, Simulink, HDL Coder를 사용한 모델 기반 설계를 활용하여 FPGA 기반 프로토타이핑 플랫폼을 설계하고 구현했습니다. 개발팀은HDL Coder의 고정 소수점 자동 변환, 사용자 지정 함수 개발 지원, 전반적인 워크플로 통합이 요구사항을 더 잘 충족한다는 사실을 확인했습니다. ZKW 에서는 이 플랫폼을 기반으로 하여 제품에 대한 최종 조정과 테스트를 수행했습니다.

LG 전자 개발팀은 Image Processing Toolbox™ 및 Computer Vision Toolbox™가 제공하는 블록과 함수를 Simulink에서 사용하여 프레임 기반 비디오 처리 알고리즘을 설계했습니다. HDL 구현을 준비하기 위해 그들은 Vision HDL Toolbox™에서 제공하고 하드웨어에 바로 사용할 수 있는 블록들을 이용하여 해당 알고리즘의 픽셀 스트리밍 버전을 만들었습니다. 개발팀은 Simulink에서 프레임 기반 및 픽셀 기반 시뮬레이션을 실행하여 비디오 파일과 평가 보드에서 나온 실제 입력값을 사용해 알고리즘 설계를 검증했습니다.

시뮬레이션을 통해 비디오 처리 알고리즘을 검증한 후, 개발팀은 HDL Coder와 함께 두 가지 하드웨어 지원 패키지 (HDL Coder Support Package for Xilinx® Zynq® PlatformVision HDL Toolbox Support Package for Xilinx Zynq-Based Hardware) 를 사용했습니다. 개발팀은 HDL Coder를 사용하여 다양한 설계 방안을 탐색하고 자신들의 리소스와 속도 요구사항에 부합하는 솔루션을 찾았습니다.

개발팀은 또한 Embedded Coder®를 사용하여 SoC의 Arm Cortex-A53 프로세서를 위한 응용 프로그램도 개발했습니다. 해당 응용 프로그램 덕분에 프로토타이핑 중에 비디오 처리 알고리즘을 실시간으로 조정할 수 있었습니다.

FPGA 기반 프로토타입으로서 비디오 처리 시스템을 납기까지 성공적으로 배포하고 테스트한 LG 전자 엔지니어들은 이제 동일한 워크플로를 사용한 ECU 기반 프로토타입 구현을 계획하고 있습니다.

결과

  • 요구사항을 프로토타이핑 하드웨어에 신속하게 구현. 정지영 씨는 “저희는 모델에서 직접 요구사항을 구현하고 Simulink에서 프레임 수준과 픽셀 수준에서 시뮬레이션 하여 결과의 유효성을 확인할 수 있었고 HDL Coder를 사용하여 타겟 FPGA에 빠르게 프로토타이핑을 할 수 있었습니다”라고 말합니다.
  • 코딩 및 검증 시간 단축. 정지영 씨는 “HDL Coder를 사용한 자동 HDL 코드 생성을 통해 저희는 코딩에 필요한 시간을 80%, 검증에 필요한 시간을 30% 단축할 수 있었습니다. 하드웨어 지원 패키지에 있는 기능들을 활용하여 프로토타이핑 시간을 50% 단축한 것으로 추정됩니다”라고 말합니다.
  • 코드 일관성과 재사용률 상승. 정지영 씨는 “HDL Coder로 코드를 생성할 때 저희는 항상 동일한 코드 생성 규칙을 적용합니다. 그러면 코드의 일관성이 높아지고 여러 사람들이 같은 프로젝트에서 작업할 때 도움이 됩니다. 또한 저희는 Simulink 프로젝트를 사용하고 재사용 가능한 Simulink 모델 라이브러리를 사용하여 재사용률을 높였습니다. 범용 FPGA 툴에서는 제공하지 않는 기능이죠”라고 말합니다.