ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자율주행차 엔지니어가 사용하는 소프트웨어는 뭣일까? <Part 2>
    카테고리 없음 2020. 3. 8. 00:37

    >


    이번 시간에는 Part 하나에서 소개한 자율주행차 개발에 필요한 기본적인 소프트웨어로 이어서 조금 세분화하여 자율주행차 개발 분야별로 필요한 소프트웨어에 대해 알아보겠습니다. 이하에 소개드릴 소프트웨어가 저희 과인라에서 널리 쓰이고 있는지는 모르겠습니다만, 이 소개글은 과임업계에서 자주 쓰이고 있는 소프트웨어를 기준으로 작성된 것이기 때문에 개발에 필요한 소프트웨어 소개는 가능하지 않을까 생각합니다. 자기들이 가진 것과 다른 것이라도 생각할 필요는 없습니다. 갖고 있는 툴로 일만 잘하면 됩니다. 하지만 처음에 관심이 있는 분이라면 좀 더 관심을 가질 수 있다고 생각해요. 물론 저희 과인이 사용하고 있지 않다면 조금 생각할 수 있습니다만. 하지만 툴은 단지 툴일 뿐, 그 안에서 작용하는 논리와 방식은 비슷합니다. 목적은 하나이고 그것을 실현하기 위한 방식이 다를 뿐이기 때문입니다. 그렇기 때문에 도구보다 목적이 더 중요한 거죠. 목적이 정해져서 토지 툴이 얼마나 접근하기 쉽고, 각자에게 맞는지를 찾는 것이라고 생각합니다. 이번문장은그런목적에따라참고할만한툴을소개하는거라고생각하시면될것같습니다.만약 Part1개를 읽지 않고 이 글을 가장 먼저 읽고 계시다면, Part1개도 제대로 읽어 보세요.


    이제 댁은 Part1에서 기초를 알게 되었습니다. 앞으로 여러분이 추구하는 자율주행차 기업에서 댁이 원하는 특정한 역할에 대해 알고 싶은 소프트웨어가 무엇인지 알고 싶습니다. 이미 말했듯이 이런 역할은 많이 있고 주어진 위치에 있는 각 작업에 사용할 수 있는 수십 개의 툴이 있습니다.소개가 이어지는 이 이야기에서는 자율주행 엔지니어가 나쁘지 않은 목적에 따라 사용하는 툴을 나눠보겠습니다. 다시 강조하면 이런 도구는 지속적으로 변이되고 있으며, 매년 1새로 도구가 추가됩니다. 우리의 정보 수집의 비결에 따르면 31의 자율 주행 자동차 기업의 모든 경력 페이지를 잘게 두루 다소움 되었을 때, 이번 글에서는 3개 이상의 기업에서 등장한 도구나 기술을 나열했으며 10개 이상으로 나타난 것은 굵은 글씨로 포효은했습니다. 우리는 이 중에서 가장 많이 사용되는 것에 대해서 글을 썼습니다. 특정 회사에 몇 번이나 나타났는지는 중요하지 않았어요. 저희 회사에서는 업계 전반에 걸쳐 사용되고 있는 툴을 원했습니다. 그러므로 여러분이 1사용하는 도구가 이번 소개에 통과하지 않을 수 있습니다...​ ​ 차량 설계 – 개념(Vehicle Design-Concept)차량 컨셉 자체를 설계하고 마케티은 자료를 작성하 다소움당쟈이 될 경우 해안 같은 주요 도구 최고 1만 일 임니다니다.Sketch, Adobe Illustrator, Adobe Photoshop, Microsoft Paint(농다소음)입니다. 웃음)​ Adobe Illustrator는 사용자가 2D이미지를 만들어 편집할 수 있는 환경 임니다니다. 차량 및 1반 마케티은이메ー지의 개념적인 이미지를 발발하는데 가장 어려운 인기 있는 소프트웨어 제품 중 1에서 시각 됩니다.


    >


    차량설계 - 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-CCM+, ANSA, Altair HyperWorks및 OptiStructure, ANSYS, MSC NASTRAN, Abaqus, Polarision​ CATIA는 아주 최근 유행인 3D엔지니어링 설계 툴이다. 이를 통해서 3D영상을 발생 및 편집한 해안 3D영상을 빌드와 스트레스를 받노 하우 우루 시뮬레이션할 수 있어요. 이것은 특히 자동차 산업에서 요즘 유행이 있어요.


    >


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


    >


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


    >


    차량 소프트웨어 개발 - ROS 프로그래밍(Vehicle Software Development - Programming ROS)의 대부분의 자율주행차 팀은 이전 섹션에서 설명한 대로 ROS를 사용하여 차량을 제어합니다. ROS를 사용하는 경우 다소 소리 2개의 툴을 익히고 당신의 삶을 보다 용이하게 하는 것이 중요합니다.RVIZ, PCL 차량 소프트웨어 개발 - CPU/MCU 프로그래밍(Vehicle Software Development - Programming CPUs/MCUs) 자율주행차를 운영하도록 중앙처리장치(CPU)도 마이크로컨트롤러 장치(MCU)를 프로그래밍 할 경우 다소 소리와 같은 기술을 사용하는 것이 중요합니다.​ ​ C, MISRA C, Embedded C, RTOS​ RTOS는 " 실시간 운영 체제(Real-Time Operating System)"의 약어로, 프로세스가 결정적으로 때는 항상 지연 없이 1 정한 간격으로 바루 셍후와루한 운영 체제·아키텍처임. 지연시간(latency)과 지터(jitter, 반대: 흐트러짐 정도로 이해)가 시간 내에 동작할 수 있도록 실행하는 것과 그렇지 않은 것의 차이가 있을 수 있으므로 매우 안정된 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 및 일부 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)와 같은 다른 것이 있습니까? 이후웅셍사ー과 관련된 가장 1조 같은 소프트웨어 도구와 기술로서 센서의 "정세(sees)"을 파악하고 나머지 소프트웨어 스택에 유용한 정보를 제공하 슴니다.Velodyne Development Kit, ZED Stereo CameraSDK, Scanse LIDAR SDK(shutdown), SLAMSLAM은 동시 현지화와 매핑(Simultaneous Localization And Mapping)이라고 합니다. "불명한 환경 맵을 구성 또는 업데이트 하는 동시에, 그 환경내의 에이전트의 위치를 추적하는 컴퓨팅 사고이다."이는 차량이 어디에 있고, 그 후 어디로 가야 하는지를 판정하기 위한 핵심적인 접근법이다. 여기서 여러분은 확장된 칼만 필터(extended Kalman filter)와 같은 유명한 기계학습(machine learning)의 윙 하는 소음을 들을 수 있을 것입니다.​ 차량 소프트웨어 개발-기계 학습, AI, 디플러 닌(Machine Learning, AI, Deep Learning)이곳에서는 모든 미친 연구가 1어하는 슴니다. 만약 여러분이 Machine Learning, AI, Deep Learning에 관심이 있다면 여러분은 아마 이 도구들에 대해 잘 알고 있을 것입니다. 만약 여러분이 이 분야에 있고 싶다면 학습을 시작하는 것이 좋습니다. 스크래치를 통해서 이 1의 상당 부분을 수행하는데 필요한 알고리즘을 할 아주 중요한 1이 되기 때문임!TensorFlow, Keras, Torch/PyTorch, CAFFE, Apache MXNet, Therano, CNTKTensorFlow는 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, CryEngine, Lumbard, Bullet, Havok, PhysX​ Unity 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(Controller Area Network bus)는 자동차 업계에서 세계 크죠록에 사용되는 2-wire디지털 통신 프로토콜이다. 차량의 온보드(onboard) 컴퓨터에 의해 제어되는 극히 적은 모든 기능은 CAN을 통해 통신합니다.데이터 저장(Data Storage) 차량에 탑재된 데이터 스토리지에 접속하는 방법이 익숙해야 합니다.RAID(Redundant Array of Independent Disks), NAS(Network Attached Storage) RAID는 대용량의 메모리로 쓰기/읽기 속도를 높여 과도한 메모리에 있는 데이터의 중복을 발생하는 데이터 가상화 기술이다. 읽기/기입 에러에 취약하지 않은 대용량의 데이터를 로컬에 보존할 때에 사용해 주세요.데이터베이스(Databases)이기 때문에 일단 그 데이터를 차에 탄 하드웨어에서 꺼내면 그것을 담을 곳이 필요합니다. 이들 소프트웨어는 데이터를 기록하고 추출하는 특정한 방법을 가진 조직 데이터베이스의 모든 데이터를 관리함으로써 이후와 같은 작업을 수행하는데 도움이 됩니다.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은 하드웨어 장해가 1반 적으로 가정하는 소프트웨어 라이브러리의 유출 소스 시리즈이기 때문에 1반 적으로 서버 팜에서 많은 자원 간에 데이터 세트를 분산하는 전략을 사용하는 것이다.이후에는 Gowthamy Vasekaran의 Batch vs Streaming Technologies에 대해 간단히 설명한 문장입니다.​ 직렬화(Serialization)직렬화는 1반 적에 저장 또는 분석하기 위해서 대량의 데이터를 11이 가지고 처리하는 방법 이다니다. 애플리케이션간에 데이터를 파이프하는데 이 기능은 유효하다.Avro, Parquet, JSON 차량 테스트 - MIL, SIL, HIL, HIL, 차내 테스트(Vehicle Test - MIL, SIL, HIL, In-Vehicle Test) 테스트 엔지니어링의 역할은 풍부할 것이다. 그 이유는 모든 것이 자율주행차에서 항상 정상적으로 작동하는지 확인하기 쉽지 않기 때문이다. 하지만 이 과정을 가속화하는 툴이 있습니다. 이러한 소프트웨어 툴은, 단순한 엔지니어 벤치에서도 대량 제조 환경에서도 차량의 모든 항목을 검증할 수 있는 환경, 템플릿이나 아키텍쳐를 공급할 것이다.NILabVIEW, NI Test Stand, NI VeriStand, dSpace HIL Simulation Systems, dSpace RTMaps, Proemion PETools, Vector CANalyzer, Vector CANape, Vector Capld Space HIL Simulation Systems는 소프트웨어를 사용하고 테스트 대상인 "어떤 것(thing)"에 대한 하드웨어 출력을 모으기 위한 소프트웨어이다. 소프트웨어의 가짜 데이터 또는 HIL을 위한 실제 전기 신호 및 물리적 입력/출력도 시뮬레이션 할 수 있습니다. dSpace는 자동차영역에서 그만큼 길고 자동차 ECU설계와 복잡하게 연결되어 있기 때문에 이 분야에서 트렌드가 매우 좋습니다.


    >


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


    >


    결론은 당신의 머리를 주변에 있는 수많은 소프트웨어입니다. 그들 모두를 배우려고 하는 것은 어리석은 11것입니다. 원하는 영역을 선택하기만 하면 해당 영역에서 적어도 자신의 도구를 사용할 수 있습니다. 자율주행차가 큰 기업의 역할은 또한 소프트웨어/기술과 같은(orlikesoftware/skill) 조건을 많이 사용한다는 점입니다. 이것은 유사 툴 중 어느 쪽인가의 자신을 알면 기술이전이 가능하다는 것을 의미할 것이다.그 도구를 배우기 위해 어디로 가는 겁니까? 툴의 특성에 따라 달라집니다. 오픈 소스 소프트웨어는 1반 적과 환상적인 커뮤니티를 가지고 있어 많은 사용자가 자율 학습을 하는 것이다. 독점툴은대학또는지속적인교육프로그램을통해서배울수있습니다. 직장에서 공부만 몇개의 툴이 있습니다. ​ Udacity's Self Driving Car Nanodegree Program(유료, 2단계 이용 가능)과 MIT의 Lex Fridman의 Driving Cars(무료, 자기 학습)Deep Learning 같은 몇가지 훌륭한 온라인 프로그램이 있슴니다.우리가 놓친 것이 있으면 가르쳐 주세요. 그리고 행복한 코딩을 하시길 바랍니다인터럽트가 좀 많은 것에 대해서 복잡하게 느껴질 수 있지만 자율주행차 개발에 필요한 소프트웨어를 세분화하여 소개하고 있는 글입니다. 아까도말씀드렸듯이각항목마다대표적인소프트웨어를소개하고그중에서도가장많이사용되는것을아주간단하게소개한다는내용이었습니다. 그러나 해당 분야에서 1 하는 사람이 보면 어느 프로그램인지는 알 수 있을 것이라고 생각할 것이다. 물론제가제대로이해못해서설명을한것도있을테니까요. 잘못된 정보가 있으면 알려주세요...우리가 뉴스에서 보기에는 몇 개의 센서를 달고, 컴퓨터를 설치해서 움직이는 정도밖에 생각하지 않았다면, 이번 글을 통해 정예기에서 많은 소프트웨어가 자율주행차를 개발하는 데 사용되고 있다는 것을 알 수 있는 기회였을 겁니다. 위에서 말한 것을 간단하게 정리해 봐도 설계, 시뮬레이션, 배포, 컨트롤러 프로그램, AI, 센서 프로그램, 데이터 관리, 프로그램 관리 등으로 분류할 수 있을 것 같습니다. 물론 각각의 항목에서도 보다 세분화될 수 있겠죠. 이 중 자신을 제대로 하기도 쉽지 않을 겁니다. 정예기 많은 소프트웨어 엔지니어가 필요한지 알 수 있을 겁니다. 이제는 하드웨어뿐만 아니라 소프트웨어를 중앙으로 생각하고 판단할 수 있는 기반이 되어 있지 않으면 전체적으로 시스템에 대해 이해하기 어렵습니다. 우리는 최근까지 하드웨어 가운데 세상에서 살았어요. 요즘은 물론 그렇다고 생각합니다. 자동차 분야 경영진도 당장의 시장성만 판단한다면 하드웨어에 집중할 수도 있다. 하지만 그 후의 자동차 시장의 전천을 생각한다면 소프트웨어의 중요성을 생각하지 않을 수 없을 것입니다. 단지 자동차 제어를 위한 소프트웨어 뿐만이 아니라, 그 상위 층의 소프트웨어를 생각해야 할 것이다.오늘날 세계는 하드웨어보다 소프트웨어가 움직이는 세상이라고 해도 과언이 아닐 것입니다. 물론 관련된 1를 하고 본 적이 없는 분들이 느낄 어떤 sound인가할 수도 있지만, 바로 여러분이 정보를 얻은 인터넷이라는 것도 소프트가 움직이고 있습니다. 여러분은 단지 1번 클릭으로 원하는 것을 얻고 계시지만요 그것을 실현하기 위해서 수많은 소프트웨어 엔지니어가 밤을 새며 더 사용 편의성이 높은 기술을 개발하고 있습니다. 그러나 우리 자신의 경우는 아직 손에 잡히지 않은 것에 대해 가치를 부여하는 데 인색함이 분명할 것이다. 눈에 보이는 것에 대해서는 큰 가치를 가지고 이야기하지만, 그것을 움직이는 것에 대해서는 많은 사람들이 알지 못할 것이다. 자세히 생각해 보면 이제 여러분 주변에 소프트웨어가 없는 것이 얼마나 자신 있는지 생각해 보면 좋을 것 같습니다. 다만 여러분이 생각하는 자동차를 생각하면 표준 쇳덩어리에 고무타이어를 달아 엑셀을 밝히면 가고 브레이크를 밝으면 멈추는 기계덩어리라고 생각할 수 있습니다. 하지만 여러분이 하는 동작은 자기 자신을 모두 소프트웨어가 제어하고 있다는 것입니다. 현재 자동차는 기계라고 하기에는 그 안에 들어 있는 소프트웨어가 자신도 많습니다. 얼마나 심해서 자동차를 해킹할 수 있다는 이야기를 하고 있는 거예요. 실제로 그런 1도 있거나 하는 것이다. 그리고 세계의 모든 전자기기에는 그 안에 소프트웨어가 있어서 제어를 하고 있습니다. 하물며 가장 원시적이라고 생각되는 전등을 켜고 끄는 것까지 소프트웨어로 제어하려고 합니다. 나는 개인적으로 아직도 백열전구가 스위치를 켜는 것이 나쁘지 않다고 생각한다. 하지만 곧 IoT시대가 좀 현실화된다면 단순한 명령으로 수많은 물건을 제어할 수 있는 시대가 오지 않을까 싶다. 이 모든 것이 소프트웨어가 있어야 가능한 1입니다.이렇게 소프트웨어는 여러분들이 생각하는 것보다 더 가까이 있습니다. 여러분들이 인지하지 못할 뿐이에요. 자율주행차는 현재 자동차보다 더 많은 소프트웨어를 사용하고 있는 것입니다. 가장 큰 이유 중 하나가 기존에는 단순히 자동차의 상태와 상황을 파악하고 제어하면 됐지만 지금은 자동차 주변 상황과 상황에 맞게 가장 적절한 움직임을 보여야 하기 때문입니다. 이 모든 것을 소프트웨어로 해야 하기 때문에 뭔가 큰 소프트웨어 덩어리가 그 안에 있어야 하지 않을까요? 그러나 자율주행차는 단순히 자동차 자체의 움직임뿐만 아니라 주변과의 관계를 맺는 수많은 소프트웨어와도 연결돼야 한다. 그래서 많은 대기업에서는 자율주행차를 내용하면서 자동차를 언급하지 않습니다. 그것을 어떻게 연결하고 운영하는지에 대해서 내용을 담고 있습니다. 즉 자동차를 판매하는 것이 아니라, 그것의 근본적인 목적성에 의해 접근했다고 말할 수 있을 것입니다. 바로Mo빌리티입니다. 이런 이유로 네이버가 자율주행차를 소개하면서 SK, KT 등 통신사들이 자율주행차를 홍보하고 있습니다. 아직 우리나라의 자율주행차에 대해 말하는 것은 익숙하지 않은 것 같지만, 우리는 자율주행을 위한 모든 환경을 갖추고 있는 것은 확실하다. 이런 환경에서 자율주행차 개발을 포기해서는 안됩니다. 자율주행은 앞 세대의 교통 환경에 가장 중요한 위치에 있는 것이 분명하기 때문입니다.늘 그랬듯이 저도 끼어드는 게 좀 길었네요. 소프트웨어의 내용을 하고 있으면, 조금 흥분해서...​ ​ ◆"자율 주행 자동차 엔지니어가 사용하는 소프트웨어는 무엇 1? "은 아래 연결로 갈 수 슴니다.


    p.s 검색으로 보시고 만약 원하시는 말을 못보신다면 '태그' 역시 '검색'을 해보시면 더 많은 자료를 찾을 수 있습니다. 그래도 뭐 찾을 게 없으시면 저한테 연락 주시면 (이메일, 편지) 제가 아는 범위 내에서 도와드리고 싶습니다. 부담 갖지 않으셔도 됩니다.Over the Vehicle!!!참고 자료



    댓글

Designed by Tistory.