Почему визуализация данных так важна в робототехнике

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

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

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

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

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

«Это вносит столь необходимый смысл и порядок в невероятно многомерную природу данных робототехники. Как точная наука, которой мы хотим, чтобы робототехника была, это по-прежнему в значительной степени субъективное упражнение, с бесчисленными человеческими суждениями, которые приближают нас на один шаг к нашей конечной цели — миру, в котором наша повседневная жизнь улучшена и обогащена технологиями робототехники»

Адриан Макнил соучредитель и генеральный директор Foxglove

Традиционная разработка программного обеспечения против разработки робототехники

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

Диагностика первопричины проблем в традиционной разработке программного обеспечения — относительно бинарный процесс: код либо делает, либо не делает то, что должен делать на данном этапе. Есть четкое ожидание того, что должно произойти в каждом возможном сценарии. 

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

С другой стороны, отладка проблем в разработке робототехники редко бывает такой линейной. Выяснение того, что пошло не так с робототехнической системой, обычно является гораздо более сложным и, следовательно, открытым процессом. Например, когда автономный мобильный робот (AMR) сталкивается с другим объектом, нет очевидного «пути кода» или виноватого. 

Есть бесчисленное множество причин, по которым это могло произойти, точно так же, как существует множество причин, по которым человек мог столкнуться с препятствием. Возможно, AMR не увидел препятствие, потому что оно было за углом, возможно, он неправильно рассчитал собственную траекторию, чтобы избежать столкновения. Причины даже не связаны с программным обеспечением — у AMR могли выйти из строя тормоза, вид с его камеры мог быть на мгновение закрыт чем-то.

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

Визуализация данных для робототехники

Чтобы решить эту сложность отладки, нужно новое поколение сложных инструментов для изучения многих аспектов данных робототехники. Здесь на помощь приходит визуализация данных робототехники.

В первые дни существования компании Cruise, занимающейся производством беспилотных автомобилей, сотрудники на собственном опыте убедились, насколько болезненной была разработка роботов без соответствующих инструментов. 

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

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

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

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

Этим инструментом был Webviz — в конечном итоге он был открыт, чтобы помочь другим робототехникам воспользоваться преимуществами более эффективно интегрированного инструментария. Со временем в компании осознали, какое влияние Webviz оказал на Cruise, и решили основать Foxglove, чтобы продолжать решать распространенные проблемы робототехники как отрасли в целом. 

«Мы выпустили Foxglove Studio, чтобы помочь пользователям визуализировать и отладить свои данные робототехники, и Foxglove Data Platform, чтобы помочь им хранить и управлять ими в центральном репозитории. С визуализацией данных мы можем быстро разобраться в наших данных — под разными углами, используя разные представления, для разных рабочих процессов — чтобы сообщить о следующем шаге разработки. Именно так мы можем исследовать небинарные ситуации и выносить человеческие суждения, необходимые для того, чтобы принести робототехнику в будущее»

Адриан Макнил соучредитель и генеральный директор Foxglove

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

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

Различные инструменты визуализации данных могут помочь сделать разные суждения при решении разных задач. Каждый шаг рабочего процесса отладки или анализа может выиграть от комбинации различных инструментов. Например, в Foxglove Studio пользователи могут выбирать из обширной коллекции панелей визуализации для создания пользовательских макетов отладки.

Каждая панель имеет определенную функцию – в одной можно наносить значения, в другую отмечать координаты на карте, в третьей отображать 3D-модели в интерактивной сцене. Независимо от того, устраняете ли вы неполадки в стеке планирования робота или отслеживаете его диагностику, для этой задачи есть инструмент визуализации.

Благодаря богатым интерактивным визуализациям данных средства, наконец, могут соответствовать амбициям. Теперь можно более глубоко исследовать, анализировать и осмысливать данные, которые раньше были непроницаемы, чтобы ускорить продвижение к цели.

Будущее робототехники и визуализации данных

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

«Чтобы успешно представить роботов широкой публике, мы должны признать робототехнику более открытым направлением, которое создает больше взаимосвязанных проблем, имеет больше ситуационных решений и, следовательно, требует больше разнообразных инструментов, чем традиционная разработка программного обеспечения»

Адриан Макнил соучредитель и генеральный директор Foxglove

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