Чому візуалізація даних така важлива в робототехніці
Адріан Макніл є співзасновником і генеральним директором Foxglove — стартапу, що пропонує потужне програмне забезпечення для керування даними та візуалізації для робототехніки. До заснування Foxglove він керував інфраструктурою та інструментами розробки в компанії Cruise, що займається безпілотним водінням.
Макніл захоплений підвищенням продуктивності праці розробників і вважає, що оптимізація циклу зворотного зв'язку з розробниками має вирішальне значення для швидкого впровадження інновацій у робототехніці.
За його словами, коли ми думаємо про розвиток робототехніки, ми часто уявляємо собі логічний і систематизований процес. Хоча ми не припускаємо, що це легко чи просто, ми можемо вважати, що це відносно об'єктивно — кінцева мета очевидна, етапи її досягнення вимірювані.
Але ми забуваємо, що під час розробки нових технологій нам потрібні так само нові способи тестування та усунення несправностей у цих технологіях. Йдеться не лише про нового робота, а й про абсолютно нові інструменти та процеси, які необхідно винайти для створення цього робота. Як і у випадку з будь-якою іншою невідомою територією, ці інструменти і процеси все ще перебувають у стадії розробки, вони розвиваються разом із продуктом і людьми, які його створюють.

Візуалізація даних є особливо важливим із цих інструментів. Вона представляє складні й детальні дані у зручному форматі, що дозволяє ухвалювати так само складні й детальні рішення про те, як працює робот і як його можна покращити. Такий інструмент пригнічує неважливий шум і підсилює важливі сигнали.
«Це вносить необхідний сенс і порядок в неймовірно багатовимірну природу даних робототехніки. Як точна наука, якою ми хочемо, щоб робототехніка була, це все ще значною мірою суб'єктивна вправа, з безліччю людських суджень, які наближають нас на один крок до нашої кінцевої мети — світу, в якому наше повсякденне життя покращене і збагачене технологіями робототехніки»
Традиційна розробка програмного забезпечення проти розробки робототехніки
Щоб справді зрозуміти важливість візуалізації даних у робототехніці, спочатку потрібно зрозуміти, чим розробка робототехніки відрізняється від традиційної розробки програмного забезпечення.
Діагностика першопричин проблем у традиційній розробці програмного забезпечення — відносно бінарний процес: код або робить, або не робить те, що має робити на даному етапі. Є чітке очікування того, що має статися в кожному можливому сценарії.
Проходячи шлях помилки і запускаючи тести на кожному етапі шляху — наприклад, реєструючи значення, перевіряючи очікувані й фактичні результати, вмикаючи і вимикаючи певні функції — інженери можуть досить точно визначити рядок коду, через який виникла проблема.

З іншого боку, налагодження проблем у розробці робототехніки рідко буває таким лінійним. З'ясування того, що пішло не так із робототехнічною системою, зазвичай є набагато складнішим і, отже, відкритим процесом. Наприклад, коли автономний мобільний робот (AMR) стикається з іншим об'єктом, немає очевидного «шляху коду» чи винуватця.
Є безліч причин, через які це могло статися, так само як існує багато причин, через які людина могла зіткнутися з перешкодою. Можливо, AMR не побачив перешкоду, бо вона була за рогом, можливо, він неправильно розрахував власну траєкторію, щоб уникнути зіткнення. Причини навіть не пов'язані з програмним забезпеченням — у AMR могли відмовити гальма, вид з його камери міг на мить бути закритий чимось.
Не існує єдиного методичного протоколу, якого потрібно дотримуватися, і корінь проблеми може бути спричинений серією взаємопов'язаних дрібніших проблем, які пронизують кілька рівнів стеку робототехніки. Рішення часто бувають умовними та ситуативними, тому під час налагодження контекстуальна інформація має враховуватися не менше, ніж буквальний код на екрані.
Візуалізація даних для робототехніки
Щоб вирішити цю складність налагодження, потрібне нове покоління складних інструментів для вивчення багатьох аспектів даних робототехніки. Тут на допомогу приходить візуалізація даних робототехніки.
У перші дні існування компанії Cruise, що виробляє безпілотні автомобілі, співробітники на власному досвіді переконалися, наскільки болісною була розробка роботів без відповідних інструментів.

