ABOUT ME

Today
Yesterday
Total
  • 자율주행차 엔지니어가 사용하는 소프트웨어는 무슨하나까? <Part 2>
    카테고리 없음 2020. 3. 15. 11:44

    >


    들어온 이번 글은 Part1에서 소개하는 자동 차 개발에 필요한 기본적인 소프트웨어에 이어조금 세분화하고 자동 차 개발 분야별로 필요한 소프트웨어에 대해서 소개하려고 합니다. 다음에 소개하는 소프트웨어가 우리 신라에서 널리 사용되고 있는지는 모르겠습니다만, 소개하는 것은 자기 이름의 업계에서 자주 사용되는 소프트웨어를 기준으로 작성된 것이라고 하므로 개발에 필요한 소프트웨어의 소개는 되지 않을 것으로 생각합니다. 만약 자신들이 가지고 있는 것과 다른 것이라도 고민할 필요는 없습니다. 자신이 없고, 가지고 있는 툴로 일만 잘하면 됩니다. 하지만, 아내 sound에 관심이 있는 분이라면, 조금 더 관심을 가져볼 가치가 있다고 생각합니다. 물론우리신라에서사용하지않으면좀고민하실수도있지만, 하지만 도구는 단지 도구일 뿐이며, 그 안에서 작용하는 논리와 방식은 비슷합니다. 목적은 하나이고 그것을 실현하기 위한 방식이 다를 뿐이기 때문입니다. 그렇기 때문에 도구보다 목적이 더 중요한 거죠. 목적이 정해져 있고, 지면 툴이 얼마나 가까이 다가가기 쉽고, 각자에게 맞는지를 찾는 것이라고 볼 수 있습니다. 이번 기사에서는 그런 목적에 따라 참고가 되는 툴을 소개하는 것이라고 소개해 주시면 감사하겠습니다.만약 Part1을 읽지 않고 이 글을 읽고 계시다면, Part1도 제대로 한 번 읽어보세요.


    최근에 너는 Part1에서 기초에 대해 알게 되었습니다. 최근여러분이추구하고있는자율주행차기업에서당신이원하는특정역할에대해알고싶은소프트웨어가무엇인지궁금할것입니다. 위와 같이 이러한 역할은 많고, 주어진 위치에 있는 각 작업에 사용할 수 있는 수십 개의 툴이 있습니다.소개가 이어지는 예에서는 자율주행차의 엔지니어가 괜찮기 때문에 본인의 목적에 따라 사용하는 툴을 본인에게 나누어 보겠습니다. 다시 한 번 강조하자면, 이 툴들은 지속적으로 전천되고 있으며, 하나하나 새롭게 툴이 추가됩니다. 우리의정보수집노하우에따르면31개자율주행차기업의모든캐리어페이지를상세하게삭제했을때이번글에서는3개이상의기업에서등장한툴이본인의기술을본인열하고있으며10개이상의본인이나온것은굵은글씨를표현했습니다. 우리는 이것들 중에서 가장 많이 사용되는 것에 대해 썼습니다. 특정 회사에 몇 번이나 본인인지는 중요하지 않았어요. 저희는 업계 전반에 사용되고 있는 툴을 원했습니다. 그렇기 때문에 여러분들이 매번 사용하는 툴이 이번 소개로 허락하지 못했을 수 있습니다.차량설계·개념(Vehicle Design - Concept) 차량 컨셉 자체를 설계하고 본인의 마케팅 자료를 작성하는 당사자가 될 경우 다음과 같은 주요 툴이 최고입니다.Sketch, Adobe Illustrator, Adobe Photoshop, Microsoft Paint(농다소리)입니다. Adobe Illustrator는 사용자가 2D이미지를 만들고 편집할 수 있는 환경입니다. 차량 및 하나방의 마케팅 이미지의 개념적 이미지를 생성하는 데 가장 유행하는 소프트웨어 제품 중 하본인으로 소개됩니다.


    >


    차량설계 - CAD/PLM/FEA(Vehicle Design - CAE/CAD/PLM/FEA) 차량의 기계적 설계와 다양한 구성요소에 관심을 가지고 있다면 이 중 적어도 하나는 알아야 합니다. 이 툴들은 모두 CAE(Computer Aided Engineering Tool)이다. 예전에는 펜과 종이, 슬라이드자로 작업하던 작업을 이제 컴퓨터에서 모두 수행할 수 있어 환상적인 시각화 도구를 사용할 수 있습니다. CAD(Computer Aided Design)는 차량과 부품의 2D 및 3D 모델링이다. Product Lifecycle Management(PLM)는 설계 및 구매하는 모든 부분품을 구성할 수 있는 포괄적인 도구 모소리이다. FEA(Finite Element Analysis)는 서로 다른 힘과 순간이 적용되는 소프트웨어로 몸의 스트레스와 압력을 테스트할 수 있는 컴퓨팅 집약적 프로그램이다.CATIA, Solidworks, Pro/E, Autodesk 360, Enovia, STAR-CCMY, ANSA, Altair HyperWorks 및 OptiStructure, ANS, MSC NASTRAN, Abazus, Polarision CATIA는 매우 유행하고 있는 3D 엔지니어링 설계 툴이다. 이를 통해 3D 영상을 생성·편집한 향후 3D 영상을 빌드해, 스트레스를 받는 노하우를 시뮬레이션 할 수 있습니다. 이것은 특히 자동차 산업에서 유행가가 있습니다.


    >


    다물체 차량의 동역학 및 차량 모델 시뮬레이션(Multibody Vehicle Dynamics and Vehicle Model Simulation) 만약 여러분이 실제로 차를 운전하는 비결을 디자인하고 싶다면, 이번 섹션은 여러분을 위한 것입니다. 이러한 소프트웨어 툴은 엔지니어가 서스펜션, 브레이크 및 휠에 동력을 줄 수 있는 설계에 도움이 됩니다. 이 소프트웨어는 엔지니어가 소프트웨어로 차량 대표 모델을 구축하고 실제 주행이 나쁘지 않은 알리오에서 테스트하여 성능을 최적화할 수 있도록 해줍니다. 엔지니어가 주어진 상황에서 차량의 한계가 어느 정도인지 알 수 있는 비법이기도 합니다. 이것은 자율주행차 소프트웨어가 비상상황을 파악할 수 있도록 중요한 역할을 합니다. 이 소프트웨어는 레이싱카 엔지니어들이 사용하는 것과 동일합니다! LS-DYNA, MSCADAMS, CarSim, CarMaker, Dymola, OptimG, SusProg3D, Okal SKANeRMSCADAMS는 멀티보디 다이내믹스(Multibody Dynamics)에 적용되는 모든 수학 사건을 해결하고 시각화하기 위한 소프트웨어 툴입니다. 특히 이 툴은 엔지니어에게 차량 설계에 대한 즉각적인 피드백을 제공할 수 있는 다물체차량동역학(Multibody Vehicle Dynamics)을 위한 매우 강력한 도구입니다.


    >


    아날로그 및 디지털 하드웨어 개발(Analog and Digital Hardware Development) 엔지니어가 자율주행차에 들어가는 회로를 설계하기 위해 사용하는 많은 툴들이 있습니다. 이쪽에서 자세히 설명하지 않겠습니다. 두 개의 가장 1반적인 툴은 앞으로와 같습니다.LTSpice, Altium 차량 소프트웨어 개발-1반적인 지식(Vehicle Software Development-General Knowledge) 특정 업무 기능을 지속적으로 지원하는 지식을 가지고 있는 "1반 지식"이라고 하는 바구니에 들어가는 많은 소프트웨어가 있습니다. 이것들은 겹치는 역할이 있습니다. 그래서 여기에 포함시켰습니다. 누구 본인이 모든 것을 안다고는 의견을 하지 않지만, 취업 면접에 들어가기 전에 최소한 그들 중 몇 개는 무엇을 하는지 이해하는 것이 좋습니다.Docker, CMake, Shell, Bash, Perl, JavaScript, Node.js, React, Go, Rust, Java, Redux, Scala, Ruby, Rest API, gRPC, protobuf, Julia, HTML5, PHPDocker는 어플리케이션 배포를 위한 가상화 계층이다. 이것은 어플리케이션을 느리게 번거롭게 하는 "fat" 없이 해당 어플리케이션에 대한 모든 종속성을 "containerize"할 수 있기 때문에 소프트웨어를 개발, 배포하는 데 한층 간단하고 효율적인 메커니즘이다. Docker 사용 시 별도의 VM을 설정할 필요가 없습니다.​


    >


    차량 소프트웨어 개발-ROS 프로그래밍(Vehicle Software Development-Programming ROS) 대부분의 자율주행차팀은 앞서 설명한 대로 ROS를 이용해 차량을 제어한다. ROS를 사용할 경우 다음 두 가지 도구를 기억하여 당신의 인생을 보다 쉽게 만드는 것이 중요할 것이다.RVIQ, PCL 차량 소프트웨어 개발 - CPU/MCU 프로그래밍(Vehicle Software Development - Programming CPUs/MCUs) 자율주행차를 운행하도록 중앙처리장치(CPU) 또는 마이크로컨트롤러 장치(MCU)를 프로그래밍 할 경우 다음과 같은 기술을 이용하는 것이 중요할 것이다.C, MISRAC, Embedded C, RTOSRTOS는 "실제로 운영체제(Real-Time Operating System)"의 약어로 프로세스가 자결적으로, 또는 항상 지연 없이 꾸준한 간격으로 발생시키는 운영체제 아키텍처입니다. 지연 가끔(latency)과 지터(zitter, 번역: 흐트러질 정도로 이해)가 가끔 중에 동작할 수 있도록 실행하는 것과 그렇지 않은 것의 차이가 될 수 있기 때문에, 매우 안정된 CPU/MCU 시스템에 필요할 것이다.


    >


    차량소프트웨어 개발 - FPGA/ASIC 프로그래밍(Vehicle Software Development Programming FPGAs/ASICs) 차량에서 제어시스템을 구동하도록 FPGA를 프로그래밍할 경우 하드웨어를 직접 제어할 수 있는 저수준 프로그래밍 언어(Hardware Description Languages, HDL) 중 하과인 이상을 이해하는 것이 중요합니다. 이러한 툴의 대부분은 ASIC(Application-Specific Integrated Circuits)라고 하는 작은 전용 실리콘 칩의 설계에 사용됩니다.Verilog, VHDL, DSP, Cadence, Synopsys, Xilinx Platform Studio(ISE 및 XPS) Verilog는 개발자가 하드웨어 레지스터에 직접 접근할 수 있도록 HDL을 공급하는 소프트웨어 언어로 FPGA, ASIC 및 1부 MCU용 아날로그 및 디지털 회로를 설계하고 테스트하는데 사용됩니다.차량 소프트웨어 개발-GPU 프로그래밍(GPGPUs)(Vehicle Software Development-Programming GPUs, GPGPUs) GPU는 대규모 병렬 프로세스로 영상을 처리하여 포인트 클라우드(point cloud)를 가리키는 능력 때문에 오늘날 많은 미디어의 주목을 받고 있습니다. 대략 업무 제안에 소개되는 기술은 "GPGPU(General Purpose Computing on Graphics Processing Units)"이다. 이러한 툴을 통해 다음과 같은 작업을 수행할 수 있습니다.CUDA, OpenCL, OpenGL, DirectX, Direct Compute, VulkanCUDA(Compute Unified Device Architecture)는 NVIDIA의 툴킷 프로그래머가 GPU를 프로그래밍하는데 사용합니다. GPU의 모든 벨과 휘파람에 직접 접근할 수 있는 플랫폼과 API이다. CUDA는 C, C++와 함께 작동하며 OpenCL과 통합됩니다. 키위 용지 처리를 할 경우, CUDA는 올바르게 알 필요가 있습니다.


    >


    차량 소프트웨어 개발 - LIDAR, Radar, Camera, 인지 센서 융합(Vehicle Software Development - LIDAR, Radar, Cameras, Perception Sensor Fusion) 여러분의 자율주행차는 어떻게 세계를 '바라봐' 있습니까? LiDAR, Radar, 아니면 보동Camera입니까? 초음파 감지기(ultrasonic sensors)와 같은 다른 것이 있습니까? 다음으로 센서와 관련된 가장 반적인 소프트웨어 도구와 기술로 센서의 '귀추(sees)'를 파악하여 본인 소프트웨어 스택에 유용한 정보를 공급할 수 있습니다.Velodyne Development Kit, ZED Stereo CameraSDK, Scanse LIDAR SDK(shutdown), SLAMSLAM은 동시 현지화와 매핑(Simultaneous Localization And Mapping)이라고 한다. 모르는 환경맵을 구성해 본인 업데이트를 하는 동시에 해당 환경 내 에이전트 위치를 추적하는 컴퓨팅 사고입니다.(Wikipedia) 이것은 차량이 어디에 있고 다음에 어디로 갈 것인가를 결정하기 위한 핵심적인 접근방식입니다. 여기서 여러분은 확장된 칼만 필터(extended Kalman filter)와 같은 유명한 기계학습(machine learning)의 윙윙거리는 소리가 들립니다.차량 소프트웨어 개발 - 기계학습, AI, 딥러닝(Machine Learning, AI, Deep Learning)입니다."기에서는 모든 미친 연구가 하나로 되어 있었습니다. 만약 여러분이 Machine Learning, AI, Deep Learning에 관심이 있다면 여러분은 아마 이 툴에 대해 잘 알고 있을 것입니다. 만약 여러분이 이 분야에 있고 싶다면 학습을 시작하는 것이 좋습니다. 스크래치를 통해서 이 중 많은 것을 실행하는데 필요한 알고리즘을 만드는 것이 아주 중요한 하나가 될 수 있기 때문입니다.Tensor Flow, Keras, Torch/Py Torch, CAFFE, Apache MXNet, Therano, CNTK Tensor Flow는 Google이 개발한 오픈 소스 소프트웨어 라이브러리로서 기계학습 및 신경네트워크 알고리즘을 활용하기 위한 실질적인 그대로가 되었습니다. GPU 및 CPU에서 실행할 수 있습니다. Tensor Flow는 "tensors"라고 하는 상태 보존 데이터 플로그래프(아래 그림 참조)를 용이하게 시각화한다.


    >


    소프트웨어 테스트 플레이더 워크(Software Test Frameworks)는 모든 소프트웨어를 작성하고 어떻게 동작하는지 확인할 수 있습니다. 엔지니어가 시뮬레이션 데이터를 소프트웨어에 공급하고 답변을 확인하기 위해 독자적인 "단위 테스트 프레임워크(Unit Test Frameworks)"를 구축하는 경우가 많습니다. 이들은 모든 것이 깨지지 않도록 샅샅이 사례 전체를 강조한다. 업계에서는 이러한 문제를 보다 쉽게 해결하기 위해서 이 툴을 사용하고 있습니다.Mocha, SysML, Jasmine, Jest 시뮬레이션을 위한 게이더 및 물리 엔진(Game and Physics Engines for Simulation)은 직업으로서 매우 인기있는 역시 다른 분야가 있습니다. 엔지니어들은 자율주행에서 그들의 소프트웨어가 실행되는 것을 시뮬레이션으로 원하고 있다. 그들은 실제적으로 시뮬레이션된 환경에서 차를 몰기를 원한다. 모의 실험 데이터의 변수를 사진이 자신의 움직이는 이미지로 만드는 것은 어려운 하나다. 사실 세상의 물리학을 흉내 내는 일은 더 복잡하다. 엔지니어는 이러한 강력한 툴을 사용하여 이러한 시뮬레이션을 실시하고 실제와 같이 때때로 자료로 작성한 소프트웨어를 테스트할 수 있습니다.Unity 3D, Unreal Engine, Cry Engine, Lumbard, Bullet, Havok, PhysXUnity 3D는 2D 및 3D의 때때로화를 위한 게이더 엔진이다. 이것은 때때로 비디오 게임이다 개발에 사용되지만 "물리학적인 엔진(physics engine)"이 포함되어 있기 때문에 실제 시뮬레이션에 매우 적합하다. 이 물리 엔진은 여러분이 실제 시더 심리오를 만들고 모든 시각에서 관련된 모든 수학 문제를 해결하지 않고 차량을 테스트할 수 있게 해줍니다. 역시 어떤 차량이 어떻게 도로를 주행하는지를 보여주는 대표적인 때때로 자료를 만드는 데도 도움이 됩니다.


    >


    차량 통신 프로토콜(Vehicle Communication Protocols) 이것은 소프트웨어 툴이 아닙니다. 차량을 프로그래밍 할 경우 알아야 할 특정 프로토콜이 아닙니다. 차량의 특정 부분에 대한 통신 인터페이스에 따라 전송되어 있는 이 스토리를 확인할 수 있는 다양한 도구들이 있습니다. 단, 다음과 같은 다양한 프로토콜을 알아야 합니다.CAN, LIN, FlexRay, Ethernet(Automotive Ethernet), SPI/I2C, TSN(Time-Sensitive Networking), TCP/IP, WLAN(Wifi), Bluetooth, 5G, Cryptography Primitives, Cryptoschemes CAN(CAN)은 자동차로서 거의 2사입니다. 차량의 온보드 컴퓨터에 의해 제어되는 약간 거의 모든 기능은 CAN을 통해 통신합니다.데이터 저장(Data Storage) 차량에 탑재된 데이터 예비기지에 연결하는 비결에 익숙해져야 합니다.RAID(Redundant Array of Independent Disks), NAS(Network Attached Storage) RAID는, 대용량의 메모리로 기입/읽기 속도를 높게 한 메모리에 있는 데이터의 중복을 발생하는 데이터 가상화 기술입니다. 읽기/쓰기 에러에 취약하지 않은 대용량의 데이터를 로컬에 저장할 때 사용해 주세요.데이터베이스(Databases)이기 때문에 1단 그 데이터를 차에 탄 하드웨어에서 꺼내면 그것을 넣을 곳이 필요할 겁니다. 이러한 소프트웨어는 데이터를 기록하고 추출하는 특정한 비결을 가진 조직 데이터베이스의 모든 데이터를 관리함으로써 다음과 같은 작업을 수행하는데 도움이 됩니다.HBase, NoSQL, MongoDB, PostgreSQL, MySQL, DynamoDB, HDP, Cloudera, EMR, Cassandra, Vertica NoSQL은 클라우드 저장 및 데이터 검색에 사용되는 비관계형 데이터베이스로 대량의 데이터를 실시간으로 처리할 수 있는 성능과 기능을 위해 가끔 SQL 대신 NoSQL을 사용합니다.


    >


    스트림 기술(Streaming technologies) 스트림 프로세싱은 멀티코어 컴퓨터, GPU는, 나아가 FPGA의 지원으로 개발자들이 대량의 데이터를 동시에 처리할 수 있도록 하는 컴퓨터 프로그래밍 아키텍처 또한 패러다임입니다. 이 기술은 데이터 크래킹 속도를 획기적으로 향상시키는데 필요합니다.Apache Kafka, Storm, Flink, Spark Streaming Apache Kafka는 자바 및 Scala에서 작성된 공통 스트리밍 기술로 실시간 데이터의 높은 처리량과 짧은 대기시간 처리에 사용합니다. 스트리밍 플랫폼에서는 성능이 매우 중요하기 때문에 많은 사용자들이 Kafka와 함께 모니터링 어플리케이션을 사용합니다.Batch 기술(Batch technologies) 스트리밍 기술과 마찬가지로 배치 기술은 대량의 데이터를 처리할 수 있는 고성능 방법론을 재공합니다. 차이점은 배치기술은 데이터를 여러 하드웨어 리소스로 분산시켜 병렬로 해결한다는 것입니다. 이것은 특히 중복성과 신뢰성에 유용합니다.Apache Hadoop, MapReduce, Apache Spark, Hive, Presto, Impala Apache Hadoop는 하드웨어의 ジャン 아이가 일체반적이라고 소가족을 하는 소프트웨어 라이브러리의 공개 소스 시리즈이므로 하나로 서버 펌에서 여러 자원 간에 데이터 셋을 분산하는 전략을 사용합니다.이 강의는 Gowthamy Vasekaran의 Batch vs Streaming Technologies에 대해 간단히 설명한 문장입니다.직렬화(Serialization) 직렬화는 다른 하나는 저장도 분석하기 위해서 대량의 데이터를 하나씩 꺼내서 처리하는 방법입니다. 이 기능은 어플리케이션 간에 데이터를 파이프하는 데 도움이 됩니다.Avro, Parquet, JSON 차량 테스트 - MIL, SIL, HIL, 차내 테스트(Vehicle Test - MIL, SIL, HIL, In-Vehicle Test) 테스트 엔지니어링의 역할은 풍부합니다. 그 이유는 모든 것이 자율주행차로 거의 매일 제대로 작동하는지 확인하기 쉽지 않기 때문입니다. 하지만 이 과정을 가속화하는 툴이 있습니다. 이러한 소프트웨어 툴은, 단순한 엔지니어 벤치에서도 대량 제조 환경에서도, 차량의 모든 항목을 검증할 수 있는 환경, 템플릿 및 아키텍쳐를 재공합니다.NI LabVIEW, NI Test Stand, NI Veri Stand, dSpace HIL Simulation Systems, dSpace RTMaps, Proemion PETools, Vector CANalyzer, Vector CANape, Vector Capld Space HIL Simulation Systems는 소프트웨어, 모델은 하드웨어를 사용하고 테스트 대상인 "있는 것(있는 것)"에 대한 입력 및 소프트웨어의 출력입니다. 소프트웨어의 가짜 데이터도 HIL을 위한 실제 전기 신호 및 물리적 입력/출력도 시뮬레이션 할 수 있습니다. dSpace는 차량영역에서 훨씬 길고, 차량 ECU설계와 복잡하게 연결되어 있기 때문에 이 분야에서 유행하고 있습니다.


    >


    데이터의 때때로화 및 분석(Data Visualization and Analysis)이 모든 테스트와 시뮬레이션 후에 여러분은 수 톤의 데이터를 다양한 형식으로 얻을 수 있습니다. 데이터를 통합하고 소모하기 쉽게 하는 형식으로 데이터를 분석하고, 그 분석을 바탕으로 향후 수행할 작업에 대해 지능적인 결론을 내는 것이 매우 중요하다. 이를 위해 하루에 사용할 수 있는 여러 개의 툴이 있으며 시야에는 몇 가지 새로운 툴이 있습니다.Microsoft Excel, NIDIAdem, Splunk, Datadog, Logz.io, ELKStack, Looker, Tableau Microsoft Excel은 모든 사용자가 사용하며 Microsoft Excel을 사용하지 않습니다. 데이터를 집계해서 가끔화하는데 더 나쁘지 않은 도구들이 있지만 사람들은 아는 악마를 사용하는 경향이 있습니다.웹서비스(Web Services)클라우드 컴퓨팅 플랫폼이 최근 큰 유행을 일으키고 있는 것은 당연하다. 사람들은 더 이상 사무실에 서버를 설치할 필요가 없습니다. 이 서버는 크고 비용이 많이 듭니다. 앞으로는 이 클라우드 컴퓨팅 플랫폼의 하나에 적합하지 않습니다. 심지어 기계학습(Machine learning)에 특별히 맞춰져 있습니다! Azure and Azure ML, Google Cloud and Google AI, Amazon Web Services(AWS) AWS(Am Amazon Web Services)는 온디멘드 클라우드 컴퓨팅 플랫폼이다. 그건 개인 사용에서 대기업 사용까지 확장 가능하니까 굉장히 유행하고 있는 거에요.소스코드제어(기타)(SourceCodeControl(Others)) 이미 언급한 Git 외에도 이 두 개의 소스코드제어툴이 가장 많이 사용됩니다.Perforce, Subversion(SVN) 문제 추적 툴(Issue Tracking Products) Jira는 단연 가장 어중간한 문제 추적 툴이다. 버그 추적, 서비스 요청 및 프로젝트 관리에 사용합니다. 유료 제품 요구사항 관리(Requirements Management) 다만 사람들은 어떤 문제에 직면하면 그들은 먼저 어떤 것이 그 하나의 성공적인 성취를 구성할 것인지를 문서화한다. 그것들은 그 과제의 "요구사항"으로 간주합니다. 문제가 크고 어려울 때, 종종 특정한 때에 그렇게 하고 때로는 서로 상반된 여러 요구 조건들이 충족되어야 한다. 그것이, 그 과정을 관리하는 데 도움이 되는 소프트웨어가 있는 이유다.Rational DOORS, JAMA, Rhapsody IBM의 Rational Doors(Dynamic Object-Oriented Requirements System)는 "개발 라이프 사이클 모두에 걸쳐 변경사항을 캡처, 추적, 분석, 관리할 수 있는 요구사항 관리 툴 그룹"이다. 가끔 나쁘지는 않은데 이 솔루션은 크고 복잡한 소프트웨어 프로젝트 요구사항 관리 그대로가 됐어요.기타 자동차에 관한 주제(Other Automotive Topics) 이 강은 차량에 대해 지능적으로 설명할 수 있도록 하기 위한 몇 가지 주제, 규정 및 무료이다.Automotive SPICE, SixSigma(DFMEA, HARA, FTA, FMEA), AUTOSAR, ASPICE, ISO262, other Standards(ISO, IEEE, ANSI, ASTM, SAE, NHTSA, etc) AUTOSAR(AUtomotice Open System ARchiture)는 ECU의 소프트웨어 아키텍처화를 위해 한 자리에 모일 만큼 모였다. 이에따라Tier하나과의OEM도ECU가개발할수있고테스트및서비스를위한도구로작업할수있게되었습니다.​


    >


    결론은 댁의 머리를 주변에 있는 수많은 소프트웨어입니다. 그들 모드를 배우려는 것은 어리석은 11입니다. 원하는 영역을 선택하기만 하면 해당 영역에서 최소한 본인 도구만 사용할 수 있습니다. 자율주행차의 작은 기업의 역할은, "또는 소프트웨어/기술과 같은(orlike software/skill)"조건을 자주 사용하는 것입니다. 비슷한 도구 몇 개를 알면 기술이 이전될 수 있다는 뜻이다.그 도구를 배우기 위해 어디로 가십니까? 툴의 특성에 따라 달라집니다. 오픈 소스 소프트웨어는 1 클래스적으로는 환상적인 커뮤니티를 가지고 있어 많은 유저가 독자적으로 학습한다. 독점 툴은 대학 또는 지속적인 교육 프로그램을 통해 배울 수 있습니다. 직장에서 배울 만한 몇 가지 툴이 있어요.Udacity's Self Driving Car Nanodegree Program(유료, 2단계 이용 가능)과 MIT의 Lex Fridman의 Driving Cars(무료, 자기학습) Deep Learning과 같은, 몇개의 뛰어난 온라인 프로그램이 있습니다.우리가 놓친 물건이 있으면 알려주세요. 그리고 행복한 코딩하세요끼어들기는많은사람들에게이이야기를해서복잡하게느낄수있지만자율주행차개발에필요한소프트웨어에대해서세분화해소개한글입니다. 처음에내용을쓴것처럼각항목별로대표소프트웨어를소개하면서그중에서가장많이사용되는것을아주간단하게소개하기로했습니다. 하지만 해당 분야에서 1을 하시는 분들이 보시면 어떤 프로그램인지는 알 수 있을 겁니다. 물론 제가 제대로 이해하지 못하고 설명해드린 것도 있을 수 있으니, 혹시 잘못된 정보가 있으시면 알려주시기 바랍니다.자율주행차가 뉴스에서 보기에는 몇 가지 센서를 달아서 컴퓨터를 설치하고 움직이는 정도로 생각하신 분이 계셨다면 이번 글을 통해 정해진 내용으로 많은 소프트웨어들이 자율주행차를 개발하는 데 사용되고 있다는 것을 알 수 있는 기회가 되었을 겁니다. 위에서 말한 것을 대략적으로 간단하게 정리해 봐도 설계, 시뮬레이션, 배포, 컨트롤러 프로그램, AI, 센서 프로그램, 데이터 관리, 프로그램 관리 등으로 분류할 수 있다고 생각합니다. 물론 각각의 항목에서도 보다 세분화될 수 있을 것입니다. 이 중 하본인을 제대로 하기도 쉽지 않을 겁니다. 정내용이 많은 소프트웨어 엔지니어가 필요한지 알 수 있을 겁니다. 오늘날 하드웨어뿐만 아니라 소프트웨어를 중앙으로 생각하고 판단할 수 있는 기반이 갖추어지지 않으면 모두가 시스템에 대해 이해하기 어려워지고 있는 것입니다. 우리는 지금까지 하드웨어 한가운데의 세계에서 살고 있었습니다. 물론 요즘은 그렇게 생각합니다. 자동차 분야 경영진 역시 당장의 시장성만 판단하면 하드웨어에 집중할 수도 있습니다. 하지만 이후 자동차 시장의 변화를 생각하면 소프트웨어의 중요성을 생각하지 않을 수 없을 것입니다. 단지 자동차 제어를 위한 소프트웨어 뿐만이 아니라, 그 상위 층의 소프트웨어를 생각해야 한다.현재 세상은 하드웨어보다 소프트웨어가 움직이는 세상이라고 해도 과언이 아닐 것입니다. 물론관련된1을해보지못한분들이생각하는어떤소리일수도있지만,바로여러분이정보를얻고있는인터넷이라는것도소프트웨어가움직이고있는거죠. 여러분은 단지 한번의 클릭으로 원하는 것을 얻고 있습니다만, 그것을 실현하기 위해서 수많은 소프트웨어 엔지니어가 밤을 새면서, 보다 사용하기 쉬운 기술을 개발하고 있는 것입니다. 그러나 우리 본인 라의 경우는 아직 손에 잡히지 않은 것에 대해 가치를 부여하는 데 인색함이 분명하다. 눈에 보이는 것에 대해서는 큰 가치를 두고 많은 이야기를 하지만, 그것을 움직이는 것에 대해서는 많은 사람들이 알지 못한다. 잘 생각해 보면 요즘 여러분 주변에 소프트웨어가 없는 게 어느 정도 본인인지 생각해 보면 좋을 것 같아요. 다만 여러분이 생각하는 자동차를 생각해 보면 쇳덩어리에 고무 타이어를 붙여 액셀을 밝으면 가고, 브레이크를 밝으면 멈추는 기계 덩어리로 생각할 수 있습니다. 하지만 여러분이 하고 있는 동작 아래서 본인씩을 모드 소프트웨어가 제어하고 있다는 것입니다. 현재 자동차는 기계라고 하기에는 그 안에 들어있는 소프트웨어가 당신 무본인도 많습니다. 자동차를 해킹할 수 있다는 내용입니다. 실제로 그런 1도 있다. 그렇게 세상의 모든 전자기기는 그 안에 소프트웨어가 있어서 제어를 하고 있습니다. 게다가 가장 원시적인 것으로 보이는 전등을 켜고 끄는 것까지 소프트웨어로 제어하려고 합니다. 나 개인적으로는 아직 백열전구는 스위치를 켜는 게 나쁘지 않아. 하지만 곧 IoT 시대가 좀 더 현실화되면 단순한 명령으로 수많은 사물을 제어할 수 있는 시대가 오지 않을까. 이 모든 것이 소프트웨어가 있어야 가능한 1입니다.이렇게 소프트웨어는 여러분들이 생각하는 것보다 더 가까이 있습니다. 여러분들이 눈치채지 못했을 뿐이에요. 자율주행차는 현재 자동차보다 더 많은 소프트웨어를 사용하는 것입니다. 가장 큰 이유 중 하나가, 기존에는 단순히 자동차의 상태와 귀추만 파악해 제어하면 되었다면, 요즘은 자동차 주변의 귀추와 그 귀추에 맞추어 가장 적절한 움직임을 보여야 하기 때문입니다. 이 모든 것을 소프트웨어로 해야 하기 때문에 어느 정도 본인으로서의 큰 소프트웨어 덩어리가 그 안에 있어야 하지 않을까요? 그러나 자율주행차는 단순히 자동차 자체의 움직임뿐 아니라 주변과의 관계를 연결하는 수많은 소프트웨어와도 연결돼야 한다. 그래서 많은 작은 기업에서 자율주행차를 이 스토리에선 자동차를 언급하지 않습니다. 그것을 어떻게 연결하고 운영하는지에 대해서 이야기를 하고 있어요. 즉,차를판매하는것이아니라그근본적인목적성에더다가갔다고할수있겠죠. 그것은 Mobility입니다. 이런 까닭은 예바가 자율주행차를 소개하고 SK, KT 등 통신사들이 자율주행차를 광고하고 있습니다. 아직 우리 본인의 라에서 자율주행차에 대해 이 스토리를 하는 것은 미숙한 느낌을 이스토리하는 것 같지만 우리는 자율주행차를 위한 모든 환경을 갖고 있는 것이 분명하다. 이런 환경에서는 자율주행차 개발에 얽매여서는 안 됩니다. 프리 주행 차량은 향후 세대의 교통 환경에 가장 중요한 위치에 있는 것이 분명하기 때문입니다.오거의 매일도 끼어드는 게 좀 길었네요. 소프트웨어 스토리를 하다 보면 조금 흥분해서..."자율주행차 엔지니어가 사용하는 소프트웨어는 무엇1일까? 는 아래의 접속으로 이동할 수 있습니다.


    p.s 검색으로 보시면, 이 스토리를 못 찾으셨다면, '태그' 또는 '검색'을 하면 더 많은 자료를 찾을 수 있습니다. 그래도 찾으시는 이 이야기가 없으시면 (이메일1, 메세지) 제가 아는 범위 내에서 도와드리겠습니다. 부담 갖지 않으셔도 됩니다.Over the Vehicle!!!참고 자료



    댓글

Designed by Tistory.