>기술 주변기기 >일체 포함 >자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

PHPz
PHPz앞으로
2023-10-17 11:17:011280검색

안녕하세요 청취자 여러분! 다시 시뮬레이션 대관원 프로그램 시간이 왔습니다! 오늘은 자율주행 시뮬레이션 산업에 대해 간략하게 소개하겠습니다.

먼저 자율주행에 시뮬레이션이 필요한 이유에 대해 이야기해보겠습니다. 몇 년 전 '당신이 하나라면'을 시청하면서 게스트 황란은 국민의 2/3가 받아들여야만 자율주행을 받아들이겠다고 말했는데, 이는 자율주행의 안전에 대한 일반 대중의 우려를 반영한 ​​것입니다. 자율주행 알고리즘은 안전성을 보장하기 위해 대규모로 적용되기 전에 수많은 도로 테스트를 거쳐야 합니다. 그러나 자율 주행 시스템의 테스트는 매우 "비싸다". 시간과 자본 비용이 엄청나기 때문에 사람들은 가능한 한 많은 테스트를 컴퓨터 시스템으로 옮기고 시뮬레이션을 사용하여 자율 주행 시스템의 대부분의 문제를 폭로하고, 현장 도로 테스트 수요를 줄임으로써 우리의 일자리가 나타났습니다.

1. 시뮬레이션 시나리오

시뮬레이션 시나리오는 자율주행 시스템의 테스트 케이스입니다. 중국 자동차 기술 연구 센터의 분류에 따르면 자율 주행 테스트 시나리오는 다음과 같은 4가지 주요 범주로 나눌 수 있습니다. [자연 주행 시나리오] [위험한 작업 조건 시나리오] [표준 규제 시나리오] [매개변수 재구성 시나리오]: 자연 주행 시나리오 자연 주행 상태는 자율 주행 테스트 시나리오를 구축하는 데 가장 기본적인 데이터 소스입니다. 위험한 작업 조건 시나리오에는 주로 악천후 환경, 복잡한 도로 교통 및 일반적인 교통 사고가 포함됩니다. CIDAS 데이터베이스는 자율주행의 유효성을 검증하는 데 사용됩니다. 기본 테스트 시나리오는 자율주행차가 갖추어야 할 기본 기능을 테스트할 목적으로 기존 표준 및 평가 절차를 통해 테스트 시나리오를 구성하는 것입니다. 시나리오는 기존 시뮬레이션 시나리오를 매개변수화하고 완성하는 것입니다. 시뮬레이션 시나리오의 무작위 생성 또는 자동 재구성은 무제한, 확장 가능, 일괄 처리 및 자동화의 특성을 갖습니다.

씬 라이브러리 구축 과정은 크게 [데이터 수집] 즉, 실제 도로 데이터, 규제 데이터 등 [데이터 처리]: 데이터에서 특징을 추출하고 결합하여 시나리오를 구성하는 과정, 및 [애플리케이션 데이터]: 장면 라이브러리를 테스트하고 피드백을 제공합니다.

현재 자연스러운 운전 장면의 생성은 기본적으로 자동화될 수 있습니다. 수집 차량은 특정 형식에 따라 데이터를 수집하고, 알고리즘은 유용할 수 있는 주요 조각의 데이터를 필터링하고, 알고리즘은 자동차의 궤적을 계산하고 기타 주변 차량을 조각 데이터로 저장한 다음 OpenScenario 형식의 장면 파일과 같은 장면 설명 파일에 궤적을 작성합니다. 기존의 많은 시뮬레이션 소프트웨어는 이러한 방식으로 얻은 장면 파일을 시뮬레이션에 직접 사용할 수 있습니다. 이 경우 시뮬레이션 소프트웨어에서 복원되는 것은 실제 채굴 장면의 "로직"일 뿐이라는 점에 유의해야 합니다. 현장의 참가자는 시뮬레이션 소프트웨어의 3D 모델 라이브러리에 있는 차량 모델 "조끼"를 착용하고 있습니다. 실제 생활의 장면을 수행하고 있습니다. 즉, 이렇게 복원된 장면은 확실히 제어 알고리즘의 테스트를 만족할 수 있지만, 결국 전경 차량과 배경은 여전히 ​​3차원 모델에 의해 재생되기 때문에 당시의 센서 감지 정보를 복원할 수 없습니다. 시뮬레이션 소프트웨어의. 이제 센서 감지 정보를 복원하려면 NERF를 적용하면 됩니다.

그렇다면 어떤 시뮬레이션 시나리오가 가치가 있을까요? 도로 테스트 차량을 통해 수집된 자연 주행 데이터의 복원은 실제 도로 상황에 가장 가깝고 무작위성이 높다고 여겨지지만, 현재의 도로 테스트는 여행을 따라가기에는 너무 오랜 시간이 걸린다고 할 수 있지 않습니까? 이를 위해서는 도로 테스트 데이터를 처리하고 교통 참가자의 신원을 추출한 다음 이를 재배열하고 결합하여 실제 데이터를 기반으로 임의의 장면을 형성해야 합니다.

