Республика Саха (Якутия), с. Чапаево
МБНОУ "Октемский НОЦ им. М.Е. Николаева", 11 класс
РАЗРАБОТКА РОБОТА С ЭФФЕКТОМ ПРИСУТСТВИЯ УДАЛЕННОГО УЧИТЕЛЯ
18
ИВАНОВ Айыллаан
Научные руководители: Охлопкова Ирина Ивановна, Республика Саха (Якутия), С. Чапаево, МБНОУ "Октемский НОЦ им. М.Е. Николаева", учитель физики, Эрнесто Евгений Санчес Шайда Эрнестович, Израиль, г. Хайфа, University of Haifa, аспирант
Ит
Республика Саха (Якутия), с. Чапаево
МБНОУ "Октемский НОЦ им. М.Е. Николаева", 11 класс
ГЕРАСИМОВ Иннокентий
18
ИВАНОВ Айыллаан, ГЕРАСИМОВ Иннокентий
Ит
РАЗРАБОТКА РОБОТА С ЭФФЕКТОМ ПРИСУТСТВИЯ УДАЛЕННОГО УЧИТЕЛЯ
Период пандемии открыл безграничные возможности дистанционного обучения. Находясь в одном месте, можно получить объемные и квалифицированные советы от передовиков любых сфер. С началом дистанционного обучения наша образовательная организация работает со специалистами разных городов и стран, таких как: Москва, Израиль, Санкт-Петербург. Во время обучения в классах приглашенным специалистам часто требуется помощь ассистента. И это зародило нашу идею, создать робота с максимальной имитацией телеприсутствия человека.

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

Использованное оборудование.
Нижняя часть робота: Arduino UNO, драйвер motor shield, моторчики для колес, аккумулятор 12V, мини-компьютер с операционной системой Windows, сетевой фильтр.
Средняя часть: телевизор 16 дюймов.
Верхняя часть: светодиодная установка "Вращающаяся голова" LM70, планшет с операционной системой Android. Каркас металлический.

Используемые компьютерные программы: Arduino (программа движения колес), FreeStyler DMX (установка вращения головы), TeamViewer (удаленное управление), виртуальная клавиатура, Webinar (для визуализации помещения), Geany IDE (интерпретатор для Python).

Использованные языки программирования: C++, Python 3.9.
Использованные библиотеки: Scipy, OpenCV, TensorFlow, scikit-learn, face_recognition, numpy, tkinter.
Техническая характеристика: Ширина - 0,48 м.; Длина - 0,7 м.; Высота - 1,32 м..

Смету нашего робота-телеприсутствия вы можете посмотреть в таблице 2.

Механическая часть:
Конструкция каркаса робота основана на металлических квадратных трубах, соединенных угольниками. Внешний корпус робота обшит ПВХ пластиком. Для надежного крепления в средней части телевизора, были использованы деревянные бруски.

К металлической платформе прикреплены два приводных колеса и одно поворотное колесо. В верхней части было использовано светодиодное устройство, как шейный механизм. Полученная конструкция изображена на фотографии (Рисунок1), а также на механической схеме робота (Рисунок 2).

Компьютер подключается к Arduino через провод USB, моторчики колес припаяны к Motor Shield. Компьютер подключается к экрану через HDMI, для вывода аудио и видео информации. Компьютер подключается к Raspberry Pi через специальный кабель, далее Raspberry Pi подключается к "шейному механизму" через кабель.

Компьютер, телевизор, "голова" требуют напряжение 220V, Arduino UNO 5V, Motor Shield требует 12V, из-за чего появляется необходимость в более дорогом аккумуляторе с разными выходами под 12V и 220V.

Программная часть:
Управление колесной платформой:

Для управления двигателями колес робота мы использовали микроконтроллер Arduino UNO с платой расширения Motor Shield, предназначенной для двухканального управления скоростью и направлением вращения коллекторных двигателей постоянного тока, напряжением 5-24В и максимальным током до 2А на канал. Часть кода управления моторами представлена в приложении 1.

