В эру информационных технологий существует достаточно большое количество необычных и интересных проектов, с которыми сталкиваются сотрудники IT компаний. Мне же, в свою очередь, довелось поработать над таким интересным проектом как две линейки роботов, обозначим их “Mark I” и “Mark II” от крупной компании-призера международных конкурсов робототехники.
Эти две версии роботов возникли не на пустом месте, поэтому, прежде чем мы начнем разговор о них, мне бы хотелось сказать пару слов о том, как все начиналось. Руководитель данной организации являлся членом YPO и основал данный стартап с идеей о внедрении робототехники в повседневную жизнь на более бытовом уровне, а не только промышленном.
Первым крупным шагом компании на мировой арене, было участие в международном конкурсе робототехники под названием ANA Avatar Xprize от японской авиакомпании ANA в далеком 2021 году. Это было достаточно популярное соревнование, поскольку команд там было очень много и помимо нескольких русских участников за приз боролись больше сотни групп робототехников со всего мира.
Разработка, с которой наш клиент собирался участвовать в соревновании, называлась Johnny. Это был относительно большой человекоподобный робот с двумя передними манипуляторами, или же, “руками”, головой с двумя передатчиками, в которую встроена камера и микрофон, а также колесная платформа, благодаря которой он мог перемещаться в пространстве.
Основной идеей соревнования была задача сделать управляемый неавтономный робот-аватар, с помощью которого оператор-человек не почувствовал бы разницы между удаленным общением и своим личным присутствием. Это была несколько утопичная и футуристическая цель, однако общими критериями прохождения конкурса являлись способность управлять движениями аватара, передачей аудио и видеосигнала, а также наличие “тревожной кнопки” для экстренного отключения от машины.
Это было соревнование с огромной конкуренцией, однако команда заказчика со своей разработкой мало того, что смогла легко пройти в четвертьфинал, так после они и вовсе дошли до полуфинала, оставшись единственной русской командой, боровшейся за приз. В конечном виде робот Джонни мог управляться с помощью VR-очков и в целом создавал устойчивое ощущение личного присутствия. Конечно, были и другие не менее впечатляющие разработки, которые смогли пройти в финал, но и этого оказалось достаточно для компании, чтобы заявить о себе и положить начало их основной работе.
Благодаря роботу Джонни и идеям, которые использовались для его разработки, команда создала две линейки роботов, а именно Mark I и Mark II, о которых я уже говорил ранее. И пусть первая так и не получила широкого развития, я все же не могу не рассказать о ней, поскольку она лично мне показалась наиболее интересной.
Сам из себя Mark I представляет собой урезанную версию своего предшественника. Это подвижный робот на колесной платформе, на вершине которого встроена видеокамера и микрофон. Как понятно из его конструкции, он мог перемещаться по комнате посредством команд пользователя, подключающегося к нему, а также передавать голос и видео гостя. Само изображение с камеры пользователя было на “голове” робота, создавая общее подобие человеческой фигуры.
Когда пользователь подключается к роботу, он видит как изображение с камеры, так и базовый интерфейс, попутно получая возможность управлять им. У пользователя есть изображение с основной камеры, посредством которой он видит все перед роботом, а также видео с нижней камеры, которая направлена для удобства перемещения пользователя через робота. Все же, иной раз сложно сказать куда ты едешь и есть ли какие-то препятствия под колесами.
И, разумеется, у пользователя есть возможность отключить себя от аудио и видеотрансляции, оставив у робота дежурный экран. Для наибольшей прозрачности управления, у робота существует кнопка с визуальными подсказками о том, как взаимодействовать с ним. Все управление происходит прямо в браузере, никаких дополнительных приложений запускать не надо, поэтому контролировать робота просто и удобно.
От себя скажу, что это был достаточно интересный и забавный опыт, когда я мог кататься по офисному помещению и заглядывать всем за плечи, попутно доставая своими расспросами и иногда врезаясь в кресло, на котором кто-то сидел. И на самом деле, помимо возможного несерьезного вида и ограниченного функционала по взаимодействию с окружающим миром, линейка имеет огромный потенциал с большим количеством сфер для внедрения, начиная от электронных экскурсоводов и заканчивая удаленным видеонаблюдением, а также охранными отраслями.
Основной же линейкой, которая получила популярность и распространенность является робот Mark II. Он выполнен в форме человеческой головы для наилучшего соответствия и, как и как прошлая линейка, предназначен для углубления и большего погружения в видеозвонки.
Робот расположен на платформе-шее и обладает возможностью, как и человеческая голова крутиться вокруг своей оси, таким образом давая гостю возможность смотреть по сторонам будто он сам находится рядом с удаленным пользователем.
Когда гость подключается к роботу, у него включается управление с его личной видеокамеры, поскольку помимо того, что его лицо отображается на Mark II, это также является и предметом контроля самого робота. Оно построено так, что устройство копирует движения головы гостя, отслеживая по его лицу направление взгляда, и таким образом поворачивается в ту или иную сторону.
То есть если пользователь опустит голову вниз, то и робот опустит взгляд, и так со всеми четырьмя направлениями. Это позволяет пользователю ощутить максимальную погруженность в звонок и, образно говоря, вертеть головой по сторонам будто он сам там сидит.
Благодаря интерфейсу Mark II, гостю легко ориентироваться куда направляется робот, поскольку направление головы и взгляда визуально отражается прямо перед пользователем на экране. Помимо этого, интерфейс включает в себя базовое отключение аудио и видеосигнала, а также переключение режимов управления, вторым из которых является обычное перемещение через движение мышки.
Это был не менее интересный опыт чем на Mark I, поскольку подвижность робота обеспечивала достаточно занимательное качество видеозвонков, однако мне все же больше понравилось подвижность прошлого робота и пусть и урезанное по сравнению с Mark II качество видеозвонков, однако куда большая свобода действий. Впрочем, это не умаляет того факта, что обе линейки это крайне интересная и перспективная разработка, которая точно привнесёт разнообразие в видеозвонки и позволит поднять их качество на новый уровень.
А как собственно работалось с ними? Что же по итогу было такого особенного в их тестировании?
В принципе, как понятно из внешнего вида и самой природы продукта, основная сложность была в том, что это было сочетание софта и харда, а также наличие видеосвязи. Если сама программа была достаточно незамысловатой и протестировать её не составляло сложности, то вот роботы были отдельной темой.
Начнем с того, что сами роботы состоят из огромного количества запчастей, каждая из которых может в любой момент выйти из строя. У меня в самом начале были случаи, когда в один день вся линейка отлично работала, а на следующий день уже у половины пропадал или звук, или видео, или и вовсе он не включался.
Из-за этого мне пришлось ввести такую вещь как ежедневные тесты. Это был простенький чек-лист вроде “зайти на робота”, “послушать”, “посмотреть”, “видно и слышно меня”, “покрутиться на месте” и т.п. Они занимали 10-15 минут на одного робота и позволяли быстро оценить общее его состояние. Все результаты тестов вносились в таблицу и позволяли увидеть общую статистику за n количество дней. Так команда наглядно могла оценить разницу в подходах к сборке роботов и какие запчасти дадут лучший результат. Единственный минус - это нудное выполнение каждый день одних и тех же действий, причем для огромного количества роботов. Пожалуй, это был один из самых тяжелых проектов, в которых данный минус профессии тестировщика был возведен в абсолют.
Видеосвязь через роботов так же давала просто невообразимое число проблем. Её суть была в том, что в основе лежала нейросеть, которая предварительно кропала лицо человека перед камерой и на основе этого управляла роботом. Во первых с ней было множество случаев, когда она не работала. Будь то из-за наушников, очков на лице, банальной тени или просто потому что пользователь неправильно сидел.
Во вторых с самой видеосвязью и интеграцией ее в робота тоже все было далеко не в порядке. Отсутствие корректного вывода изображения с камеры, отсутствие микрофона, невозможность подключить с телефона блютус наушники, жуткое искажение качества видео и звука, отключение дисплея для вывода видео с самого робота. Проблем в общем хватало.
И самое ужасное, что эти проблемы невозможно предусмотреть и как-то описать в тестовой документации, которой можно всегда следовать. Каким образом можно изначально написать тест-кейс для случая, когда через 50 минут звонка забивалось хранилище памяти и видеотрансляция от гостя начинала лагать? Или когда после трех суток простоя в режиме ожидания робот намертво зависал? Или когда при резком повороте вниз головы одного робота он бился “подбородком” о подставку из-за неправильно выставленных углов поворота? И таких неожиданно вскрывающихся кейсов было больше десятка. Фактически, у меня даже не существовало какой-либо продвинутой тестовой документации, ибо она была неэффективна и не нужна здесь.
Вообще, это был первый проект, где наглядно была показана необходимость существования ручных тестировщиков. Ещё нигде мне не приходилось настолько подключать фантазию и искать возможные ошибочные сценарии. За всю историю проекта у меня были единицы стабильно воспроизводящихся багов, а что-либо автоматизировать здесь не представлялось возможным или хоть сколько-то нужным.
Что же в итоге?
Несмотря на однообразность, повторяемость задач, абсолютно не интуитивно понятные проблемы, сложность тестирования и очень малое количество автономии (напомню, что роботы были очень далеко от меня и в случае малейших проблем мне нужна была помощь сборщиков в офисе), это был один из самых необычных и интересных проектов с хорошей долей челленджа. Это была не очень опытная команда, у нас были гигантские проблемы с коммуникацией и организацией работы. Но тем не менее, мы преодолевали разные трудности и выносили новый опыт. Постепенно на смену нестабильным постоянно отключающимся роботам пришло устойчивое и надежное оборудование, которое мы могли себе позволить показывать на различных выставках.
Даниил Мальков QA-Engineer
____________________________________________________________________________________
Подпишитесь чтобы не пропустить новые статьи, впереди много интересного!
Deventica - Ускоряем цифровую трансформацию бизнеса, облегчаем переход к технологической независимости, разрабатываем, тестируем, сопровождаем. Наши контакты в шапке профиля.