예를 들어, 2019년 Baidu의 인기 논문에서는 AADS 시뮬레이션 시스템을 소개했습니다. 이 시스템에서는 라이더와 쌍안경 카메라가 장착된 자동차를 사용하여 거리를 스캔하여 자율 주행 시뮬레이션을 위한 모든 자료를 얻은 다음 자동으로 고장을 냅니다. 입력 푸티지를 배경, 장면 조명 및 전경 개체로 변환합니다. 뷰 합성 기술을 통해 정적 배경에서 시점을 변경하여 어떤 관점에서도 실제 이미지를 생성할 수 있으며 이를 통해 다양한 환경에서 걷는 자동차의 움직임을 시뮬레이션할 수 있습니다. 그렇다면 이러한 재구성 시나리오의 타당성을 어떻게 증명할 수 있을까요? 논문에서는 가상 장면과 실제 장면에서 인식 알고리즘의 인식 효과를 비교하여 평가하는 방법을 언급하고 있으며, 측정 도구를 평가하기 위해 측정된 개체의 성능을 활용하는 것도 흥미롭습니다. 나중에 자율주행에 적용된 일부 NERF 연구에서도 UniSim과 같은 이러한 아이디어 세트를 사용했습니다.

저는 개인적으로 자연 주행 데이터 시뮬레이션 시나리오가 아무리 효과적이더라도 일부 알고리즘 테스트에만 적합하다고 생각합니다. 이 방법을 어떻게 사용하더라도 주변 물체의 궤적이 기록되며 행동에 따라 변경할 수 없습니다. 차량의. 이는 영화와 게임의 차이와 같습니다. 영화 속 장면은 플레이만 가능하지만 게임에서는 상호작용에 따라 장면이 바뀔 수 있습니다.

아마도 가까운 미래에는 교통 흐름 시뮬레이션과 실제 데이터가 결합되어 무작위 장면 생성을 통해 실제 교통 상황과 일치하고 차량 동작에 따라 변경될 수도 있는 시뮬레이션 장면을 일괄 생성할 수 있습니다.

2. 시뮬레이션 개발

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

앞서 이야기한 Scene 라이브러리는 자율주행 시뮬레이션 테스트를 위한 데이터를 준비하는 작업이라고 할 수 있으므로, 시뮬레이션 개발 작업은 툴을 만들거나 개선하는 작업입니다.

시뮬레이션 개발에는 아마도 다음과 같은 측면이 포함될 것입니다.

  1. [시나리오 라이브러리]: 앞서도 많이 말했는데, 데이터 처리, 딥러닝, 데이터베이스 등과 같은 기술적인 내용이 포함될 것입니다.
  2. [인식]: 시뮬레이션 환경, 환경이 필요 정보가 알고리즘으로 전달되므로 카메라, 라이더, 밀리미터파 레이더, 초음파 레이더 등 다양한 센서 모델이 구축되어야 하며 물리적 원리 수준 모델과 이상 모델이 필요함 필요에 따라 설립됩니다. 센서 모델링을 제대로 수행하려면 센서의 작동 원리에 대한 이론적 연구, 물리적 프로세스의 컴퓨터 모델링 및 엔지니어링 구현 능력, 그리고 많은 양의 실험 데이터에 대한 지원이 필요합니다.
  3. [차량 역학]: 알고리즘에 의해 출력되는 제어 명령에는 제어 개체가 필요하므로 차량 역학 모델이 ​​필요합니다. 이는 역학 모델을 연구하는 전문 엔지니어가 필요합니다. 전문적인 동적 모델을 입력하거나 단순화할 수 있습니다.
  4. [미들웨어]: 알고리즘과 시뮬레이션 플랫폼 간, 서로 다른 기능을 가진 시뮬레이션 플랫폼 간 정보 교환이 필요하므로 많은 양의 인터페이스 개발이 필요합니다. 자율주행 연구 단계에서 가장 많이 사용되는 미들웨어는 ROS이고, 응용 단계에서 가장 많이 사용되는 미들웨어는 AUTOSAR 기반 미들웨어이다.
  5. 【시뮬레이션 엔진】: 일부 회사는 자체 개발한 시뮬레이션 플랫폼을 개발하기를 좋아하므로 물리 엔진은 모션과 충돌을 담당합니다. 일반적으로 사용되는 오픈 소스로는 ODE, Bullet, DART 등이 있습니다. 렌더링 엔진은 세 가지를 담당합니다. -차원 디스플레이이며 오픈 소스는 OGRE 및 OpenGL입니다. Unreal과 Unity는 물리 및 렌더링용 게임을 만드는 데 일반적으로 사용되는 두 가지 엔진 세트입니다.
  6. 【시뮬레이션 가속화】: 병렬 컴퓨팅, 클라우드 컴퓨팅 등이 포함됩니다. 여기에는 자동화된 테스트도 포함될 수 있습니다.
  7. [프런트엔드]: 시뮬레이션의 역학에 디스플레이 상호 작용 등이 필요할 수 있기 때문에 실제로 많은 시뮬레이션 개발 직위에서 프런트엔드를 모집하고 있는 것으로 보입니다.

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

