Научная статья на тему 'ИССЛЕДОВАНИЕ МЕТОДОВ ПЕРЕДАЧИ И ОБРАБОТКИ ДАННЫХ МЕЖДУ РОБОТОМ НА RASPBERRY PI И МОБИЛЬНЫМ УСТРОЙСТВОМ ANDROID'

ИССЛЕДОВАНИЕ МЕТОДОВ ПЕРЕДАЧИ И ОБРАБОТКИ ДАННЫХ МЕЖДУ РОБОТОМ НА RASPBERRY PI И МОБИЛЬНЫМ УСТРОЙСТВОМ ANDROID Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
6
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
робототехника / мобильное устройство / смартфон / техническое зрение / передача данных / robotics / mobile device / smartphone / technical vision / data transmission

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лексанова Е.В., Новиков П.С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

RESEARCH OF METHODS OF DATA TRANSMISSION AND PROCESSING BETWEEN ROBOT ON RASPBERRY PI AND ANDROID MOBILE DEVICE

This work explores methods for transmitting video images from a robot’s camera on a Raspberry PI to a mobile device. Performance, phone processor load, energy consumption, as well as optimal solutions to technical vision problems are taken into account.

Текст научной работы на тему «ИССЛЕДОВАНИЕ МЕТОДОВ ПЕРЕДАЧИ И ОБРАБОТКИ ДАННЫХ МЕЖДУ РОБОТОМ НА RASPBERRY PI И МОБИЛЬНЫМ УСТРОЙСТВОМ ANDROID»

УДК 004.771 Лексанова Е.В., Новиков П.С.

Лексанова Е.В.

студент

факультет информационных технологий Московский политехнический университет (г. Москва, Россия)

Новиков П.С.

к.т.н., доцент Московский политехнический университет (г. Москва, Россия)

ИССЛЕДОВАНИЕ МЕТОДОВ ПЕРЕДАЧИ И ОБРАБОТКИ ДАННЫХ МЕЖДУ РОБОТОМ НА RASPBERRY PI И МОБИЛЬНЫМ УСТРОЙСТВОМ ANDROID

Аннотация: в работе исследуются методы передачи видеоизображения с камеры робота на Raspberry PI на мобильное устройство. Учитывается быстродействие, загруженность процессора телефона, энергоёмкость, а также оптимальные решения задач технического зрения.

Ключевые слова: робототехника, мобильное устройство, смартфон, техническое зрение, передача данных.

Тема данной работы - «Разработка интерактивной настольной игры для детей с элементами робототехники». Задание на данную тему было предоставлено школой робототехники ООО «Кибер Класс» в 2022 году. Организация была основана в г. Москва в 2017 году. Деятельность компании направлена на работу с детьми, занятия по образовательной робототехнике, программированию, BD-моделированию, техническому творчеству. Основной возраст учеников - от четырёх до пятнадцати лет.

В настоящее время родители и их дети, которые являются целевой аудиторией компании, не имеют точного представления о том, что такое робототехника и что дают занятия в этой сфере их детям. Разумеется, в детском возрасте большинство знаний приходит через игру, а робототехника этому очень сильно способствует, о чём говорится в трудах [5, 6, 7]. Помимо этого, в процессе проектирования был проведён поиск существующих аналогов, для этого были проанализированы открытые источники, рабочие программы образовательных учреждений. Заявленных аналогов выявлено не было.

Окончательная формулировка долгосрочной задачи являлась разработка интерактивного стенда, включающая игру, которая будет являться инструментом для получения знаний в области робототехники и повышения заинтересованности детей в этой сфере, а также расширения круга клиентов. За основу была выбрана настольная игра «Memory». В данном проекте игра называется «Марсоходы», её цель - зажечь все пары одинакового цвета фонарей на поле, с помощью робота, которому необходимо написать алгоритм действий в интерфейсе игрока. Всё происходящее игрок будет видеть через камеру на роботе.

Предметом разработки является полное создание системы интерактивной настольной игры с элементами робототехники, создание условий, в которых система ведёт себя должным образом, проведение тестовых игр с реальными клиентами, внедрение проекта в образовательную деятельность. Разработку планируется внедрить в учебный процесс к 31 мая 2024 года. Все элементы продукта соответствуют правилам техники безопасности для использования детьми.

