Исследование методов передачи и обработки данных между роботом на 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
Подобные документы
Информационно-измерительные системы мобильных роботов. Системы технического зрения; дескриптивный подход к обработке, анализу и распознаванию изображений. Разработка программного обеспечения для создания СТЗ мобильного робота для ориентации в комнате.
дипломная работа [5,5 M], добавлен 10.05.2014Распространение одноплатных компьютеров. Основные преимущества материнской платы ATX по сравнению с SBC. Поддержка ЖК-панелей. Оптимизированные свободные операционные системы. Технические характеристики Raspberry Pi, Oval Elephant, Waysmall Silverlode.
курсовая работа [1,9 M], добавлен 01.04.2013Система помощи водителю на базе регистратора. Установка операционной системы Debian. Настройка системных служб и разработка серверного приложения. Создание локальной Wi-Fi сети. Распознавание знаков и библиотека OpenCV. Потоковое видео в Android.
дипломная работа [3,9 M], добавлен 13.09.2017Описание основных математических методов обработки эмпирических данных. Регрессионный метод и анализ ковариаций Ancova. Организация операционной системы, среды программирования на Android. Программная реализация метода 1МНК в среде С++ под Android.
дипломная работа [4,2 M], добавлен 23.03.2017Сравнение результатов имитационного моделирования и аналитического расчета характеристик. Исследование узла коммутации пакетов данных, обработки пакетов в процессоре, буферизации и передачи по выходной линии. Определение коэффициента загрузки процессора.
курсовая работа [59,7 K], добавлен 29.06.2011Системы сбора и передачи информации. Обоснование выбора кода, способа передачи и синхронизации. Выбор длины посылки, формата кодового перехода. Расчет помехоустойчивости и времени запаздывания. Разработка структурной схемы передающего устройства.
курсовая работа [412,8 K], добавлен 24.06.2013Мобильные роботы и комплексы на их основе. Аналитический обзор программных средств по созданию базы данных и интерфейсов пользователей. Open Interface и классификация команд. Разработка аппаратного комплекса для формирования управляющих программ робота.
дипломная работа [2,3 M], добавлен 22.06.2014Обзор моделей анализа и синтеза модульных систем обработки данных. Модели и методы решения задач дискретного программирования при проектировании. Декомпозиция прикладных задач и документов систем обработки данных на этапе технического проектирования.
диссертация [423,1 K], добавлен 07.12.2010Контроллер управления двигателями. Назначение, краткая характеристика, перспективы внедрения робота-дозиметриста. Обзор основных способов беспроводной передачи данных на большие расстояния. Проектирование принципиальной схемы бортового контроллера.
дипломная работа [2,4 M], добавлен 05.01.2013Беспроводные и проводные системы передачи данных. Методы обеспечения безошибочности передачи данных в сетях. Оценка зависимости показателей эффективности. Снижение вероятности появления ошибки сбора данных в соответствии с предъявленными требованиями.
дипломная работа [309,0 K], добавлен 14.10.2014