마지막으로 더 높은 수준의 요구 사항이 있는 8번째 사항이 있을 수 있다고 생각합니다. 예를 들어 테스트한 개체가 자율 주행 기능 프레임워크의 일부일 뿐이라면 어떻게 될까요? 오픈 소스 알고리즘을 사용하여 나머지를 채우고 "폐쇄 루프"를 실행할 수 있습니까?

3. 시뮬레이션 테스트

자율주행 시뮬레이션 테스트에 필요한 데이터와 도구를 갖춘 다음 단계는 시뮬레이션 테스트입니다. 오늘은 주로 몇 가지 일반적인 시뮬레이션 테스트 링크를 소개합니다.

  1. [MIL Model-in-the-Loop]: 솔직히 말해서 Model-in-the-Loop와 Software-in-the-Loop의 차이를 잘 모르겠습니다(아마 MBSE의 등장과 관련이 있을 것 같습니다) 방법론). 좁은 의미에서 Model-in-the-Loop는 실제 코드를 작성하고 컴파일하기 전에 MATLAB과 같은 도구를 사용하여 알고리즘의 논리적 기능을 검증하는 테스트입니다. 직설적으로 말하면 Simulink 모델을 사용하여 알고리즘을 구현하고 시뮬레이션을 수행하는 것입니다.
  2. [루프 내 SIL 소프트웨어]: 실제 컴파일된 코드 소프트웨어를 사용하여 테스트합니다. SIL은 코드 생성에 문제가 있는지 여부만 감지합니다. HIL과 마찬가지로 SIL은 테스트 대상 개체에 대해 테스트 중인 기능과 관련되지 않은 일련의 운영 환경 및 기타 사전 가상 신호를 제공해야 합니다.
  3. [HIL 하드웨어 인 더 루프]: 광범위하게 말해서, 루프에서 하드웨어를 테스트하는 모든 방법을 HIL이라고 할 수 있으므로 특정 센서를 테스트하는 것도 HIL 테스트라고 할 수 있습니다. 좁은 의미에서는 일반적으로 컨트롤러 하드웨어 인 더 루프(Hardware-in-the-Loop)를 지칭합니다. 이는 실시간 컴퓨터를 사용하여 시뮬레이션 모델을 실행하여 제어 대상의 작동 상태를 시뮬레이션하고 I를 통해 테스트 중인 ECU에 연결합니다. /O 인터페이스를 통해 테스트 중인 ECU에 대한 포괄적이고 포괄적인 모니터링을 수행합니다. HIL부터 강력한 실시간 성능을 갖추려면 시뮬레이션 테스트가 필요합니다.
  4. [VIL Vehicle-in-the-loop]: Vehicle-in-the-Loop에는 일반적으로 두 가지 방법이 있는 것으로 알고 있습니다. 하나는 자율주행 시스템을 갖춘 차량을 테스트 벤치에 설치하고, 차량을 제거하는 것입니다. 차량에 부여되는 인센티브는 테스트벤치를 통해 시뮬레이션되며, 좋은 디스플레이 시스템이 추가되면 운전자로도 활용이 가능합니다. 루프 내 시뮬레이션 시스템; 다른 하나는 차량이 개방형 필드에서 주행할 수 있다는 것입니다. 시뮬레이션 시스템은 센서 입력을 제공하므로 차량이 개방형 필드에 있어도 알고리즘은 다양한 장면이 있다고 생각합니다. 일반적으로 차량 GPS는 시뮬레이션 시스템에 위치 및 자세 피드백을 제공하는 데 사용될 수 있습니다.

4. 일상 업무

