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 |