УДК 004.896
РАЗРАБОТКА ПОДСИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ РОБОТА АНДРОИДНОГО ТИПА КАК ОБЪЕКТА ДВОЙНОГО НАЗНАЧЕНИЯ
Т.Д. Исупова
Рассматриваются возможности использования робота андроидного типа в учебном процессе как для обучения, так и для обеспечения безопасности в аудитории. Анализируются функциональные возможности видеосистемы и программного обеспечения модели NAO H25 в стационарном и мобильном вариантах. Результаты анализа служат основанием дальнейшей разработки программного обеспечения для комплек-сирования робота с более мощной стационарной системой обеспечения безопасности.
Ключевые слова: робот андроидного типа, системы обеспечения безопасности, системы технического зрения.
В настоящее время роботы активно внедряются в образовательную и выставочную деятельность. Особое внимание привлекают роботы андроидного типа или антропоморфные роботы, имитирующие поведение человека. В связи с этим ставится вопрос об использовании роботов этого типа как для привлечения внимания и выполнения задач их прямого назначения, так и для обеспечения безопасности в рамках учебных заведений, выставочных центров и прочих объектов. Данная статья представляет собой первый этап в разработке подсистемы технического зрения робота андро-идного типа как объекта двойного назначения.
На текущий момент существует ряд специализированных роботов, выполняющих только задачу обеспечения безопасности, таких, как робот-патрульный Р.БОТ, Knightscope K5, Scitos G5 и аналогичные разработки [1]. Данные роботы не являются роботами андроидного типа и используются только для решения проблем безопасности. Антропоморфный робот Pepper может выполнять социальные функции и использоваться для охраны квартиры [2].
Подвижный робот имеет в своем составе две видеокамеры. В отличие от стационарных камер слежения или специализированных роботов такой робот не воспринимается как угроза потенциальными злоумышленниками. Он может продолжать выполнение своей основной задачи, не подавая признаков передачи информации удаленному оператору, а также занять удобную позицию, чтобы захватить в обзор камеры лицо человека. С помощью сети Wi-Fi робот может незаметно взаимодействовать с другими устройствами и роботами.
Взаимодействие робота с компьютером оператора предоставляет ему дополнительные вычислительные ресурсы, базы данных и соединение с Интернетом.
Современный рынок программ безопасности и распознавания лиц предоставляет широкие возможности для осуществления контроля в местах скопления людей или на охраняемых объектах. Ведущие разработки имеют высокую точность распознавания и малое количество ложных срабатываний [3].
В качестве исследуемого объекта выбран робот NAO H25 v5.0 фирмы «Aldebaran Robotics». Данная модель имеет небольшие габариты и привлекательный антропоморфный вид, что позволяет её использовать как выставочный экспонат и в образовательной деятельности по прямому назначению. Робот NAO имеет меньшую стоимость по сравнению с большинством андроидных роботов, а также активно используется научно-исследовательскими институтами в качестве объекта для разработки и тестирования алгоритмов его поведения.
NAO подключается к компьютеру через проводную сеть стандарта Ethernet или через беспроводную сеть стандарта 802.11 (Wi-Fi). Операционная система робота поддерживает автономную работу по предварительно созданным и загруженным в его память программам поведения и сохраняет возможность удаленного контроля оператором.
Средства разработки и аппаратно-программные ресурсы робота представляют широкие возможности для создания сложного поведения [4,5]. Однако несмотря на функциональную избыточность робота, предустановленные на NAO модули технического зрения, низкую точность распознавания, значительные ограничения на освещенность и положение лица, невысокую производительность, поставляемое в комплекте с роботом штатное приложение Choreographe (визуальная среда для разработки программ поведения) имеет ограниченные возможности по контролю за роботом в реальном времени.
В рамках данной задачи разрабатывается распределенная между компьютером и роботом подсистема технического зрения, а также пользовательская программа оператора (клиент), позволяющая вручную контролировать поведение робота в сложных ситуациях.
На рисунке представлена структура проектируемой подсистемы технического зрения для робота NAO. Основными задачами подсистемы являются контроль окружающей робота сцены и информационная помощь в обеспечении безопасности.
Среди встроенных функций робота, практический интерес представляют следующие: обнаружение людей, обнаружение движения в поле зрения, обнаружение и распознавание лиц, распознавание характеристик обнаруженного лица (пол, возраст, эмоции), запоминание отдельных объектов и обстановки, следование за обнаруженным объектом.
Функционал предустановленных программных модулей технического зрения NAOqi недостаточен для поставленной задачи и значительно уступает современным системам обнаружения и распознавания людей и
лиц. Возможности встроенных программ распознавания образов достаточны для имитации живого поведения робота, но не соответствуют требованиям решения задач безопасности.
Для формирования части подсистемы технического зрения, выполняемой на роботе, предлагаются следующие варианты:
1) использование собственных программных модулей робота и пользовательского обработчика, запущенного на роботе, в качестве источника предварительной информации, служащей сигналом для запуска программного обеспечения на компьютере оператора;
2) отказ от использования модулей технического зрения и разработка новых модулей, предназначенных для первичной обработки информации на роботе.
ОПЕРАЦИОННАЯ СИСТЕМА РОБОТА ОПЕРАЦИОННАЯ СИСТЕМА СПЕЦИАЛИЗИРОВАННОГО ВЫЧИСЛИТЕЛЯ
Структура проектируемой подсистемы технического зрения для робота NAO: 1 - разрабатываемое приложение оператора;
2 - разрабатываемая локальная подсистема технического зрения (выполняется в качестве программы поведения); 3 - программы основного поведения; 4 - штатное приложение Choreographe;
5 - специализированное ПО (используется опционально)
Часть подсистемы технического зрения должна быть выполнена в качестве программы поведения робота (сбор дополнительной информации об окружении, первичная обработка непосредственно на роботе, действия в случае потери связи).
Так как ресурсы робота и разрешающая способность камер известны из технической документации, ставится задача по оценке скорости передачи данных от робота к компьютеру оператора. Прямой доступ к каме-
211
рам робота как к отдельному устройству невозможен с компьютера. Видеопоток передается покадрово через функции NAOqi API. Для анализа потенциальных возможностей робота требуется оценить скорость передачи кадров. Поскольку для передачи изображения используется специальный формат кадра, то возникает дополнительная задача по оценке скорости, с которой оно конвертируется в один из стандартных форматов. В данной работе конвертация видеопотока производится в тип данных, поддерживаемый библиотекой openCV.
Характеристики используемого в тестировании аппаратного обеспечения: ноутбук ASUS K53S; установленная ОЗУ: 6 ГБ; операционная система: 64-разрядная Windows 10 Pro; процессор: Intel® Core™ i5-2410M CPU 2.30GHz; сетевой адаптер 1: Realtek PCle GBE Family Controller; сетевой адаптер 2: Qualcomm Atheros AR9002WB-1NG Wireless Network Adapter; роутер: RT-N12 Wireless N Router.
Выбраны три типа подключений: прямое (компьютер подключен к роботу через сетевой кабель), беспроводное (компьютер и робот подключены к роутеру через Wi-Fi), комбинированное (компьютер подключен к роутеру через сетевой кабель, робот подключен к роутеру через Wi-Fi). Live-режим на роботе (имитация дыхания, поворот головы на звук, движения в поле зрения и лица людей) и штатное приложение Choreographe на время теста отключены. Робот сидит неподвижно. Время каждого теста составляет 10 минут, что при минимальной частоте кадров в 3 FPS дает не менее 1800 точек для статистических оценок. Результаты теста представлены в табл. 1.
Таблица 1
Оценка скорости передачи и обработки данных с камеры
Тип подключения Разрешение кадра Время захвата кадра Tc, GTc мс Время на обработку кадра Tk GTk мс Скорость захвата кадров Fc gFc FPS Скорость обработки кадров Fk oFk FPS
Ethernet (ping: <1ms) 320x240 QVGA 25 21 81 8 51.36 17.21 12.52 1.10
640x480 VGA 113 41 320 11 9.82 2.98 3.13 0.09
Wi-Fi Router полностью беспроводное (ping: 85ms) 320x240 QVGA 320 123 96 11 3.38 0.77 10.58 1.27
640x480 VGA 1270 842 339 10 0.84 0.16 2.95 0.08
Wi-Fi Router подключен через кабель (ping: 55ms) 320x240 QVGA 84 53 95 13 14.94 5.78 10.68 1.44
640x480 VGA 237 51 319 5 4.39 0.84 3.14 0.05
Кабельное соединение предоставляет оперативную передачу кадров в разрешении 640x480, но создает ряд сложностей: при передвижении робота кабель может зацепиться за посторонние предметы или выпасть из разъема; соединение может быть намерено разорвано; кабель ограничивает перемещения робота и может вызвать его падение. Соединение через Wi-Fi безопасно для робота, но скорость передачи видео падает минимум на порядок при непосредственной близости робота к роутеру. Оптимальным является использование комбинированного подключения, которое дает меньшее падение скорости передачи видео и позволяет оператору находиться в другом помещении.
Скорость передачи данных может также падать в следующих случаях: использование скрытого Wi-Fi соединения робота с роутером; наличие большого числа точек доступа Wi-Fi рядом с роботом (может вызвать обрыв связи); перегрев головы робота или резкий удар по ней (может вызвать обрыв связи). Предпочтительно использовать разрешения кадра 320x240 и 640x480: меньшие разрешения недостаточны для анализа, а большие сильно ограничивают скорость передачи данных.
NAO может быть подключен одновременно к двум и более компьютерам через Wi-Fi роутер, если программы-клиенты используют разные имена для регистрации в памяти робота. При единовременных запросах к камере могут наблюдаться конфликты выполняемых модулей, что приводит к падению скорости взятия кадра или к остановке одного из клиентов, в редких случаях - к сбою операционной системы робота. Использование двух и более клиентов не является оптимальным. При необходимости распараллелить вычисления между двумя компьютерами целесообразнее передавать данные к одному компьютеру, после чего перенаправлять их на другой компьютер.
Также возможна параллельная работа штатного приложения Choreographe одновременно с программой-клиентом на одном или нескольких компьютерах. Параллельное использование программы-клиента и Choreographe не приводит к сбоям и отключению приложений при отсутствии конфликтов между исполняемыми роботом командами. Для обеспечения параллельного режима необходимо прерывать программу текущего поведения робота по требованию оператора.
В процессе работы программы Choreographe со стороны робота передается поток данных, в том числе изображение с одной из его камер в разрешении 160x120, что приводит к снижению скорости передачи видео в программу-клиент. Запущенный на роботе режим Live и\или любая другая программа поведения также снижает скорость передачи данных независимо от активности программы Choreographe.
В следующих тестах была проведена оценка скорости передачи данных при различных комбинациях параллельной работы программы-клиента, программы Choreographe, программ поведения и Live-режима.
В тестах использовалось комбинированное соединение, при котором компьютер подключен через кабель к роутеру Wi-Fi. Для теста с запущенной на роботе программой поведения использовался алгоритм обхода препятствий. В этом тесте робот перемещается по учебной аудитории и обходит обнаруженные с помощью сонаров препятствия. Одновременно с программой поведения включен Live-режим: NAO поворачивает голову на людей и движущиеся объекты в поле зрения. Тест демонстрирует скорость передачи данных программе-клиенту в «рабочих» условиях, когда робот реализует обе задачи: выполняет «обычное» поведение и следит за окружением, передавая изображение оператору. Результаты теста представлены в табл. 2.
Таблица 2
Оценка скорости передачи и обработки данных с камеры при параллельной работе нескольких приложений
Выполняемые приложения Разрешение кадра Время захвата кадра Tc oTc, мс Скорость захвата кадров Fc cFc, FPS
Только клиент 320x240 QVGA 84 53 14.94 5.78
640x480 VGA 237 51 4.39 0.84
Клиент Choreographe (тот же ПК) 320x240 QVGA 90 45 13.24 4.82
640x480 VGA 248 56 4.22 0.82
Клиент Choreographe (другой ПК) 320x240 QVGA 118 59 10.54 4.63
640x480 VGA 245 45 4.16 0.55
Клиент Choreographe (тот же ПК) Поведение Ь^-режим 320x240 QVGA 103 53 12.04 5.25
640x480 VGA 356 110 3.07 0.92
На основании результатов проведенного исследования можно сделать следующий вывод: скорость передачи видео в «рабочем» режиме падает незначительно, поэтому целесообразно использовать среду программирования Choreographe для проектирования и запуска программ основного поведения робота (например, обеспечение образовательного процесса), а программу-клиент - для контроля за окружением робота (обеспечение безопасности).
Список литературы
1. http://www.prorobot.ru/14.php (дата обращения: 09.10.2015).
2. http://geniecctv.com/new-innovation-pepper-the-humanoid-robot-for-security (дата обращения: 09.10.2015).
3. http:// biometrics .nist. gov/cs links/ face/ frvt/ frvt2013/ NIST 8009.pdf (дата обращения: 09.10.2015).
4. Ki-sung S. Using NAO: introduction to interactive humanoid robots. France: Icones, 2013. 276 p.
5. Beiter M., Colin B., Liemhetcharat S. An introdution to robotics with NAO: a stem integrated, project based approach to learning robotics and computer science. France: Icones, 2012. 204 p.
Исупова Татьяна Дмитриевна, асп., isupovtd@,list.ru, Россия, Челябинск, Южно-Уральский государственный университет
ANDROID TYPE ROBOT VISION SUBSYSTEM DEVELOPMENT AS DUAL-USE FACILITIES
T.D. Isupova
The possibility of using android type robot in the learning process both for study and for security in the room is considered. Functionality of vision system and software for NAO H25 robot model in stationary and mobile variant are analyzed. The results serve as a basis for further development of software to the robot aggregation with more powerful stationary security system are given.
Key words: android type robot, security systems, vision systems.
Isupova Tatiana Dmitrievna, postgraduate, isupovtdalist.ru, Russia, Chelyabinsk, South Ural State University