Код реализации движения робота, написанный на интерпретаторе Arduino IDE [1] 1.8.13, показан в приложении 1. Он запрограммирован так, что нажатие кнопок движения 'W' 'A' 'S' 'D' включает один или два мотора с определенным количеством оборотов в минуту.

Raspberry Pi 3 (Model B) (приложение 2):

Конструкция микрокомпьютера представляет собой одноплатный компьютер с процессором частотой 1200 МГц подключенный напрямую через контакты к сенсорному экрану Waveshare (приложение 2). В качестве операционной системы мы выбрали Raspberry Pi OS, официальный дистрибутив от разработчиков самого микроконтроллера, дальше шла установка необходимых библиотек и их настройка для бесперебойной работы программ.

Распознавание лиц:

Для функции распознавания лиц в реальном времени используется внешняя камера, код для работы которой установлен и запускается на одноплатном компьютере Raspberry Pi 3.

Для реализации искусственного интеллекта который может почти мгновенно распознавать лица, измерять температуру и вносить присутствие ученика в личный журнал, был выбран язык Python, потому что он является наиболее простым для начинающих и вполне гибким в этом плане. Для начала мы изучили базу языка, после этого мы перешли на теорию распознавания текста на язык компьютера, и запрограммировали систему распознавания и поиска по тексту с использованием внешних библиотек. Дальше перешли от теории к практике, а именно реализовали распознавание текста без использования внешних библиотек, за исключением scipy (разреженные матрицы, для предотвращения неоптимального использования памяти) и Tkinter (это пакет модулей для создания приложений с графическим интерфейсом пользователя) (см. приложение 3). Принцип работы и логики интеллекта показан в приложении 5.1 с краткими пояснениями и комментариями о функциях. Временное приложение, которое мы получили, можно наблюдать в приложении 3.1 - 3.3. Оно может распознавать вводимые ключевые слова и производить поиск среди базы данных, которая может являтся википедией, научные статьи, исторические факты и тому подобные.

Дальше начали думать как компьютер может различать и сравнивать изображения картинок между лесом и морем, городом и скалами. Второй частью нашей работы можно считать изучение работы библиотек OpenCV, TensorFlow и тому подобных для использования их на практике. В итоге на системе Raspberry Pi смогли установить все необходимые библиотеки и настроить использование камеры. Код который мы написали использует библиотеки face_recognition, opencv, numpy (приложение 4). Принцип работы объясняющий его логистику и функционал можно прочитать в приложении 6.2. В итоге получается полноценный искусственный интеллект распознающий лица на камере и фотографии в реальном времени и сравнивает их с лицами, загруженными в его базу данных ранее (рисунок 1).

Для полного понимания того, какие приложения необходимо включить, чтобы использовать наш робот, мы нарисовали программную схему (приложение 2). Следует сперва включить мини-компьютер, затем подключить приложение, дистанционного управления TeamViewer, затем включить экранную клавиатуру для управления движением, потом включить приложение Freestyler DMX для управлением "шейным механизмом", а также можно использовать искусственный интеллект распознавания лиц. Параллельно с этими действиями включить планшет, подключиться с помощью приложения Webinar (Google Meet, Skype и другие).
[1] IDE - Integrated development environment (Интегрированная среда разработки)
Расписание работы выставки
27 марта, пн
Диалог с экспертами и посетителями
Объявление результатов выставки
12:30 - 14:00
28 марта, вт
14:00 - 18:00
29 марта, ср
14:00 - 17:00
31 марта, пт
15:00 - 17:00
Посетите выставку
и пообщайтесь с автором проекта
Выставка открыта для посетителей 28 марта, вторник, с 14:00 до 18:00, 29 марта, среда, с 14:00 до 17:00 в учебно-лабораторном корпусе МГТУ им. Н.Э. Баумана.
Для определения точного времени посещения и организации прохода на выставку зарегистрируйтесь.