안녕하세요 청취자 여러분! 다시 시뮬레이션 대관원 프로그램 시간이 왔습니다! 오늘은 자율주행 시뮬레이션 산업에 대해 간략하게 소개하겠습니다.
먼저 자율주행에 시뮬레이션이 필요한 이유에 대해 이야기해보겠습니다. 몇 년 전 '당신이 하나라면'을 시청하면서 게스트 황란은 국민의 2/3가 받아들여야만 자율주행을 받아들이겠다고 말했는데, 이는 자율주행의 안전에 대한 일반 대중의 우려를 반영한 것입니다. 자율주행 알고리즘은 안전성을 보장하기 위해 대규모로 적용되기 전에 수많은 도로 테스트를 거쳐야 합니다. 그러나 자율 주행 시스템의 테스트는 매우 "비싸다". 시간과 자본 비용이 엄청나기 때문에 사람들은 가능한 한 많은 테스트를 컴퓨터 시스템으로 옮기고 시뮬레이션을 사용하여 자율 주행 시스템의 대부분의 문제를 폭로하고, 현장 도로 테스트 수요를 줄임으로써 우리의 일자리가 나타났습니다.
시뮬레이션 시나리오는 자율주행 시스템의 테스트 케이스입니다. 중국 자동차 기술 연구 센터의 분류에 따르면 자율 주행 테스트 시나리오는 다음과 같은 4가지 주요 범주로 나눌 수 있습니다. [자연 주행 시나리오] [위험한 작업 조건 시나리오] [표준 규제 시나리오] [매개변수 재구성 시나리오]: 자연 주행 시나리오 자연 주행 상태는 자율 주행 테스트 시나리오를 구축하는 데 가장 기본적인 데이터 소스입니다. 위험한 작업 조건 시나리오에는 주로 악천후 환경, 복잡한 도로 교통 및 일반적인 교통 사고가 포함됩니다. CIDAS 데이터베이스는 자율주행의 유효성을 검증하는 데 사용됩니다. 기본 테스트 시나리오는 자율주행차가 갖추어야 할 기본 기능을 테스트할 목적으로 기존 표준 및 평가 절차를 통해 테스트 시나리오를 구성하는 것입니다. 시나리오는 기존 시뮬레이션 시나리오를 매개변수화하고 완성하는 것입니다. 시뮬레이션 시나리오의 무작위 생성 또는 자동 재구성은 무제한, 확장 가능, 일괄 처리 및 자동화의 특성을 갖습니다.
씬 라이브러리 구축 과정은 크게 [데이터 수집] 즉, 실제 도로 데이터, 규제 데이터 등 [데이터 처리]: 데이터에서 특징을 추출하고 결합하여 시나리오를 구성하는 과정, 및 [애플리케이션 데이터]: 장면 라이브러리를 테스트하고 피드백을 제공합니다.
현재 자연스러운 운전 장면의 생성은 기본적으로 자동화될 수 있습니다. 수집 차량은 특정 형식에 따라 데이터를 수집하고, 알고리즘은 유용할 수 있는 주요 조각의 데이터를 필터링하고, 알고리즘은 자동차의 궤적을 계산하고 기타 주변 차량을 조각 데이터로 저장한 다음 OpenScenario 형식의 장면 파일과 같은 장면 설명 파일에 궤적을 작성합니다. 기존의 많은 시뮬레이션 소프트웨어는 이러한 방식으로 얻은 장면 파일을 시뮬레이션에 직접 사용할 수 있습니다. 이 경우 시뮬레이션 소프트웨어에서 복원되는 것은 실제 채굴 장면의 "로직"일 뿐이라는 점에 유의해야 합니다. 현장의 참가자는 시뮬레이션 소프트웨어의 3D 모델 라이브러리에 있는 차량 모델 "조끼"를 착용하고 있습니다. 실제 생활의 장면을 수행하고 있습니다. 즉, 이렇게 복원된 장면은 확실히 제어 알고리즘의 테스트를 만족할 수 있지만, 결국 전경 차량과 배경은 여전히 3차원 모델에 의해 재생되기 때문에 당시의 센서 감지 정보를 복원할 수 없습니다. 시뮬레이션 소프트웨어의. 이제 센서 감지 정보를 복원하려면 NERF를 적용하면 됩니다.
그렇다면 어떤 시뮬레이션 시나리오가 가치가 있을까요? 도로 테스트 차량을 통해 수집된 자연 주행 데이터의 복원은 실제 도로 상황에 가장 가깝고 무작위성이 높다고 여겨지지만, 현재의 도로 테스트는 여행을 따라가기에는 너무 오랜 시간이 걸린다고 할 수 있지 않습니까? 이를 위해서는 도로 테스트 데이터를 처리하고 교통 참가자의 신원을 추출한 다음 이를 재배열하고 결합하여 실제 데이터를 기반으로 임의의 장면을 형성해야 합니다.
예를 들어, 2019년 Baidu의 인기 논문에서는 AADS 시뮬레이션 시스템을 소개했습니다. 이 시스템에서는 라이더와 쌍안경 카메라가 장착된 자동차를 사용하여 거리를 스캔하여 자율 주행 시뮬레이션을 위한 모든 자료를 얻은 다음 자동으로 고장을 냅니다. 입력 푸티지를 배경, 장면 조명 및 전경 개체로 변환합니다. 뷰 합성 기술을 통해 정적 배경에서 시점을 변경하여 어떤 관점에서도 실제 이미지를 생성할 수 있으며 이를 통해 다양한 환경에서 걷는 자동차의 움직임을 시뮬레이션할 수 있습니다. 그렇다면 이러한 재구성 시나리오의 타당성을 어떻게 증명할 수 있을까요? 논문에서는 가상 장면과 실제 장면에서 인식 알고리즘의 인식 효과를 비교하여 평가하는 방법을 언급하고 있으며, 측정 도구를 평가하기 위해 측정된 개체의 성능을 활용하는 것도 흥미롭습니다. 나중에 자율주행에 적용된 일부 NERF 연구에서도 UniSim과 같은 이러한 아이디어 세트를 사용했습니다.
저는 개인적으로 자연 주행 데이터 시뮬레이션 시나리오가 아무리 효과적이더라도 일부 알고리즘 테스트에만 적합하다고 생각합니다. 이 방법을 어떻게 사용하더라도 주변 물체의 궤적이 기록되며 행동에 따라 변경할 수 없습니다. 차량의. 이는 영화와 게임의 차이와 같습니다. 영화 속 장면은 플레이만 가능하지만 게임에서는 상호작용에 따라 장면이 바뀔 수 있습니다.
아마도 가까운 미래에는 교통 흐름 시뮬레이션과 실제 데이터가 결합되어 무작위 장면 생성을 통해 실제 교통 상황과 일치하고 차량 동작에 따라 변경될 수도 있는 시뮬레이션 장면을 일괄 생성할 수 있습니다.
앞서 이야기한 Scene 라이브러리는 자율주행 시뮬레이션 테스트를 위한 데이터를 준비하는 작업이라고 할 수 있으므로, 시뮬레이션 개발 작업은 툴을 만들거나 개선하는 작업입니다.
시뮬레이션 개발에는 아마도 다음과 같은 측면이 포함될 것입니다.
마지막으로 더 높은 수준의 요구 사항이 있는 8번째 사항이 있을 수 있다고 생각합니다. 예를 들어 테스트한 개체가 자율 주행 기능 프레임워크의 일부일 뿐이라면 어떻게 될까요? 오픈 소스 알고리즘을 사용하여 나머지를 채우고 "폐쇄 루프"를 실행할 수 있습니까?
자율주행 시뮬레이션 테스트에 필요한 데이터와 도구를 갖춘 다음 단계는 시뮬레이션 테스트입니다. 오늘은 주로 몇 가지 일반적인 시뮬레이션 테스트 링크를 소개합니다.
이전 섹션에서 우리 산업 전반을 소개하는 내용은 모두 제가 이 섹션에서 알아낸 코끼리입니다. 우리가 매일 하는 일에 대해 전반적으로 이야기하겠습니다. 물론 이러한 일일 작업은 두 번째 및 세 번째 섹션에 포함됩니다.
또 다른 포인트 6. [요구사항 분석]: 시뮬레이션 개발 엔지니어는 자신이 가장 잘 사용하는 도구를 아는 사람이어야 합니다. 따라서 고객(내부 및 외부 모두)이 새로운 요구 사항을 갖게 되면 시뮬레이션 개발 엔지니어는 기술 솔루션을 설계하고 테스트 대상 개체의 요구 사항과 특정 조건을 기반으로 소프트웨어 및 하드웨어 요구 사항과 프로젝트 계획을 제안할 수 있습니다. 따라서 때로는 제품 관리 작업과 프로젝트 관리 작업을 모두 수행해야 하는 경우도 있습니다.
"기술 스택"이라는 단어가 매우 낯설게 들리지만 사실 이 직위는 모든 것을 알아야 합니다. 오래 전에 응급실 의사가 자신을 비웃는 TV 시리즈를 봤습니다. 우리는 뱀 기름과 같고 다른 외과 의사는 결코 변하지 않는 사람들입니다. 나는 항상 시뮬레이션 엔지니어가 병원의 응급 의사와 같다고 생각했습니다. 어떤 알고리즘을 테스트할지, 이 알고리즘을 제외한 모든 것(내비게이션 및 위치 지정, 제어 계획, 데이터 처리, 매개변수 보정 등)을 준비해야 합니다. 천문지리, 의술, 점성술, 금화, 심사단, 버드나무... 자세한 설명을 요구할 필요도 없고, 알고리즘 테스트 요구사항을 빠르게 충족시키는 것이 가장 중요합니다.
이런 "전체적인 관점"이 시뮬레이션 엔지니어의 장점이지만, 알고리즘에 대한 진정한 이해가 있어야만 알고리즘 개선에 진정으로 도움이 될 수 있는 시뮬레이션 작업을 할 수 있고 더 나아갈 수 있습니다. 너무 멀리 갔으니 다시 가져오자:
위 내용은 제 개인적인 요약입니다. 동료들이 여기에 추가할 수 있습니다!
기사의 완성도를 위해 이 섹션에서는 시중에서 일반적으로 사용되는 시뮬레이션 소프트웨어 몇 가지를 간략하게 소개하겠습니다(실제로 광고가 아닙니다! 목록에 없다고 해서 낙담하지 마세요).
마지막으로 lgsvl 하나 더: 원래 lgsvl의 장점은 Apollo와 통합이 더 잘된다는 점인데, 공식 lgsvl이 이 프로젝트를 포기했다고 들었으니 이 함정을 버리시길 권합니다.
처음 5개 섹션의 소개를 통해 스마트 스쿨 학생들은 이미 자율주행 시뮬레이션 엔지니어가 되기 위한 학습 경로를 이해할 수 있다고 믿습니다. 그리고 첫 5개 섹션의 내용을 비판함으로써, 젊은 동료들도 발전하는 방법을 배울 수 있습니다. 그러나 이 섹션에서 나는 이와 관련하여 여전히 피상적인 이해를 씁니다.
전에 너무 많이 말했지만, 자율주행 시뮬레이션은 컴퓨터/제어/로봇/기계/자동차를 포함하되 이에 국한되지 않는 다양한 전공의 학생들을 받아들일 수 있는 다학제적 분야라는 것도 알 수 있을 것 같습니다. /전력전자 등
경험과 기술 측면에서 몇 가지 직업 요구 사항을 나열하려고 합니다.
현재 자율주행 산업은 큰 변동을 겪고 있지만, 요약하면 시뮬레이션 엔지니어를 활용할 수 있는 주요 기업 유형은 다음과 같습니다. 애플리케이션 성형 시뮬레이션 소프트웨어를 주로 통합하는 OEM이지만 기본적으로 새로운 세력은 자체 연구 수행, 즉 알고리즘의 Tier 1 제공업체도 대부분 자체 개발한 시뮬레이션일 수 있습니다. 시뮬레이션 소프트웨어 회사는 중국에서 이 분야에서 이제 막 시작했으며 기본적으로 스타트업입니다.
이 섹션의 끝에서는 전통적인 기계에서 "전환"한 경험에 대해 이야기하겠습니다. 제가 석사학위를 취득한 학교는 트랜스코딩 문화가 강한 편입니다. 제가 다니는 기계대학원에 입학한 중국인 학생 중 10명 중 78명은 졸업 후 컴퓨터 업계에 종사하고 있었습니다. 상대적으로 느슨한 과목 선택 시스템으로 인해 학생들은 컴퓨터 과학부에서 가능한 한 많은 과목을 수강하는 것이 좋습니다. 그래서 그 2년 동안 해시계를 유지하기 위해 관유를 태웠고 가난이 일상이 되었습니다. 그런데 취업을 위해 시험에 합격해야 했는지는 기억이 나지 않습니다. 한마디로, 기계는 어떻게 컴퓨터로 변환됩니까? 컴퓨터 과학에서 절반 학위를 취득하세요. 사실 그 당시에는 기계공뿐만 아니라 모든 전공이 바뀌고 있었고, 그것은 중국 학생들뿐만 아니라 전 세계 사람들이었습니다.
하지만 돌이켜보면 내가 같은 상황에 있지 않다는 걸 깨달았고, 그래서 변화를 위한 절호의 기회를 놓쳤습니다. 자율 학습의 경우 훨씬 더 어렵습니다. 가장 중요한 것은 시간이 없다는 점이며 효율적인 학습 자료와 방법이 필요합니다. 따라서 상대적으로 말하면 온라인 수업이 더 효율적이며 결국 지도해 줄 교사가 있습니다. Coursera의 강좌는 좋지만 상대적으로 비용이 많이 드는 것 같습니다. 최근에는 오픈 소스 네트워크 리소스가 점점 더 많아지고 있지만, 수강하는 과정이 너무 세련되지는 않았습니다. 결국 컴퓨터가 가장 실용적이고 실천하기 가장 쉽습니다. 데이터 구조, 알고리즘, C++ 입문서 등 고전적인 컴퓨터 서적도 많이 있습니다. 저는 한 번도 읽지 않은 책도 있습니다.
사실 가장 쉬운 변신 방법 중 하나는 컴퓨터 관련 업무에 직접 참여하는 것이라고 생각합니다. 수요를 늘리는 가장 빠른 방법은 위에서 언급한 학습 방향과 시간 문제를 해결하는 것입니다. 다만, 이로 인해 성능 미달의 문제가 발생한다면 언급하지 않은 척 해주세요.
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의 연구 프로젝트는 아직 초기 단계이지만 하드웨어의 가속화와 함께 딥 러닝의 진행 속도는 점점 빨라지고 있습니다.
정말 다양하게 썼는데, 마지막에는 아직도 생각나는 게 있습니다.
시뮬레이션 개발의 함정은 무엇인가요? 기술적 함정은 여기서 논의되지 않지만, 여기에는 몇 가지 전반적인 생각이 있습니다. 즉, 의미 없는 일에 너무 몰두하고 있지는 않은지 주의해야 합니다. 서로 다른 사람들을 위해 유사한 프로젝트를 수행하는 것은 중요하지 않습니다. 이미 만들어진 도구를 사용하지 않고 자체 연구를 수행해야 한다면 각 프로젝트를 완료하는 것은 가치가 있습니다. 계산해보면, 특정 도구에 대한 의존에서 벗어나는 것은 나중에 불합리한 것으로 판명된 많은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!