В данной статье рассматривается, как именно следует передавать видеоизображение с робота на мобильное устройство, чтобы это было наименее ресурсоёмко со стороны смартфона, оптимальным образом работало техническое зрение в задаче определения цвета, а также цель - добиться максимального уровня частоты кадров (FPS).

В ходе исследования были рассмотрены такие методы передачи видеоизображения, как Ethernet, Wi-Fi и Bluetooth. Так как Ethernet является достаточно быстродейственным, но данный тип соединения невозможно реализовать мобильно, этот вариант в статье не рассматривается.

Wi-Fi обеспечивает более высокую скорость передачи данных по сравнению с Bluetooth, особенно на более современных устройствах и сетях. При активном использовании Wi-Fi, таком как загрузка больших объемов данных, потоковое видео или онлайн-игры, может происходить более высокое потребление энергии и, следовательно, повышенное тепловыделение и нагрузка на процессор устройства. Потребление энергии Bluetooth, как правило, ниже, чем у Wi-Fi, особенно в режиме ожидания, что может снизить общую нагрузку на мобильное устройство. Если рассматривать только потребление энергии, то Bluetooth, вероятно, имеет небольшое преимущество перед Wi-Fi. Однако приложения и использование устройства могут оказать большее влияние на нагрузку мобильного устройства, чем только выбор между Wi-Fi и Bluetooth. Например, использование приложений с высокими требованиями к интернет-трафику или постоянная передача данных могут быть более нагружающими для устройства, чем сама технология связи. Основные сравнительные характеристики Wi-Fi и Bluetooth для данной задачи отражены в таблице 1.

Таблица 1. Сравнительные характеристики Wi-Fi и Bluetooth.

Характеристики Wi-Fi Bluetooth

Скорость передачи данных до 250 Мб/с 1-3 Мб/с

Диапазон подключения 40-100 м 30-50 м

Предоставляемая полоса пропускания Видео Аудио

Потребляемая мощность Высокая Низкая

Характеристики Wi-Fi Bluetooth

Мобильный девайс может использоваться в качестве ведущего Да Да

Время автономной работы подчиненных устройств До нескольких часов До нескольких часов

Асинхронная передача данных Поддерживается Поддерживается

Рассмотрим энергоёмкость со стороны телефона, а именно затрачиваемый заряд батареи на просмотр видеоизображения. Для робота на Raspberry PI были написаны две программы - для передачи видео по Bluetooth и по Wi-Fi. При соединении по Bluetooth создаётся пара «робот-телефон» и по Мас-адресу передаётся видеоизображение в интерфейс приложения на телефоне. Потоковое видео является постоянно сменяющимися кадрами в формате JPEG, также, как работают камеры видеонаблюдение. Программный код подключения и передачи видео по Bluetooth отражён в листинге 1.

Листинг 1. Код для Raspberry PI на Python для передачи данных по Bluetooth. def bluetooth_server():

server_socket = bluetooth.BluetoothSocket(bluetooth.RFCOMM) port = 1

server_socket.bind(("", port)) server_socket. listen( 1)

print("Waiting for connection...") client_socket, address = server_socket.accept() print("Accepted connection from", address)

cap = cv2.VideoCapture(0)

while True: ret, frame = cap.read() if not ret: break

_, img_encoded = cv2.imencode('.jpg', frame) data = np.array(img_encoded).tobytes()

client_socket. sendall(data)

client_socket. close() server_socket. close() cap.release()

cv2.destroyAllWindows() bluetooth_server()

При передаче видео по Wi-Fi кадры в формате JPEG передаются на сервер, а затем телефон «достаёт» видеоизображение в приложение с адреса

«192.168...../video_feed». Программный код подключения по Wi-Fi и передачи

видео отражён в листинге 2.

Листинг 2. Код для Raspberry PI на Python для передачи данных по Wi-Fi.

@app.route('/video_feed') def video_feed():

Video from camera as JPEG image

global frame, opencv_working