Під час налагодження даних або результатів моделювання інженерам доводилося встановлювати повноцінне середовище розробки на машині з Ubuntu, а потім завантажувати невелику кількість різних інструментів з відкритим вихідним кодом, таких як rviz, rqt та інші. Потім інженерам доводилося вручну запускати відтворення файлу журналу і змінювати розташування кількох вікон на екрані, щоб використовувати їх одночасно.
Інженери могли старанно укладати макет вікон на своєму екрані для певного робочого процесу, але заміна його для іншого робочого процесу або копіювання на комп'ютер товариша по команді відбирало дорогоцінний час розробників. Хоча ці інструменти виконували свою індивідуальну роботу, було очевидно, що їх використання разом або з більшою командою робототехніків не було закладено в їхню ДНК.
Вони були незграбними у використанні самостійно, їх було важко інтегрувати один з одним, і їх неможливо було осмислено використовувати з товаришами по команді. Здатність виконувати ітерації з роботами була серйозно ускладнена — не через талант команди, а через неспроможність швидко отримувати корисні відомості з даних.
Це призвело до проєкту хакатону, де група інженерів побачила можливість покращити цей робочий процес. Вони представили веб-інструмент для візуалізації даних, який був сприйнятий настільки добре, що викликав бурхливі оплески і зрештою був перетворений на внутрішній інструмент із власною спеціальною командою.
Цим інструментом був Webviz — зрештою його відкрили, щоб допомогти іншим робототехнікам скористатися перевагами більш ефективно інтегрованого інструментарію. Згодом у компанії усвідомили, який вплив Webviz мав на Cruise, і вирішили заснувати Foxglove, щоб продовжувати вирішувати поширені проблеми робототехніки як галузі загалом.

«Ми випустили Foxglove Studio, щоб допомогти користувачам візуалізувати та налагоджувати свої дані робототехніки, і Foxglove Data Platform, щоб допомогти їм зберігати і керувати ними в центральному репозиторії. З візуалізацією даних ми можемо швидко розібратися в наших даних — під різними кутами, використовуючи різні подання, для різних робочих процесів — щоб визначити наступний крок розробки. Саме так ми можемо досліджувати небінарні ситуації і виносити людські судження, необхідні для того, щоб привести робототехніку в майбутнє»
Багата інтерактивна візуалізація даних має вирішальне значення, допомагаючи робототехнікам брати участь у більш відкритих дослідженнях, які потрібні для розвитку робототехніки. Це дозволяє робототехнікам використовувати свою інтуїцію і досвід, щоб почати налагодження цієї проблеми. Це допомагає їм синтезувати однаково важливі суб'єктивні й об'єктивні судження, необхідні для усунення несправностей у їхній роботі.
Це допомагає їм з першого погляду зрозуміти, як наразі працюють їхні роботи і як їх можна покращити, щоб вони могли ефективніше вносити в них зміни.
Різні інструменти візуалізації даних можуть допомогти ухвалювати різні судження під час вирішення різних завдань. Кожен крок робочого процесу налагодження або аналізу може виграти від поєднання різних інструментів. Наприклад, у Foxglove Studio користувачі можуть обирати з великої колекції панелей візуалізації для створення індивідуальних макетів налагодження.
Кожна панель має певну функцію – в одній можна наносити значення, в іншу позначати координати на карті, в третій відображати 3D-моделі в інтерактивній сцені. Незалежно від того, усуваєте ви несправності в стеку планування робота чи відстежуєте його діагностику, для цього завдання є інструмент візуалізації.

Завдяки багатим інтерактивним візуалізаціям даних засоби нарешті можуть відповідати амбіціям. Тепер можна глибше досліджувати, аналізувати й осмислювати дані, які раніше були непроникними, щоб прискорити просування до мети.
Майбутнє робототехніки та візуалізації даних
Попри удавану об'єктивність, розвиток робототехніки не позбавлений суб'єктивних і творчих рішень. Хоча кінцевий результат може бути конкретним, оскільки «робот тепер може маневрувати підлогою складу», засоби, за допомогою яких дослідники досягають цього, являють собою нескінченний ітеративний процес, що потребує значного втручання людини.
«Щоб успішно представити роботів широкій публіці, ми маємо визнати робототехніку більш відкритим напрямом, який створює більше взаємопов'язаних проблем, має більше ситуативних рішень і, отже, потребує більше різноманітних інструментів, ніж традиційна розробка програмного забезпечення»
Під час розробки робототехніки все ще існує безліч проблем, які необхідно вирішити: громіздка інфраструктура тестування, непередбачувані терміни розробки обладнання та масштабоване керування даними. Список можна продовжити. Але є кілька покращень, які сильно вплинуть на всі галузі робототехніки, як-от чудові інструменти візуалізації даних.