AVS: 자율 시각화 시스템
AVS는 자율 차량 인식, 동작 및 계획 데이터를 설명하고 시각화하기 위한 새로운 표준으로, 탐색, 상호 작용 및 가장 중요한 것은 해당 데이터를 사용하여 중요한 개발 결정을 내릴 수 있는 애플리케이션을 구축할 수 있는 강력한 웹 기반 툴킷을 제공합니다.
AVS 프로젝트는 자율주행 엔지니어와 운영자가 자율주행 시스템 동작과 성능을 탐색, 분석, 비교하는 데 사용하는 애플리케이션과 워크플로우를 위해 설계되었습니다.
독립형 표준화된 시각화 계층인 AVS를 사용하면 개발자는 자율주행 차량을 위한 맞춤형 시각화 소프트웨어를 구축할 필요가 없습니다. AVS 추상화 시각화를 통해 개발자는 드라이브 시스템, 원격 지원, 매핑 및 시뮬레이션을 위한 핵심 자율성 기능에 집중할 수 있습니다.
우리는 두 가지 주요 부분을 중심으로 시스템을 구축했습니다. XVIZ는 데이터(관리 및 사양 포함)를 제공하는 반면 streetscape.gl은 웹 애플리케이션을 구동하는 구성 요소 툴킷입니다.
AVS의 구성 요소
XVIZ
우리는 자율 시스템에서 생성된 데이터에 대한 공식적이고 유연한 사양이 필요했습니다. 즉, 데이터 형식이 진화하는 인프라와 통합되고, 여러 클라이언트에 걸쳐 준수되며, 데이터를 효율적으로 관리하는 데 필요한 제어 및 바인딩을 정의할 수 있을 만큼 소스에 충분히 가까워질 수 있었습니다.
XVIZ는 시간에 따라 변화하는 장면에 대한 스트림 지향 보기와 선언적 사용자 인터페이스 디스플레이 시스템을 제공합니다. 마치 영상을 녹화하듯이 그 시점의 세상 상태를 무작위로 찾아 이해할 수 있다. HTML 문서와 마찬가지로 프레젠테이션은 자체 조사를 허용하는 스키마에 따라 집중되고 구조화됩니다. 그러나 XVIZ를 사용하면 별도의 스트림 업데이트를 단일 개체로 결합하여 데이터를 쉽게 탐색하고 조사할 수 있습니다.
XVIZ 스트림은 특정 기본 유형으로 특정 시간에 발생하는 일련의 개별 업데이트입니다. 프리미티브는 LiDAR 포인트 클라우드, 카메라 이미지, 객체 경계, 궤적, 시간 경과에 따른 차량 속도, 예측 계획 등의 정보를 설명할 수 있는 객체입니다. 사용자에게 표시를 단순화하기 위해 이러한 객체는 개별적으로 스타일을 지정하거나(스트림 수준 포함) 스타일 클래스를 할당할 수 있습니다.
XVIZ는 스트림, 해당 유형, 상대 변환, 선언적 UI 패널 및 스타일 클래스를 나열하는 별도의 메타데이터 섹션을 사용하여 계층적 이름 지정을 통해 스트림을 구성합니다. 그런 다음 사용자 인터페이스는 개체에 대한 그래픽 패널을 데이터와 함께 묶어 사용자에게 YAML을 통해 일련의 레이아웃 및 디스플레이 구성 요소를 구성할 수 있는 제어 기능을 제공합니다.
streetscape.gl
streetscape.gl은 XVIZ 프로토콜의 데이터를 사용하는 웹 애플리케이션을 구축하기 위한 툴킷입니다. 3D 뷰포트, 차트, 테이블, 비디오 등에서 XVIZ 스트림을 시각화하기 위한 즉시 사용 가능한 구성 요소를 제공합니다. 스트림, 좌표계, 카메라, 동적 스타일링, 3D 개체 및 교차 구성 요소와의 상호 작용 등의 시간 동기화와 같은 일반적인 시각화 문제를 해결하므로 사용자는 자율 차량 소프트웨어 자체를 구축하는 데 더 많은 시간을 투자할 수 있습니다.
렌더링 성능은 streetscape.gl의 최우선 목표입니다. React와 Uber의 성숙한 WebGL 기반 시각화 플랫폼을 기반으로 구축된 우리는 수십만 개의 형상을 지원하는 장면과 실시간 재생 및 원활한 상호 작용을 지원할 수 있습니다.
결합 가능성은 streetscape.gl 디자인의 핵심이기도 합니다. 분류, 라벨링, 디버깅, 원격 지원, 장면 편집 등 다양한 사용 사례를 지원하는 내부 시각화 플랫폼에 대한 작업을 통해 우리는 스타일과 확장성이 뛰어난 구성 요소를 설계했습니다. 고유한 워크플로우에 맞춰진 경험입니다.
AVS의 차이점
AVS는 개방형 모듈식으로 설계되었으며 개발 초기부터 내부 팀의 기여를 환영하여 디커플링을 가능하게 했습니다. 구조적으로는 자율 스택 구성 요소 간의 결합이 최소화되고 데이터 교환에 대한 명확한 정의를 제공하는 계층형 접근 방식을 제공합니다. 각 레이어는 시스템 전체를 변경할 필요 없이 필요에 따라 발전할 수 있으며 특정 상황이나 사례에 맞게 레이어를 맞춤화할 수 있습니다.
이 기본 원칙은 AVS를 현재 솔루션과 차별화하는 데 도움이 됩니다. 특히 AVS의 아키텍처는 다음과 같은 이유로 차별화됩니다.
- 기본 플랫폼에서 데이터를 의도적으로 분리하도록 설계되었습니다.
- 제한적이고 작은 사양으로 인해 도구 개발이 더 쉬워집니다.
- 데이터 형식 요구 사항으로 인해 전송 및 처리 속도가 빨라집니다.
또한 엔지니어, 차량 운영자, 분석가 및 전문 개발자를 포함하여 자율 생태계의 모든 사람의 요구 사항을 충족하기 위해 AVS를 만들었습니다. 자율주행 엔지니어는 XVIZ를 사용하여 시스템을 쉽게 설명한 다음 제한된 오버헤드로 기대치를 테스트하고 시각화할 수 있습니다. 전문 개발자는 streetscape.gl을 사용하여 강력한 성능 특성과 단순화된 통합을 통해 데이터 소스에 구애받지 않는 애플리케이션을 신속하게 구축할 수 있습니다. 마지막으로 운영자는 여러 애플리케이션에서 비디오를 포함한 표준 시각적 형식으로 데이터를 볼 수 있으므로 보다 쉽게 협업하고, 지식을 이해하고, 심층적으로 분석하고, 데이터 품질에 대한 전반적인 신뢰를 얻을 수 있습니다.
이를 업계에 오픈 소스화함으로써 우리는 더 많은 사람들이 이 초기 아이디어 세트에 기여하고 이를 기반으로 구축하도록 장려합니다.
출처
'🗺️ GIS & RS > 📚 GIS (지리정보시스템)' 카테고리의 다른 글
[GIS] Fiona란? : 벡터 공간 데이터 처리 Python 라이브러리 (0) | 2024.06.11 |
---|---|
[GIS] PostGIS란? : PostgreSQL의 공간데이터 확장 기능 (0) | 2024.06.11 |
[GIS] deck.gl이란? 특징 / 활용 (0) | 2024.06.11 |
[GIS] Uber의 H3이란? : 지구를 육각형으로 나눈 체계 (0) | 2024.06.10 |
[GIS] Shapely란? : Python 공간분석 라이브러리 (0) | 2024.06.10 |
댓글