이전 섹션에서 우리 산업 전반을 소개하는 내용은 모두 제가 이 섹션에서 알아낸 코끼리입니다. 우리가 매일 하는 일에 대해 전반적으로 이야기하겠습니다. 물론 이러한 일일 작업은 두 번째 및 세 번째 섹션에 포함됩니다.

  1. [인식]: 센서 모델을 구축하는 것은 필수적입니다. 감지 거리, 감지 각도 범위, 해상도, 왜곡 매개변수, 노이즈 매개변수, 설치 위치 등과 같은 각 센서의 일련의 매개변수에 주의해야 합니다. ., 하드웨어 통신 계약 등 다음으로, 사용된 시뮬레이션 소프트웨어 도구에 따라 기존 유형의 센서를 "구성"할지 아니면 시뮬레이션 소프트웨어를 기반으로 새로운 유형의 센서를 개발할지 여부가 결정됩니다. 알고리즘 모델을 훈련하거나 평가하기 위해 시뮬레이션은 2D/3D 경계 상자, 차선 및 기타 지도 정보, 2D/3D 점유 그리드 등과 같은 실제 값을 제공해야 하는 경우가 많습니다. 시뮬레이션 소프트웨어의 기존 기능이 충족할 수 없는 경우 요구 사항에 따라 엔지니어가 2차 개발을 수행하는 것도 필요합니다.
  2. [차량 동역학]: 차량 매개변수에 따라 전문 동역학 시뮬레이션 소프트웨어에서 차량 모델을 구성하는 것이 필요하며, 단순화된 공식을 기반으로 단순화된 운동학 및 동역학 모델을 직접 작성할 수 있는 능력도 필요합니다.
  3. [미들웨어]: 인터페이스 개발은 작업의 중요한 부분이며 테스트 대상 개체와 시뮬레이션 소프트웨어 간의 "번역"을 담당하고 다른 하나는 소프트웨어의 API 인터페이스를 사용하여 공동 시뮬레이션을 수행하는 것입니다. 장면 시뮬레이션과 같은 다양한 수준의 시뮬레이션 플랫폼 간은 차량 동역학 시뮬레이션 및 교통 흐름 시뮬레이션과 결합된 다음 자동화된 테스트 관리 소프트웨어의 스케줄링으로 통합됩니다.
  4. [시뮬레이션 가속]: 시뮬레이션 가속에 자동화된 테스트도 넣었습니다. 7x24시간 연속 테스트를 달성할 수 있다면 효율성을 높이는 방법이기도 하기 때문입니다! 여기에는 시뮬레이션 플랫폼의 자동화된 호출, 자동화된 스크립트 작성, 데이터 기록 및 사용 사례 요구 사항에 따른 데이터 평가가 포함됩니다.
  5. 【소프트웨어 개발】: 자체 개발한 시뮬레이션 소프트웨어가 필요한 기업은 주로 이러한 비즈니스 측면에 중점을 둡니다.

또 다른 포인트 6. [요구사항 분석]: 시뮬레이션 개발 엔지니어는 자신이 가장 잘 사용하는 도구를 아는 사람이어야 합니다. 따라서 고객(내부 및 외부 모두)이 새로운 요구 사항을 갖게 되면 시뮬레이션 개발 엔지니어는 기술 솔루션을 설계하고 테스트 대상 개체의 요구 사항과 특정 조건을 기반으로 소프트웨어 및 하드웨어 요구 사항과 프로젝트 계획을 제안할 수 있습니다. 따라서 때로는 제품 관리 작업과 프로젝트 관리 작업을 모두 수행해야 하는 경우도 있습니다.

5. 기술 스택

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

"기술 스택"이라는 단어가 매우 낯설게 들리지만 사실 이 직위는 모든 것을 알아야 합니다. 오래 전에 응급실 의사가 자신을 비웃는 TV 시리즈를 봤습니다. 우리는 뱀 기름과 같고 다른 외과 의사는 결코 변하지 않는 사람들입니다. 나는 항상 시뮬레이션 엔지니어가 병원의 응급 의사와 같다고 생각했습니다. 어떤 알고리즘을 테스트할지, 이 알고리즘을 제외한 모든 것(내비게이션 및 위치 지정, 제어 계획, 데이터 처리, 매개변수 보정 등)을 준비해야 합니다. 천문지리, 의술, 점성술, 금화, 심사단, 버드나무... 자세한 설명을 요구할 필요도 없고, 알고리즘 테스트 요구사항을 빠르게 충족시키는 것이 가장 중요합니다.

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

이런 "전체적인 관점"이 시뮬레이션 엔지니어의 장점이지만, 알고리즘에 대한 진정한 이해가 있어야만 알고리즘 개선에 진정으로 도움이 될 수 있는 시뮬레이션 작업을 할 수 있고 더 나아갈 수 있습니다. 너무 멀리 갔으니 다시 가져오자:

  1. [코드]: 주로 C++/Python이지만 프런트 엔드 디스플레이 부분과 관련된 경우 이해가 되지 않습니다. 일반적으로 요구 사항은 알고리즘 개발만큼 높지는 않지만 시뮬레이션 소프트웨어 개발을 전문으로 하는 경우에는 다른 문제입니다.
  2. 【ROS】: ROS는 자율 주행 및 로봇 알고리즘 연구 분야에서 여전히 피할 수 없는 부분이고 ROS 커뮤니티는 기성 도구를 많이 제공하기 때문에 이를 선택했습니다.
  3. 【차량 동역학】: 실제 차량 엔지니어만큼 많이 알 필요는 없지만 기본 원리는 알아야 합니다. 또한 다양한 좌표 변환(차량이 아닌 수학이 포함될 수 있음)에 능숙해야 합니다.
  4. 【센서 원리】: 자율주행차의 카메라, 라이다, 밀리미터파 레이더 등 다양한 센서가 어떻게 작동하는지, 출력 신호는 어떤 모습인지, 주요 매개변수는 무엇인지 알아보세요.
  5. [지도]: opendrive, openscenario 등 시뮬레이션 테스트 시나리오에서 사용되는 파일 형식을 이해해야 합니다. 센서 시뮬레이션을 위한 입력으로 정보를 추출해야 하는 경우가 있기 때문입니다.

