Исследование методов передачи и обработки данных между роботом на Raspberry PI и мобильным устройством Android

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 14.12.2024
Размер файла 139,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Исследование методов передачи и обработки данных между роботом на Raspberry PI и мобильным устройством Android

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

Аннотация

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

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

Abstract

Leksanova E. V., Novikov P.S.

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.

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

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

В настоящее время родители и их дети, которые являются целевой аудиторией компании, не имеют точного представления о том, что такое робототехника и что дают занятия в этой сфере их детям. Разумеется, в детском возрасте большинство знаний приходит через игру, а робототехника этому очень сильно способствует, о чём говорится в трудах [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 создаётся пара «робот-телефон» и по Mac-адресу передаётся видеоизображение в интерфейс приложения на телефоне. Потоковое видео является постоянно сменяющимися кадрами в формате 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('CachoControl',

'no-store, nocache, must-revalidate, pre-check 0, post-chec'k 0, max-

age=0')

new_response.headers.add('Pragma', 'nocache')

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.

Рис. 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

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.