Connect with us

Uber выпустила открытый стандарт визуализации автономного транспорта AVS

Беспилотные автомобили

Uber выпустила открытый стандарт визуализации автономного транспорта AVS

Понимание того, что видит беспилотный автомобиль своими алгоритмами и сенсорами является ключевым фактором в разработке безопасного беспилотного решения. Мы уже имеем стандарты для дорожных знаков, светофоров и прочей инфраструктуры для помощи водителям в навигации, логичным было бы создать стандарт для разработчиков беспилотников описывающий правила визуализации данных с сенсоров, классификации объектов и прочих действий по интерпретации окружающей среды.

Сегодня мы рады сообщить что открываем исходный код переработанной и расширенной Системы Визуализации Беспилотников или Autonomous Visualization System (AVS) в качестве нового способа понимать и делиться данными своих беспилотных решений.

AVS это новый стандарт описывающий и визуализирующий данные perception (восприятия), motion (движения) и planning (планирования), позволяющий разработчикам беспилотных автомобилей создавать веб-решения для отладки, изучения и принятия важных решений по разработке автомобиля.

Будучи стандартизированным слоем визуализации AVS избавляет разработчиков от наобходимости создания custom-решений по визуализации внутреннего ПО автомобиля и позволяет сфокусироваться на ключевых подсистемах беспилотного решения.

Необходимость унифицированной визуализации

Большое количество организаций, включая технологические компании, сообщества, исследовательские организации, OEM-поставщиков и стартапы борются за лидерство на поприще беспилотного транспорта. Инструменты визуализации, отображающие восприятие окружающей среды автомобилем, являются одним из ключевых аспектов разработки безопасного беспилотного автомобиля. С ходом разработки появляются новые сценарии сортировки, симуляции, мапинга, безопасности, разметки и сбора данных. А путь к финальному автомобилю потребует совершенно новых инструментов и инфраструктуры для мониторинга, удаленного управления и поддержки.

В дополнении к стремительно изменяющимся техническим требованиям, инженерам-автономникам часто приходиться изучать сложные алгоритмы компьютерной графики и техники визуализации данных попросту для того, чтобы проверить свои решения. Отсутствие стандарта визуализации привело к тому, что инженеры начали создавать множество систем визуализации вокруг готовых фреймворков/библиотек для быстрой реализации. Однако, наш опыт говорит что такой подход приводит к крайне не гибкой системе визуализации которую очень сложно поддерживать

Мы делимся AVS с сообществом разработчиков беспилотников в надежде что этот инструмент позволит определить новый стандарт, а также ускорит появление безопасного автономного транспорта.

Визуализация мира в движении

Разработка беспилотного транспорта является активно развивающейся областью с постоянными изменениями. Новые сервисы, датасеты (особенно с лидара) требуют новых инструментов. В Uber есть несколько инженерных команд способных создать эти инструменты. Визуализация в вебе была для нас очевидной, так как она создавала возможности гибкой разработки между командами, упрощенный обмен информацией, кастомизацию и интеграцию с существующими сервисами.

Плюсы подобного подхода были очевидны, однако были и трудности с обеспечением производительности сравнимой с десктопной. Решение этих трудностей требовало новой абстракции для управления и описания сгенерированных данных используемых веб-приложением.

Учитывая эти требования, мы построили нашу систему вокруг двух ключевых элементов: XVIZ обеспечивающий данные (включая управление и спецификацию) и streetscape.gl обеспечивающий элементы визуализации.

XVIZ

Нам была необходима строгая и гибкая спецификация для данных генерируемых беспилотным автомобилем, чтобы данный формат мог быть легко интегрирован в меняющуюся инфраструктуру, работал на множестве клиентов и был достаточно близок по содержанию к исходным данным.   

Diagram of XVIZ flow
Высокоуровневый поток данных для XVIZ включает в себя энкодер и строитель на серверной стороне, а также декодер, буфер данных и систему синхронизации на клиентской стороне.

XVIZ обеспечивает поточно-ориентированный вид на меняющуюся сцену и декларативный интерфейс отображения. Как и с видеозаписью, мы можете перемещаться по временному отрезку и видеть состояние в конкретной точке времени. Как и HTML-документ представление сфокусировано и структурировано согласно схеме данных удобной для интроспекции. Однако, XVIZ также позволяет легко изучать массивы данных склеивая различные потоки данных в один объект.

Поток в XVIZ является набором дискретных обновлений происходящих в определенном времени и определенным типом примитива. Примитивы это объекты которые содержат описание информации такой как облако точек с лидара, изображения с камеры, границы объектов, траектории, скорость движения автомобиля на промежутке времени и прогнозирование движения. Для упрощения представления для пользователей эти объекты могут быть стилизованы индивидуально.

XVIZ организует потоки через иерархию имен с раздельным листингом потоков, их типов, декларативных UI панелей и классов стилей. Затем UI связывает графические панели с данными, предоставляя пользователю контроль над конфигурацией и отображением через YAML.

animated gif showing sensor data from autonomous vehicles
XVIZ’s data structure lets us toggle streams from the dataset.

streetscape.gl

Components of streetscape, including car, camera, trees, and plot
streetscape.gl предоставляет множество UI компонентов, включая камеру, плеер, объектную метку и графики.

streetscape.gl набор инструментов для создания веб приложений потребляющих данные в XVIZ протоколе. Продукт предлагает готовые компоненты визуализации XVIZ потоков в 3D виде, таблицах, графиках, видео и других видах. Также данный инструмент берет на себя основную головную боль по синхронизации потоков с различных датчиков.

Производительность рендеринга главная цель streetscape.gl. Созданный поверх React и WebGL-платформы визуализации Uber данный инструмент поддерживает проигрывание данные в realtime и плавный рендеринг всех данных.

Компонуемость также лежит в центре streetscape.gl. Опираясь на наш опыт разработки платформы визуализации Uber мы создали компоненты максимально стилизуемыми и расширяемыми, чтобы любая команда могла подстроить их под свои данные.

Чем же отличается AVS

AVS создан быть открытым и модульным, чтобы контрибьюторы со всего мира могли помочь нам в доработке. Архитектурно он обеспечивает многослойный подход где связанность между компонентами автономного стэка минимизирована и предлагает четкие критерии обмена данными. Каждый слой может изменяться по необходимости без серьезных изменений в системе, а слои могут быть привязаны к нужному контексту или заадче.

Также AVS отличается следующим:  

  • Он был спроектирован с намеренным разделение данных и низлежащей платформы
  • Его ограниченность и небольшие спецификации обеспечивают легкую разработку
  • Его требования к формату данных обеспечивают быструю передачу данных

Дополнительно, мы создавали AVS чтобы удовлетворить все требования автономной экосистеме, включая инженеров, страхующих водителей, аналитиков и разработчиков. Автономные инженеры могут легко описать свои системы с помощью XVIZ и затем протестировать и легко визуализировать их.

Что дальше

Публичный выпуск AVS лишь только начало. Совместно с партнерами вроде Voyage, Applied Intuition и open-source разработчиками мы планируем улучшить этот продукт большим количеством поддерживаемых источников данных и спецификаций (особенно поддержка ROS), оптимизации производительности, а также дополнительный функционал вроде side-by-side сравнения.

Rendered image of street and vehicles
Приложение AV Log Viewer позволяет нам анализировать работу автомобиля на перекрестках

Перевод поста из блога Uber ATG

Continue Reading
Комментировать

Еще по теме Беспилотные автомобили

Trending

Беспилотные автомобили

Секс в Tesla

Беспилотные автомобили

StarLine запускает OSCAR

To Top