ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자율주행차 엔지니어가 사용하는 소프 봅시다
    카테고리 없음 2020. 1. 30. 10:43

    >


    들어 이번에는 그 동안 좀 소홀히 했던 주제에 대해서 2차례 글을 쓰든 할게요. 제가지금까지꾸준하게자율주행차에대해소개하면서가장많이스토리했던이야기가아마자동차시장이하드웨어에서소프트웨어로옮겨질것이라고생각합니다. 그 중에서도 교통 환경으로 변천하는 소프트웨어가 가장 큰 자리를 차지한다고 소개했던 것 같습니다. 그러나 전체적인 교통환경 구축을 위해서는 그 하위 수준의 조건이 충족되어야만 구조적인 안정감을 가질 수 있을 것이다. 내가 교통환경을 위한 소프트웨어를 강조하고 설명한 이유는 이전에는 존재하지 않았기 때문에 강조해서 우리의 것이 필요하다고 설명했던 것이고, 그러한 환경의 밑바탕에는 반드시 하드웨어와 그것을 제대로 제어할 수 있는 소프트웨어가 필요할 것이다. 이번에 소개드린 내용은 자율주행차 개발을 위해 필요한 소프트웨어는 어떤 종류가 있고, 그것이 가진 사용빈도별로 정리해서 자율주행차 개발을 위해 막연히 고민하고 있는 가운데 작은 이정표가 되었으면 좋겠다는 생각에서 소개되었습니다.이번에 소개드릴 주제는 관심이 없는 분들도 계실 수 있습니다만, 자율주행차가 미래에 나타날 것이라고 하는데, 무엇을 공부하고 관심을 가져야 할지 궁금하신 분이 계실 수 있기 때문에 이틀에 걸쳐 소개해 드리기로 결정했습니다. 같은 시간을 투자하더라도 조금이라도 실제 실무에서 사용하고 있는 툴에 대해 알아가는 것이 더 현명한 투자가 아닐까 생각합니다. 제가 소개하는 것이 제 자신의 현상에 얼마나 자신이 있는지는 모르겠습니다만, 자율주행차의 시장이, 자국의 것보다 외국이 크기 때문에, 외국의 영향을 받지 않을까 생각합니다. 여기서소개하는것은전세계의매우자신있는소프트웨어툴을전체적으로소개할수는없습니다. 하지만 누군가 자신이 고민하는 아내 sound로 가는 길의 막연함에 작은 촛불 같은 기회를 가질 수 있는 안내문이 되었으면 합니다.앞에서 말씀드린 것처럼 이번에 소개하는 글은 자율주행차 개발을 위한 소프트웨어를 소개하고 정리하는 글이기 때문에 깊은 스토리를 기대하면 안 될 것 같습니다. 글을 참고하면서 관련된 소프트웨어에 대해 좀 더 관심을 갖고 찾아봐야 할 것 같습니다.스토리가 좀 길 수 있지만 그냥 가볍게 읽으면서 소프트웨어의 흐름을 이해해 주셨으면 합니다.


    자율주행차 엔지니어가 되고 싶으세요? 아니면 이미 다른 기술을 익히는 비결을 찾으시나요? 이 글은 엔지니어가 자율주행차를 제작하는 데 사용하는 다양한 소프트웨어 툴의 소개를 공급하기 위한 것입니다. 자동 운전의 세계에서는 무엇을 하고 싶은지에 의해서 이들 중 1부는 다른 것보다 관련하고 있을 가능성이 있습니다. 하나의 테마를 그렇게 깊게 보는 것이 아니라, 자율주행 소프트웨어 환경을 전체적으로 파악하려고 한다.소개 자율주행차 제작은 복잡하다. 엔지니어가 자율주행을 위해 기존 차를 개조하든, 아내 음에서 자율주행차를 제작하든 해야할 일이 많습니다. 차량 내부의 하드웨어에 2억 5천만개 이상의 코드를 프로그래밍해야 할 뿐만 아니라 자율 주행 차의 소프트웨어 및 하드웨어를 개발, 구축, 최적화 및 관리하므로 모든 프로그램, 도구 및 플랫폼을 찾아야 한다.따라서 본인의 모든 자율주행차가 동일한 것은 아니며 다양한 유형의 AV는 다른 도구를 사용해 개발한다. 이들 각 카테고리에는 특정 목적에 따라 다른 설계 요구사항이 있습니다.​


    >


    모든 유형의 엔지니어가 이러한 모든 차량을 제작하는데 도움이 되는 수백개의 툴이 있습니다. 이런 수단은 그 뒤 글에서 다루지 않지만, 이 명단이 모두 포함한 적이 없어 매 1새 도구가 추가되는 것을 잊지 마시길 바랍니다.​ 정보 수집 방법, 엔지니어들이 자율 주행 자동차를 개발하는 데 사용하는 다양한 도구의 소개를 하기 때문에 우리는 28개의 자율 주행 자동차를 생산하는 기업을 인터뷰했고 이후 31개 명칭으로 자율 주행 자동차에 대한 "엔지니어링"또는"개발"과 거의 유사한 모든"컨트롤러"페이지 항목을 살펴보앗슴니다.Tesla Motors - 전기차 제조 중소기업 Uber Advanced Technology Group장거 장거리(Long Haul) 및 Commercial(상용) 기술의 자율주행 OTTO Motors(Division of Clearpath)—산업용 자율주행차 제조중소기업 NIO—COTA 주변에서 가장 빠른 전기차량과 가장 빠른 자율주행 Lap을 재공 Cruise Automation amive math Matham Outomation ammarpath Moth Math otnalives Batholnologies 自律nologies自律nologies自律nologies自律nol自律nol Starsky Robotics – 자율주행 트럭기술 Zoox — 자율주행택시 Fleet Embark Trucks — 자율주행 트럭기술 Torc Robotics – Moox인접한 자율주행 트럭기술 - Maris Marles 자율주행 시스템 자동 운전 방식 자동 운전 방식 자동 운전 balt Robotics—, 자율형 실내 로봇 Aptiv—, 자율 주행 기술과 인프라 Lyft Level 5—, 자율 주행 자동차 기술 nuTonomy(Delphi Automotive)—, 자율 주행 자동차를 위한 Full Stack소프트웨어 Auro—, 자율 주행 셔틀 Argo AI—, 자율 주행 자동차 기술 Aurora—, 자율 주행 자동차 기술 Apollo Auto(Baidu)  —, 자율 주행 소프트웨어 및 기술 Faraday Future— 전기 자동차 제조 중소 기업 Zenuity—, 자율 주행 자동차 기술 ​ 소프트웨어 도구 3개로 사용되면 포함시켜 슴니다. 10개 이상의 다른 회사에 그것이 본인에 탑승한 인면 우리는 강조하고 설명해 슴니다. 가장 현저하게 강조되는 소프트웨어의 몇가지 때문에 툴에 관한 간략한 설명을 포함시켰습니다. ​, 여전히 1조 같은 소프트웨어 제품과 기술을 놓쳤을 가능성이 있으므로 소교은랑에 명단을 추가해야 합니다는 것을 알아 주시길 바랍니다."절대적으로 필요한 것(The Absolute Essentials)"맨 처음에, 대부분의 엔지니어가 자동 운전 차의 역할 때문에 고려해야 하는 3가지 기술을 살펴봅시다. 전술한 거의 모든 소프트웨어 개발의 역할에서 이러한 요구 사항을 확인한 것으로 이들은 확신을 갖고 있어야 합니다. ​ C++:범용 객체 지향 프로그래밍 언어 C++는 1반 적으로 자율 주행 차의 온보드(Onboard)컴퓨터를 프로그래밍하는데 사용되는 프로그래밍 언어임. 이것은 개발 프로그램을 "낮은 레벨"로 허용할 수 있기 때문에 매우 인기가 있습니다. 즉, 코드를 늦게 실행해 본인 댁의 많은 공간을 차지하는 불필요한 추상화가 일어나지 않도록 하기 위해서이다. C++ 를 사용하면 컴퓨터의 메모리를 조작할 수 있습니다. 이 메모리는 빠르고 표결적이며 반복 가능한 코드를 처리할 때 매우 편리합니다. C++는 아래에 설명한 다른 프로그래밍 언어보다 사용하기 어렵다고 간주될 수 있으나, Linux, Mac 또는 Windows 컴퓨터에서 프로그래밍을 위해 가장 뛰어난 성능을 가진 하본인이다.


    >


    Linux: 오픈 소스 운영 체제(Open Source Operating Systems) 리눅스(Linux)는 다양한 기능을 가지고 있지만, 일반적으로 자율주행차 엔지니어를 위한 운영 체제입니다. 이는 "bloatware"에 소비되지 않고 사람과 도구로 구성된 대규모 오픈소스 커뮤니티가 있기 때문입니다.가장 많이 볼 수 있는 두 버전의 Linux는 자율주행차 개발을 위한 툴과 함께 자주 동작하는 Ubuntu와 RTO(Real-Time Operating System) Linux의 판정론적인 버전인 embedded Linux입니다. 만약 Ubuntu Machine 시스템이 아직 없는 경우에는 Ubuntu를 사용하기 위해 VM을 설치하고 이를 사용하는 것을 권장한다. 여러분은 또한 Ubuntu 터미널을 통한 Command Line 프로그래밍에 대해 매우 잘 알고 싶습니다.


    >


    Python : 고도 프로그래밍 언어 파이썬은 쉽게 선택할 수 있고 이를 위한 툴을 지속적으로 개발하는 오픈 소스 커뮤니티를 가지고 있어 매우 유명해졌습니다. 1반 적으로 잘 작성된 Python코드를 보고 어느 1이 1어판인지 있는지 이해하기란 매우 쉽슴니다. Python은 수학, 과학, 데이터 시간화, 기계학습, AI, 심층학습 등을 위한 포괄적인 라이브러리가 있기 때문에 자율주행차 엔지니어에게는 매우 트렌드가 있습니다. Python의 단점은 그것이 거대하고 컴(1의 언어라는 것 임니다니다. 이렇게 하면 고성능 어플리케이션에 적합하지 않게 메모리를 소모할 수 있습니다. Python을 배우고 있다면 Numpy, scipy 및 matplotlib과 같은 오픈 소스 툴을 탐색하는 방법을 이해해야 합니다.


    >


    ​ ​ 실질적으로 필요한 것(The Virtually Essentials)차 풍란에 Linux, Python및 C++에 이어1반과 같은 세개의 스킬 요구 사항임. 모든 회사에서 이 툴들을 적어도 하나의 채용공고를 언급하고 있기 때문에 이 툴들을 기본적으로 이해하는 것이 가장 좋습니다.로봇 운영 체제(ROS): 로봇 미들웨어 ROS는 로봇 개발을 위한 소프트웨어 라이브러리의 생태계. 자율 주행 차는 바퀴가 달린 대형 로봇 1뿐이기 때문에 자율 주행 자동차의 개발이 다른 것보다 아주 쉽습니다. ​ ​ ROS는 여러 운영 체제를 지원하지만 1반 적으로 Ubuntu위에서 실행합니다. 1반 적으로 프로그램 ROS는 C++및/또는 Python임.ROS는 자율주행차에 적합한 툴에 적합하지만 자율주행차의 스택을 구동하는 것은 여전히 협소한 플랫폼일 것. 업계에서는 보다 확실하고, 저렴하고 확장 가능하며 전력 소모가 적은 다양한 하드웨어와 소프트웨어를 보통화할 때까지 이 툴은 1반 적으로 "테스트 툴(prototyping tool)"에서 의견이다.당분간은 ROS를 알아야 자율주행차를 개발할 수 있어요. 다행히 여러분은 환상적인 Wiki에서 Ubuntu Machine(또는 VM)에서 다운로드 받으실 수 있습니다.​


    >


    MATLAB/Simulink는 완전히 다른 2개의 툴입니다만, MathWorks는 제어 시스템 설계를 위한 가장 입개 반적인 2개의 소프트웨어 플랫폼을 개발했습니다.MATLAB는 무료로 공급되며 수많은 대학 프로그램의 인기를 얻는 수치적이고 독점적인 프로그래밍 언어입니다. 공학 프로그램 학생들은 한 반에서 언어에 대한 이해를 가지고 졸업하기 때문에 그것은 계속해서 밖에서 사용합니다. 근래에는 Python이 공급하는 수학 도구를 사용해 가고 있습니다. Python이 조금 거의 동등하기 때문입니다. Python은 무료이지만 MATLAB은 흔한 도구입니다.Simulink는 모델 및 시뮬레이션을 만들 수 있는 블록 다이어그램 기반의 그래픽 프로그래밍 인터페이스입니다. 이 툴은 자율주행차 제어시스템을 설계하고 테스트하는 데 사용되는 가장 반반적인 도구입니다. C++코드 또는 FPGA 또는 ASIC설계에서 사용하는 하드웨어 설명 언어에 대한 어린이이드온 툴 시리즈가 있으며, 나중에 설명하겠습니다. Simulink를 사용하지 않는 제어 엔지니어를 찾기는 어려울 것입니다.


    >


    Git : 버전 제어 소프트웨어 개발 시 다른 사람이 괜찮은 작업을 확인하고 괜찮게 만든 것을 빌드할 수 있도록 다른 곳에 넣어야 합니다. 만약 여러분의 팀이 업무량을 과도하게 부담한다면, 그들은 결국 그 코드를 함께 병합할 장소와 과정도 필요할 것이다. 여기서 버전 제어 소프트웨어가 과오합니다. Git는 오픈 소스 특성상 자율주행차 기업의 버전 제어 및 소스 코드 관리를 위한 가장 오래된 유행 도구인 것 같습니다.Git에는 소프트웨어 개발 관리를 위한 가장 오래된 유행이 있는 Git Hub을 포함하여 다양한 호스팅 서버가 있습니다. 호스팅 서버가 필요한 이유는 커뮤니티 또는 특정 팀과 코드를 쉽게 공유할 수 있는 노하우를 원하기 때문이다.채용 및 면접 과정에서 많은 회사들이 너희들의 Git Hub 계정을 확인해달라고 요청할 것이다. 그러므로 그들은 당신들이 얼마나 잘, 그리고 자주 코드를 개발하는지 확인할 수 있습니다. 개발능력을 과시할 수 있는 좋은 노하우입니다.


    >


    결론이기 때문에 기본을 다뤘습니다. 앞으로의 글에서는 당신이 추구하는 역할 유형에 따라 필요한 다양한 도구들에 대해 설명하고 싶다.새치기=이번 글에서는 자율주행차 개발에 필수적인 소프트웨어 도구에 대한 안내였습니다. 관련된 일을 하시는 분들은 잘 아실 수도 있겠지만 처음 접하는 분들도 있을 것 같습니다. 제가 들어와서 각각의 툴에 대해서 언급하기 보다는 글을 읽는 분들 각자가 필요한 이야기에 대해서 정리할 수 있는 기회가 되었으면 예기했던 것처럼 나쁘지 않게 필요했지만 몰랐던 이야기가 있을 것 같습니다. 필수 도구라고 소개했으니 관심을 가져주셨으면 합니다. Part 2에서는 자율 주행 자동차 개발의 다양한 영역에서 사용되는 다양한 툴을 소개하는 것이다. 어떤 분들은 혹시 그 주제보다 더 관심이 있을지도 모릅니다. ■ "자율주행 엔지니어가 쓰는 소프트웨어는 어떨까? "은 이하의 연결로 갈 수 있습니다.


    PS: 검색에서 보시고 원하시는 스토리를 찾지 못하셨을 경우, '태그' 또는 '검색'을 해보면 더 많은 자료를 찾을 수 있습니다. 그래도 문의사항이 있으시면 저에게 연락주시면(이메일, 메시지), 제가 알고 있는 범위 내에서 도와드리겠습니다. 부그다소리 안 가져도 돼요.Over the Vehicle!!!참고 자료



    댓글

Designed by Tistory.