위 내용은 제 개인적인 요약입니다. 동료들이 여기에 추가할 수 있습니다!

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

기사의 완성도를 위해 이 섹션에서는 시중에서 일반적으로 사용되는 시뮬레이션 소프트웨어 몇 가지를 간략하게 소개하겠습니다(실제로 광고가 아닙니다! 목록에 없다고 해서 낙담하지 마세요).

  1. CarSim/CarMaker: 이 두 소프트웨어는 모두 강력한 역학 시뮬레이션 소프트웨어이며 전 세계 OEM 및 공급업체에서 널리 사용되며 일부 도로 장면도 시뮬레이션할 수 있습니다.
  2. Vissim/SUMO: Vissim은 독일 PTV 회사에서 제공하는 세계 최고의 미세한 교통 흐름 시뮬레이션 소프트웨어입니다. Vissim은 다양하고 복잡한 교통 환경을 쉽게 구축할 수 있으며 시뮬레이션 장면에서 자동차, 트럭, 철도 및 보행자의 상호 작용 동작을 시뮬레이션할 수도 있습니다. SUMO는 대화형 편집을 통해 도로 추가, 차선 연결 관계 편집, 교차로 영역 처리, 신호등 타이밍 편집 등을 할 수 있는 오픈 소스 소프트웨어입니다.
  3. PreScan: Siemens가 인수한 알고리즘 생성 및 테스트를 위한 주요 인터페이스에는 MIL, SIL 및 HIL에 사용할 수 있는 MATLAB 및 Simulink가 포함됩니다.
  4. VTD: 상용 소프트웨어인 VTD는 도로 환경 모델링, 교통 장면 모델링, 날씨 및 환경 시뮬레이션, 간단하고 물리적으로 사실적인 센서 시뮬레이션, 장면 시뮬레이션 관리 및 고정밀 실시간 이미지를 포괄하는 강력한 신뢰성과 포괄적인 기능을 갖추고 있습니다. 렌더링 등 국내 OEM 업체들 사이에서 가장 많이 사용되는 시뮬레이션 소프트웨어는 VTD라고 해도 과언이 아니다. SIL에서 HIL 및 VIL까지 전체 주기 개발 프로세스를 지원할 수 있으며 개방형 모듈식 프레임워크는 타사 도구 및 플러그인과 쉽게 공동 시뮬레이션할 수 있습니다.
  5. CARLA/AirSim: UE에서 개발된 두 가지 오픈 소스 시뮬레이션 플랫폼도 Unity 버전을 출시했습니다. CARLA는 장면을 생성하고 고정밀 지도를 지원할 수 있으며 센서 및 환경의 유연한 구성을 지원하며 여러 대의 카메라, LiDAR, GPS 및 기타 센서를 지원하며 환경의 조명 및 날씨도 조정할 수 있습니다. Microsoft의 AirSim에는 드론과 차량의 두 가지 모드가 있습니다. 차량 모드의 기능은 정말 부족합니다. 환경과 차량 모델을 구축하기가 쉽지 않습니다. AirSim은 CARLA만큼 활발하지 않습니다. 앞으로 JD를 쓸 사람을 모집하는데 별로 쓸모가 없습니다. 또한, 국내 상신기술은 최근 CARLA를 기반으로 개발된 OASIS를 출시했는데, 이는 현재 오픈소스 CARLA의 향상된 버전이라고 볼 수 있다.
  6. 51SimOne/PanoSim: 이 두 가지는 국내 시뮬레이션 소프트웨어로, 장면 시뮬레이션 소프트웨어의 주요 기능을 충족할 수 있습니다.

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

마지막으로 lgsvl 하나 더: 원래 lgsvl의 장점은 Apollo와 통합이 더 잘된다는 점인데, 공식 lgsvl이 이 프로젝트를 포기했다고 들었으니 이 함정을 버리시길 권합니다.

6. 학습 경로

처음 5개 섹션의 소개를 통해 스마트 스쿨 학생들은 이미 자율주행 시뮬레이션 엔지니어가 되기 위한 학습 경로를 이해할 수 있다고 믿습니다. 그리고 첫 5개 섹션의 내용을 비판함으로써, 젊은 동료들도 발전하는 방법을 배울 수 있습니다. 그러나 이 섹션에서 나는 이와 관련하여 여전히 피상적인 이해를 씁니다.