# Start new OpenCV thread if not opencv_working:

print('Starting new OpenCV thread...') opencv_working = True threading. Thread(target=opencv_thread). start() while frame is None: pass

print('OpenCV stream started successfully')

if frame is not None:

# Make response with encoded frame as JPEG image new_response = Response(gen(),

mimetype="multipart/x-mixed-replace, boundary=frame") new_response.headers.add('Connection', 'close') new_response.headers.add('Max-Age', '0') new_response.headers. add('Expires', '0') new_response.headers. add('Cache-Control',

'no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-

age=0')

new_response.headers. add('Pragma', 'no-cache') new_response.headers.add('Access-Control-Allow-Origin', '*') return new_response else:

# Clear flag to reconnect to camera opencv_working = False

return '', 204

Пример получаемого изображения на мобильном устройстве с отображаемым FPS отображён на рисунке 1.

TextView

Te>ctView

Рис. 1. Пример отображения видео на интерфейсе смартфона.

После загрузки программ на Raspberry PI и запуска приложений для получения данных по Bluetooth и Wi-Fi, было произведено измерение, как сильно разряжается батарея телефона Xiami Redmi Note 9 за 0,5 ч непрерывного воспроизведения видео. Для чистоты эксперимента, кроме используемых служб,

в каждом случае, все остальные были отключены и очищена кэш-память телефона. По результатам проведённого исследования, телефон при получении данных с использованием Wi-Fi разрядился на 16%, с использованием Bluetooth на 12%. Из этого можно сделать вывод, что при использовании Bluetooth-передачи видеосигнала, телефон потребляет меньше энергоресурсов.

Второй, не менее важный к рассмотрению, аспект - частота воспроизведения кадров на получаемом видео. В данной задаче именно этот фактор является решающим, так как игрок наблюдает за действиями робота только через интерфейс телефона. При использовании Wi-Fi передачи частота FPS варьируется от 49 FPS до 83 FPS. В то же время, через Bluetooth-подключение частота кадров не такая высокая, держится на уровне приблизительно 30 FPS. Даже если посчитать данную скорость приемлемой, при добавлении алгоритмов технического зрения в задаче идентификации цвета объекта, частота очень сильно уменьшится, что приведёт к большой задержке и потере данных, недопустимой при использовании приложения пользователем.

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

СПИСОК ЛИТЕРАТУРЫ:

1. Наумова Е. А., Бессонова И. А., Якименко С. И. Исследование стандарта Bluetooth 5.1 и определение точности позиционирования в закрытом помещении // Межвузовская научно-техническая конференция студентов, аспирантов и молодых специалистов имени Е. В. Армейского. - М.: Московский институт электроники и математики НИУ ВШЭ, 2022. - С. 157160;

2. Ерещенко В. В., Яценко В. В. Система управления на базе мобильного робота под управлением операционной системы Android // Наука - производству. - Мурманск: Мурманский государственный технический университет, 2018. - С. 35-40;

3. Гранкин А. С., Ткаченко А. А. Программирование микроконтроллеров. Микроконтроллер Raspberry PI // Форум молодых ученых. - Саратов: ООО "Институт управления и социально-экономического развития", 2018. - С. 233-236;

4. Host a Wi-Fi hotspot with a Raspberry Pi // Raspberry PI URL: https://www.raspberrypi.com/tutorials/host-a-hotel-wifi-hotspot/ (дата обращения: 17.02.2024)

Leksanova E. V., Novikov P.S.

Leksanova E.V.

Moscow Polytechnic University (Moscow, Russia)

Novikov P.S.

Moscow Polytechnic University (Moscow, Russia)

RESEARCH OF METHODS OF DATA TRANSMISSION AND PROCESSING BETWEEN ROBOT ON RASPBERRY PI AND ANDROID MOBILE DEVICE

Abstract: this work explores methods for transmitting video images from a robot's camera on a Raspberry PI to a mobile device. Performance, phone processor load, energy consumption, as well as optimal solutions to technical vision problems are taken into account.

Keywords: robotics, mobile device, smartphone, technical vision, data transmission.

i Надоели баннеры? Вы всегда можете отключить рекламу.