Automotive

Tesla 차량용 소프트웨어

chbae 2023. 4. 22. 06:05
728x90

Tesla 차량의 소프트웨어 개발 방법론에 대해 관심을 가지고 있다가, Tesla 소프트웨어 개발 내용을 듣고 자료를 검색하여 이 글을 쓰게 되었다. 실제와 다를 수 있으니 참고용으로 보면 좋을 것 같다.

개발 조직 / 문화

Tesla는 크게 개발팀이 Infortainment 개발팀 (약 300명), Auto Pilot 개발팀으로 구성되어 있는 것으로 보이고 엄청난 강도로 일을 하는 것 같다. 조직 구조는 기술분야에 맞게 Matrix 구조로 되어 있고, 스크럼으로 운영하는 팀이 있지만 따로 SM, PO가 있지는 않은 것 같다.

 

차량용 소프트웨어 개발이라 하면 Tesla를 많이 벤치마킹하겠다고 달려들고 있지만, Tesla도 BMW등을 벤치마킹했다고 한다. 중요한건 데이터이고 고객 데이터를 수집하는 클라우드에 엄청난 비용을 투자하고 있기도 하다.

소프트웨어 개발

약 100개의 ECU가 들어가고 60%정도가 자체 개발 그외는 3rd party에서 가지고 오는 것으로 보인다. Tesla에서 개발하는 전체 차량이 동일한 소프트웨어 이미지를 사용한다.

 

위의 그림은 기본적인 구성이다. CID (Central lnformation Display) 와 IC (Instrument Display) 두개의 Display로 구성되어 있고 NVIDIA SoC를 사용하고 있는 것으로 보인다. 하지만 이후 Intel SoC로 바뀐 것으로 파악하고 있다.

 

Infortainment 부분을 살펴보면 Ubuntu OS로 구성되어 있다는 것을 https://www.youtube.com/watch?v=2f3cEy5o06M 해킹영상에서 알 수 있다. 즉 Intel SoC에 Ubuntu를 올려 그 위에 Application 및 서비스를 개발한 것으로 보고 있다. UI는 확실치는 않으나 QT로 개발 되어 있는 것 같고, 브라우저는 파이어폭스를 사용하는 것으로 보인다.

 

https://blog.naver.com/invain/221341616888 에서 어느분이 Telsa Software Stack를 분석하여 올려놓은 기본 아키텍처 구조도가 있다. 하지만 Ubuntu 위에 Auto Pilot가 들어가있는 것 같지는 않고 다른 SoC에 Buildroot, https://www.buildroot.org/를 이용하여 따로 Embedded Linux를 올린 것으로 필자는 보고 있다. 위의 블로그에 가면 구조도를 볼 수 있는데 대부분의 임베디드 리눅스 제품을 개발하는데 사용하는 플랫폼 구조를 가지고 있다.

 

필자는 조금 더 기술적으로 소프트웨어 개발 방법론, CI/CD에 대해서 알고 싶으나 아직 자료가 충분하지 않아서 정리를 못하고 있다. 나중에 산호세에 놀러가게되면 Tesla에서 일하는 Devops 친구에게 자세히 물어보고 정리한번 해야겠다.

Reference

'Automotive' 카테고리의 다른 글

차량용 소프트웨어 개발 환경 3부  (0) 2023.04.22
Android Automotive  (0) 2023.04.22
차량용 소프트웨어 개발 환경 2부  (0) 2023.04.21
차량용 소프트웨어 개발 환경 1부  (0) 2023.04.21
차량용 IVI 개발 환경  (0) 2023.04.21