전에 너무 많이 말했지만, 자율주행 시뮬레이션은 컴퓨터/제어/로봇/기계/자동차를 포함하되 이에 국한되지 않는 다양한 전공의 학생들을 받아들일 수 있는 다학제적 분야라는 것도 알 수 있을 것 같습니다. /전력전자 등

경험과 기술 측면에서 몇 가지 직업 요구 사항을 나열하려고 합니다.

  1. 코딩 능력: 시뮬레이션 클라우드 컴퓨팅, 클라우드 서버 및 기타 관련 개발을 수행하는 학생은 개발을 위한 C++/Go/Java 사용에 능숙해야 하며, 좋은 프로그래밍 습관이 있어야 하며, 친숙한 공통 디자인 패턴, 데이터 구조 및 알고리즘을 숙달해야 합니다. Linux 시스템, Docker 기술 및 Kubernetes 관련 지식과 클라우드 서비스 개발 경험을 바탕으로 높은 병렬성, 높은 재사용 및 높은 자동화를 갖춘 자체 개발 시뮬레이션 테스트 플랫폼을 목표로 합니다. 또한, 탄탄한 컴퓨터 기반 외에도 자체 개발 시뮬레이션 소프트웨어 포지션은 게임 엔진 개발 경험이 필요할 수 있으므로, 게임 개발에 종사하는 학생들은 자율주행 시뮬레이션(테크니컬 아트 포함)으로 전환할 수도 있습니다. 2차 개발 및 통합을 위해 기존 시뮬레이션 소프트웨어를 사용하는 것이 목표인 학생은 C/C++ 및 Python에 능숙해야 하며 Linux/ROS 개발에 익숙해야 합니다. 자동차 등급 미들웨어 개발 경험이 있으면 더 좋습니다. AUTOSAR와 같은.
  2. 소프트웨어 경험: 물론 자율주행 시뮬레이션 소프트웨어를 실제로 사용해 본 경험이 있다면 더할 나위 없이 좋지만, 대부분의 상용 소프트웨어는 매우 비싸기 때문에 이와 관련하여 학교 연구실이나 회사의 역량에 크게 의존합니다. 상용 소프트웨어 지원이 없는 상황에서 CARLA는 이제 오픈 소스 소프트웨어를 위한 최적의 솔루션이라고 생각합니다.
  3. 현장 지식: 저는 개인적으로 자율주행 시뮬레이션 엔지니어로서 알고리즘의 원리 구현의 모든 측면을 포함하여 자율주행 알고리즘을 심층적으로 이해하는 것은 불가능하다고 믿습니다. 우리는 더 나은 시뮬레이션을 합니다. 또한, 컴퓨터 전공자가 아닌 학생이라면 기계, 차량, 기계, 전자 등 이 분야의 전문과목을 잘 배우는 것도 매우 중요합니다. 놀랍고 항상 사용될 것입니다.

현재 자율주행 산업은 큰 변동을 겪고 있지만, 요약하면 시뮬레이션 엔지니어를 활용할 수 있는 주요 기업 유형은 다음과 같습니다. 애플리케이션 성형 시뮬레이션 소프트웨어를 주로 통합하는 OEM이지만 기본적으로 새로운 세력은 자체 연구 수행, 즉 알고리즘의 Tier 1 제공업체도 대부분 자체 개발한 시뮬레이션일 수 있습니다. 시뮬레이션 소프트웨어 회사는 중국에서 이 분야에서 이제 막 시작했으며 기본적으로 스타트업입니다.

이 섹션의 끝에서는 전통적인 기계에서 "전환"한 경험에 대해 이야기하겠습니다. 제가 석사학위를 취득한 학교는 트랜스코딩 문화가 강한 편입니다. 제가 다니는 기계대학원에 입학한 중국인 학생 중 10명 중 78명은 졸업 후 컴퓨터 업계에 종사하고 있었습니다. 상대적으로 느슨한 과목 선택 시스템으로 인해 학생들은 컴퓨터 과학부에서 가능한 한 많은 과목을 수강하는 것이 좋습니다. 그래서 그 2년 동안 해시계를 유지하기 위해 관유를 태웠고 가난이 일상이 되었습니다. 그런데 취업을 위해 시험에 합격해야 했는지는 기억이 나지 않습니다. 한마디로, 기계는 어떻게 컴퓨터로 변환됩니까? 컴퓨터 과학에서 절반 학위를 취득하세요. 사실 그 당시에는 기계공뿐만 아니라 모든 전공이 바뀌고 있었고, 그것은 중국 학생들뿐만 아니라 전 세계 사람들이었습니다.

