Задача - разработать комплекс программ управления масштабной моделью. Он состоит из двух приложений - программы управления для одноплатного компьютера, и программы дистанционного управления для телефона. Масштабная модель представляет из себя платформу с четырьмя колёсами [1]. Приведение в движение происходит за счёт мотора, вращающего задние колёса, а направление движения регулируется сервоприводом, задающим угол поворота передних колёс. Помимо перемещения в пространстве, присутствует возможность подключения периферии, для реализации дополнительных возможностей.
Согласованную работу оборудования обеспечивает одноплатный компьютер Raspberry Pi 3 Model B. Управление периферией происходит как при помощи широко-импульсной модуляции, так и через интерфейсы I2C, SPI и USB. Присутствует возможность подключения веб-камеры, дисплея и устройств для вывода объёмного звука.
В качестве пульта дистанционного управления используется телефон с сенсорным экраном под управлением Android, специальное оборудование не требуется.
Связь осуществляется по Wi-Fi.
Прежде всего сравнение стоит произвести с готовыми решениями, доступными в магазинах. Их основная задача — это участие в соревнованиях по преодолению специально обустроенных треков за наименьшее время. Для эффективного достижения этой цели, такие модели очень сильно упрощены и обладают только минимальным набором возможностей. Связь происходит по радиоканалу с использованием закрытого, не документированного протокола и требует наличия специального пульта дистанционного управления. Поддерживается до восьми каналов периферийных устройств. Поддерживаются только периферийные устройства, управляемые широтно¬импульсной модуляцией. Из перечисленного становится понятно, что в таких решениях нет потенциала для дальнейшего развития. Внесение в их работу дополнительных возможностей потребует больших усилий, так как придётся изучать работу не документированных протоколов и добавлять дополнительные каналы передачи информации.
Среди открытых решений разработки в области наземного транспорта не пользуются популярностью. Поэтому стоит рассмотреть Open.HD, проект для дистанционного управления беспилотными летательными аппаратами на очень больших расстояниях. Он задумывался как демонстрация предельных возможностей по передаче видео разрешения 1920х1080 с помощью технологии Wi-Fi. Для достижения этой цели он использует недокументированные возможности, присутствующие в некоторых передатчиках Wi-Fi. Поэтому как на летательном аппарате, так и на наземной станции, используется одноплатный компьютер с пользовательской прошивкой. Сигнал с платформы принимает наземная станция, к которой уже подключается телефон, с которого оператор осуществляет управление. В отличии от этого проекта, в моей работе телефон сообщается с платформой на прямую, связь устанавливается за счёт встроенных маломощных передатчиков, и разрешение подстраивается под соотношение сторон дисплея телефона.
В качестве итогов работы были проведены полевые испытания прототипа платформы под управлением разработанного программного обеспечения. Испытания проводились на хоккейной коробке. Выяснилось, что без использования внешней антенны радиус действия составляет 20 м. Однако, при отключении трансляции видео, радиус резко увеличивается и как минимум полностью покрывает коробку, то есть превышает 60 м.
Вывод состоит в том, что прежде всего необходимо сделать приоритет управляющего потока выше, чем видеопотока. Также следует уменьшить требования для передачи видеопотока к полосе пропускания. Даная конфигурация видеопотока служила только для проверки концепции по передаче изображения с низкой задержкой. Испытание показало, что на близком расстоянии задержка не ощущается глазом и моделью можно комфортно управлять, ориентируясь только по виду от первого лица.
Требования к полосе пропускания можно сократить путём использования межкадрового сжатия. Кроме того, необходимо снять ограничение на размер ключевого кадра. Это достигается разбиением кадра на пакеты на программном уровне. Протокол прикладного уровня RTP как раз предназначен для реализации такого функционала.
1. Дорожкин А.Е. Руководство по самостоятельному проектированию и сборке масштабной модели с автономным управлением на примере Koenigsegg One:1. //Математическое и программное обеспечение информационных, технических и экономических систем : материалы VIII Международной молодежной научной конференции. Томск, 26-30 мая 2021 г. Томск: Изд-во Том. ун-та, 2021. С. 3-8.
2. Bluetooth profiles [Электронный ресурс] // Официальный сайт
Android. URL:
https://developer.android.com/guide/topics/connectivity/bluetooth/profiles (дата обращения: 22.05.2022).
3. Supported media formats [Электронный ресурс] // Официальный сайт
Android. URL: https://developer.android.com/guide/topics/media/media-
formats#video-codecs (дата обращения: 22.05.2022).
4. Raspberry Pi 3 model B+ Datasheet [Электронный ресурс] //
Официальный сайт Raspberry Pi. URL:
https://datasheets.raspberrypi.com/rpi3/raspberry-pi-3-b-plus-product-brief.pdf (дата обращения: 22.05.2022).