하지만 돌이켜보면 내가 같은 상황에 있지 않다는 걸 깨달았고, 그래서 변화를 위한 절호의 기회를 놓쳤습니다. 자율 학습의 경우 훨씬 더 어렵습니다. 가장 중요한 것은 시간이 없다는 점이며 효율적인 학습 자료와 방법이 필요합니다. 따라서 상대적으로 말하면 온라인 수업이 더 효율적이며 결국 지도해 줄 교사가 있습니다. Coursera의 강좌는 좋지만 상대적으로 비용이 많이 드는 것 같습니다. 최근에는 오픈 소스 네트워크 리소스가 점점 더 많아지고 있지만, 수강하는 과정이 너무 세련되지는 않았습니다. 결국 컴퓨터가 가장 실용적이고 실천하기 가장 쉽습니다. 데이터 구조, 알고리즘, C++ 입문서 등 고전적인 컴퓨터 서적도 많이 있습니다. 저는 한 번도 읽지 않은 책도 있습니다.

사실 가장 쉬운 변신 방법 중 하나는 컴퓨터 관련 업무에 직접 참여하는 것이라고 생각합니다. 수요를 늘리는 가장 빠른 방법은 위에서 언급한 학습 방향과 시간 문제를 해결하는 것입니다. 다만, 이로 인해 성능 미달의 문제가 발생한다면 언급하지 않은 척 해주세요.

7. NERF 소개

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

NERF는 '데이터 폐쇄 루프', '대형 모델', '엔드 투 엔드' 등 떠오르는 키워드와 함께 자율주행 분야에 돌풍을 일으키고 있습니다. 불과 몇 년 만에 NERF는 더 이상 데뷔 당시의 단순한 MLP+볼륨 렌더링이 아닙니다. 해시 테이블, 복셀 그리드, 다차원 가우스 함수 등 공간 정보를 저장하는 다양한 캐리어가 있습니다. 새로운 이미징 방법도 있습니다. 끝없이 등장하고 있는 U-net, CNN, 래스터화... 자율주행의 방향은 NERF의 작은 응용 분야일 뿐입니다.

NERF를 자율주행 시뮬레이션에 적용하면 주로 다음과 같은 문제에 직면하게 됩니다.

자율주행 데이터 수집 방식으로 인해 장면의 범위가 "닫히지 않음"이 발생합니다. 실외 장면에는 원거리 뷰가 많이 포함됩니다. 이는 NERF의 공간 정보 저장에 대한 문제입니다. 자율 주행 장면에는 많은 수의 동적 객체가 포함되어 있으며 NERF는 동적 객체와 정적 객체(또는 전경 및 배경)를 분리할 수 있어야 합니다. 일반적으로 전송 기능이 없으며 각 장면마다 별도의 NERF 모델을 학습해야 할 수 있으며, NERF 학습은 여전히 ​​상대적으로 느리기 때문에 자율 주행 데이터에 NERF를 대규모로 적용하는 데 여전히 문제가 있습니다.

그러나 나는 여전히 NERF가 자율주행 시뮬레이션에 파괴적인 발전을 가져와 결국 시뮬레이션 인식 알고리즘의 영역 격차를 없애고 더 많은 일을 하게 될 것이라고 기대하고 믿습니다. 제가 배운 정보에 따르면 NERF는 최소한 다음과 같은 혁신을 가져올 것입니다.

NERF의 새로운 원근 이미지 합성 기능은 인식 알고리즘 교육 데이터 세트를 향상할 수 있습니다. 새로운 센서 내부 매개변수를 생성할 수 있습니다(센서 구성 변경과 동일). , 외부 사진, LiDAR 포인트 클라우드 및 매개변수(수정된 자체 차량 궤적) 아래의 기타 데이터는 인식 알고리즘에 대한 더 많은 훈련 데이터를 제공할 수 있습니다. 이와 관련하여 StreetSurf 및 UniSim과 같은 연구를 참조할 수 있습니다. 동적 개체를 편집할 수 있는 경우 향후 NERF는 간단한 드라이브 테스트와 WorldSim의 단점을 보완하기 위해 목표로 삼은 극한 상황과 무작위 상황 시나리오를 생성할 수 있습니다. NERF가 훈련 재구성과 도시 수준 장면의 실시간 렌더링을 동시에 효과적으로 해결할 수 있다면 NERF는 데이터 도메인 격차를 감지하는 문제 없이 XIL in-the-loop 시뮬레이션 테스트를 위한 플랫폼으로 완전히 사용될 수 있습니다. 또한 엔드투엔드(end-to-end) 알고리즘 개발을 촉진할 것입니다. 또한 NERF의 모델은 게임 엔진에 플러그인으로 삽입될 수도 있으므로(예: 3d Gaussian Splatting용 UE 플러그인이 출시됨) NERF의 거리 장면 재구성을 원래 WorldSim 시스템에 통합할 수 있습니다. . AIGC 방향의 대형 모델과 결합하면 NERF는 조명, 날씨, 물체 모양 및 동작 등을 임의로 편집할 수 있는 새로운 장면을 생성하는 데 더 많은 가능성을 갖게 됩니다.

그래서 시뮬레이션 엔지니어로서 동료들에게 NERF의 진행 상황에 세심한 주의를 기울일 것을 강력히 권합니다. NERF의 연구 프로젝트는 아직 초기 단계이지만 하드웨어의 가속화와 함께 딥 러닝의 진행 속도는 점점 빨라지고 있습니다.

8. 마지막에 쓴 글

정말 다양하게 썼는데, 마지막에는 아직도 생각나는 게 있습니다.

시뮬레이션 개발의 함정은 무엇인가요? 기술적 함정은 여기서 논의되지 않지만, 여기에는 몇 가지 전반적인 생각이 있습니다. 즉, 의미 없는 일에 너무 몰두하고 있지는 않은지 주의해야 합니다. 서로 다른 사람들을 위해 유사한 프로젝트를 수행하는 것은 중요하지 않습니다. 이미 만들어진 도구를 사용하지 않고 자체 연구를 수행해야 한다면 각 프로젝트를 완료하는 것은 가치가 있습니다. 계산해보면, 특정 도구에 대한 의존에서 벗어나는 것은 나중에 불합리한 것으로 판명된 많은 R&D 시도를 셀 수 없을 만큼 가치 있고, R&D의 실패도 가치가 있습니다. 그렇다면 "의미 없는" 일이란 정확히 무엇입니까? 이것은 의견의 문제이므로 잘 요약할 수 없습니다.

그리고 나는 이 자리에서 무엇을 할 수 있나요? 직장에서 측정되는 물체에 대한 깊은 이해가 있다면 특정 방향으로 알고리즘 개발 입장으로 전환해 볼 수도 있고, 로봇이나 드론의 시뮬레이션 개발도 고려해 볼 수 있습니다.

이동형 로봇과 자율주행이 비슷하다는 것은 말할 필요도 없습니다. 드론 산업은 확실히 자동차 산업만큼 크지는 않지만 검사, 항공 사진, 측량 및 매핑 등과 같은 착륙 지점이 이미 있습니다. UAV에는 장애물 회피, 경로 계획 등을 위한 자동 제어 알고리즘도 필요합니다. UAV에 사용되는 센서도 무인 차량의 센서와 유사하므로 시뮬레이션 테스트에는 공통점이 있다고 할 수 있습니다. UAV에도 풍부한 시각이 필요합니다. 이미지 및 레이더 포인트 클라우드와 같은 입력에는 보다 정교한 동적 모델 등이 필요합니다.

로봇 및 드론 시뮬레이션에 관심이 있는 학생은 오픈 소스 시뮬레이션 플랫폼 Gazebo(https://classic.gazebosim.org/)로 시작할 수 있습니다. 컴퓨팅 리소스에 대한 수요는 Nvidia의 Isaac만큼 높지 않습니다.

올해는 OSRF가 Willow Garage에서 독립한 지 11년이 되는 해로, 로봇 운영체제인 ROS와 Gazebo는 20년 이상의 개발 역사를 가지고 있습니다. Gazebo는 대학원 연구 그룹의 과학 연구 도구에서 현재 11개 릴리스와 7개의 2세대 점화 릴리스를 갖춘 독립적인 시뮬레이션 소프트웨어 도구로 점차 발전했습니다.

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

Gazebo는 ODE 및 Bullet과 같은 물리 엔진을 지원합니다. OGRE를 렌더링 엔진으로 사용하여 3차원 환경을 만들고 카메라 및 LiDAR와 같은 다양한 센서의 정보를 시뮬레이션합니다. 로봇 팔부터 바퀴 달린 로봇, 인간형 로봇까지. 더 중요한 것은 Gazebo가 자연스럽게 ROS 플랫폼에서 알고리즘에 대한 포괄적인 지원을 제공한다는 점입니다. 결국 데스크톱 전체 ROS 버전을 다운로드하여 설치하면 Gazebo도 함께 제공됩니다. 물론, 오픈 소스 소프트웨어로서 Gazebo는 기능이 균형을 이루고 있지만 모든 측면에서 거칠고 깊이가 부족합니다. 그러나 Taizu Changquan과 마찬가지로 Qiao Feng도 Juxian Village에서 사용할 때 여전히 다를 것입니다.

학교 다닐 때 가제보를 접하게 되었고, 이후 로봇 시뮬레이션 작업을 하다가 자율주행으로 전환하기 전까지 가제보를 사용했습니다. 마치 Gazebo와 저는 같은 반 친구였습니다. 그 당시 우리는 어리고 무지했습니다. 퇴근 후 그녀와 나는 다시 만나 관계를 재개하기로 결정했습니다. 우리는 이제 서른이 넘었으니 더 나은 발전을 원하므로 떠나겠습니다. 그녀... 이제 작별인사를 할 때 딱 한 마디만 하겠습니다: 오랜만이군요...

자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!

원본 링크: https://mp.weixin.qq.com/s/_bOe_g3mqoobJUbFS3SNWg

위 내용은 자율주행 시뮬레이션의 웅장한 모습! 자율주행 시뮬레이션 산업에 대해 이야기해보겠습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제