Научная статья на тему 'Управление мобильным роботом с помощью платформы THINGWORX'

Управление мобильным роботом с помощью платформы THINGWORX Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
793
83
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
микроконтроллеры / управление / программирование / интернет вещей / microcontrollers / control / programming / internet of things

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Серебренников Иван Владимирович, Крайников Александр Николаевич

В статье рассмотрена концепция интернета вещей, применимая к мобильным роботам и умным домам. Выполнено описание и первичное программирование системы управления, а также подбор компонентов системы и среды программирования. Созданы первичные представления о платформе ThingWorx.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Серебренников Иван Владимирович, Крайников Александр Николаевич

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

Mobile robot control using the THINGWORX platform

The article discusses the concept of the Internet of things applicable to mobile robots and smart homes. Implementation of the description and primary programming of the control system. Initial ThingWorx platform concepts created.

Текст научной работы на тему «Управление мобильным роботом с помощью платформы THINGWORX»

Управление мобильным роботом с помощью платформы THINGWORX Mobile robot control using the THINGWORX platform

УДК 681.5 Серебренников Иван Владимирович,

Северный арктический федеральный университет им. М.В. Ломоносова, г.Архангельск

Крайников Александр Николаевич,

Северный арктический федеральный университет им. М.В. Ломоносова, г.Архангельск

Serebrennikov I.V., w [email protected] Krajnikov A.N., kpahyx@gmail. com

Аннотация. В статье рассмотрена концепция интернета вещей, применимая к мобильным роботам и умным домам. Выполнено описание и первичное программирование системы управления, а также подбор компонентов системы и среды программирования. Созданы первичные представления о платформе ThingWorx.

Summary. The article discusses the concept of the Internet of things applicable to mobile robots and smart homes. Implementation of the description and primary programming of the control system. Initial ThingWorx platform concepts created.

Ключевые слова: микроконтроллеры, управление, программирование, интернет вещей. Keywords: microcontrollers, control, programming, internet of things.

Определения, обозначения и сокращения

В настоящем текстовом документе применяются следующие определения, обозначения и сокращения:

PUT-запрос - обращение к базе данных на сервере для обновления определенного параметра

GET-запрос - обращение к базе данных на сервере для получения значения определенного параметра

MAC-адрес - уникальный идентификатор, присваиваемый каждой единице активного оборудования или некоторым их интерфейсам в компьютерных сетях «Ethernet». REST API — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.

UART (универсальный асинхронный приёмопередатчик) - узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами PTC Cloud - облачное хранилище содержащее предустановленное ПО для моделирования и управления интернет вещами.

Wemos D1 R1 mini - контроллер обладающий встроенным Wi-Fi модулем.

Wi-Fi — технология беспроводной локальной сети с устройствами на основе стандартов

IEEE 802.11

Dualshock 4 — беспроводной контроллер фирмы «PlayStation», обладающий набором кнопок, курков и джойстиков.

ThingWorx - платформа, предоставляющая услуги и ПО для моделирования и сопровождения систем, основывающихся на управлении интернет вещами.

Интернет вещей - концепция вычислительной сети физических предметов, оснащённых встроенными технологиями для взаимодействия друг с другом или с внешней средой.

Visual Studio Code - программа для редактирования кода программы, обладающая большим количеством подключаемых плагинов.

Platformio - плагин для Visual Studio Code, позволяющий производить компиляцию и прошивку скетчей для микроконтроллеров.

ВВЕДЕНИЕ

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

В следствии развития данной технологии было принято решение изучить концепцию интерната вещей путем решения реальной задачи.

Концепция интернета вещей Прежде всего необходимо разобраться что означает понятие «Интернет вещей». По началу эта фраза выглядит необычной и по названию сложно понять, что она означает.

Для того чтобы вникнуть в суть понятия интернет вещей следует обратить внимание на английское написание, а именно: «Internet of thing». Становится понятно, что интернет вещей следует рассматривать скорее не как «интернет», а как «сеть».

Самое распространённое определение «Internet of thing» — концепция вычислительной сети физических предметов («вещей»), оснащённых встроенными технологиями для взаимодействия друг с другом или с внешней средой, рассматривающая организацию таких сетей как явление, способное перестроить экономические и общественные процессы, исключающее из части действий и операций необходимость участия человека.

Мы разобрались что означает понятие интернета вещей, теперь давайте углубимся в более формальные вещи. Начнем с того, что первым о интернете вещей заговорил Кевин Эштон в 1999 году и зарождалось все с метода радиочастотной идентификации. Но появление первой интернет вещи случилось еще раньше. В 1990 году Джон Ромки подключил к сети свой тостер. А первым предрек создание подобной концепции Никола Тесла в 1926 году. Тогда он назвал это «Большой мозг». «Рождение» же интернета вещей предписывают к 2008-2009 году. В этом году количество вещей, подключенных к глобальной сети превысило численность населения Земли. Таким образом «Интернет людей» стал «Интернетом вещей». В настоящий момент на одного человека в среднем приходится около 6.5 вещей, подключенных к глобальной сети.

По мнению Роба Ван Краненбурга интернет вещей представляет из себя «четырехслойный пирог»:

- 1 уровень связан с идентификацией каждого объекта;

- 2 уровень предоставляет с сервисом по обслуживанию потребностей потребителя («умный дом»);

- 3 уровень связан с урбанизацией городской жизни. («Умный город»);

- 4 уровень - сенсорная планета.

Другими словами, интернет вещей можно рассматривать как вещи, объеденные в группы и производящие обмен данными между собой. Пример представлен на рисунке 1.

Рисунок 1 - Группировка сетей интернета вещей

Следует так же отметить, что интернет вещий принято разделять на 4 технологии (средства), а именно:

- Средства идентификации. Иначе говоря, задействование в интернете вещей предметов реального мира. Может производиться с помощью различных идентификаторов, радиометок, штрих кодов, средств определения местоположение и так далее. Для объектов, подключенных к сети интернет, зачастую используется «МАС-адрес».

- Средства измерения. Они обеспечивают преобразование о внешней среде в машинные данные. В роли средств изменения могут выступать различные датчики, приборы учета, а также другие измерительные системы.

- Средства передачи данных. В основе своей средства передачи данных разделяются на проводные и беспроводные. Средства передачи данных предназначены для отправки данных от вещи к вещи или сервису.

- Средства обработки данных. Выступают в роли ЭВМ, обеспечивающих обработку данных согласно заданным алгоритмам. Зачастую в роли обработчиков данных выступают облачные технологии.

Платформа ThingWorx

Thingworx - это платформа для организации централизованного общения между объектами интернета вещей. Всю платформу можно разделить на 5 основных частей. Смотреть рисунок 2.

Рисунок 2 - Составные части платформы Thingworx

Давайте разберем платформу на составные части:

- Основной частью является «Thingworx Foundation». Она представляется собой объединяющую часть, к которой подключают модули, по мере необходимости

- «Thingworx analytics» отвечает за анализ данных, выявление паттернов и предсказывание ситуаций.

- «Thingworx studio» предназначен для решений дополненной реальности и их интеграции с методами интернета вещей.

- «Thingworx utilities» представляет собой набор заранее готовых решений для управления объектами сети или обработки данных.

- «Thingworx industrial connectivity» используется предприятиями для облегчения интеграции интернета вещей в производство.

В «Thingworx» предусмотрен удобный интерфейс работы. Он представляет собой «Thingworx composer» и «Mashup builder». Обе эти части входят в «Thingworx Foundation» и составляют основную его часть.

«Thingworx composer» - это система моделирования и управления интернет вещами. С помощью этой системы можно настроить параметры интернет вещи, сервисы обработки параметров, организовать ограничения пользователей доступа к интернет вещам и многое другое. Интерфейс «Thingworx composer» представлен на рисунке 3.

Рисунок 3 - Интерфейс thiiigworx composer

«Mashup builder» - представляет собой систему построения веб-интересов для управления вещью. С помощью данной системы можно создать большое количество веб-интерфейсов, которые представляют собой «html» страницы и настроить их для своего удобства. Интерфейс «Mashup builder» представлен на рисунке 4.

Рисунок 5 - Схема работы «REST API»

Описание принципов работы системы управления

Для того, чтобы реализовать управление мобильным роботом нам необходимо передавать команды от пульта управления в робота. В качестве данных передачи мы будем использовать обычное 10-тичное, целое число, каждое значение которого описывает действие, которые необходимо выполнить. Далее приведено краткое описание выбранных нами инструментов и методов и узлов, необходимых для передачи команды.

Как уже говорилось ранее, для организации общения объектов будут использованы http запросы. С пульта управления (в его роли будет выступать контроллер Dualshock 4) мы будем передавать команду по средствам «UART» на контроллер «Wemos D1 R1 mini», который в свою очередь будет иметь выход в глобальную сеть. Он будет посылать «PUT -запрос» сначала на «REST API», а затем на «PTC Cloud», который мы заранее запустили. На сервере команда, которую мы послали будет обрабатывать и сохраняться в виде переменной. В свою очередь контроллер «Wemos D1 R1 mini», который установлен на мобильном роботе, посылает «GET-запрос» на сервер thingworx и в ответ получает нужную переменную, в которой содержится код команды. Далее команда передается по средствам «UART» на плату управлениями моторами. Схема передачи данных схематично представлена на рисунке 6.

Рисунок 6 - Схема передачи данных

А теперь подробней разберем некоторые части схемы. Каждое нажатие или положение кнопки на «Dualshock 4» однозначно кодируется числом, что позволяет нам производить управление используя лишь одну переменную типа «int». Контроллер «Dualshock 4» изображен на рисунке 7.

«Wemos D1 R1 mini» имеет интегрированный модуль «Wi-Fi», что позволяет ему подключиться к «Wi-Fi» сетям, с доступом в сеть интернет и отправлять/принимать «http» запросы по указанным «URL». Контроллер «Wemos D1 R1 mini» изображен на рисунке 8.

Рисунок 8 - Контроллер «Wemos Dl RI mini»

«PTC Cloud» можно представить, как базу данных, хранящую необходимые нам значения, для того чтобы обращаться к этой базе данных мы будем использовать описанные ниже запросы.

«PUT-запрос» применяется для загрузки содержимого запроса на указанный URL. В нашем случае мы передаем код команды на сервер.

«GET-запрос» используется для запроса содержимого по указанному URL. В нашем случае мы запрашиваем значение переменной, содержащей код нашей команды, и в ответ получаем файл JSON формата с нужным нам значением переменной.

«UART» - это протокол передачи данных. С помощью него и 3-х проводников мы сможем передавать данные между контроллерами.

Конечным пунктом команды является плата управления моторами. Она получает число, отправленное нами с пульта управления и выполняет действие в соответствии с полученным числом.

Таким образом происходит управление мобильным роботом.

Описание процесса создания системы управления Создание системы управления, с использованием интернета вещей, занимает большое количество временных ресурсов. Процесс состоит из трёх этапов.

- 1 настройка «Thingworx Composer»;

- 2 программирование управляющей части;

- 3 программирование и настройка исполняющей части.

Настройка среды «Thingworx Composer» состоит из создания вещи и корректной настройки переменных в Properties. Вещь создаётся во вкладке «Things», процесс создания

пустой вещи показан на рисунке 9. Вкладку «Properties and Alerts» можно найти в верхней части управляющей панели.

Рисунок 12 - Создание проекта

Программная часть каждого из микроконтроллеров «Wemos D1 R1 mini» сводится к отправке и считыванию данных с удалённого сервера «Thingworx». Для корректной работы программы на «Framework Arduino» следует в основной части программы добавлять задержку в одну мс это связано с работой «Wi-Fi» модуля микроконтроллера.

Управляющий микроконтроллер считывает значения с контроллера «Dualshock 4» и отправляет данные по интерфейсу «http PUT» на сервер «Thingworx», где происходит сохранение данных во внутреннюю базу данных. Период отправки данных на сервер составляет 180 мс.

Исполняющий модуль должен с максимально большой возможной частотой считывать значения с удалённого сервера и по протоколу «UART» отправлять данные в драйвер робота.

Заключение

Концепция интернета вещей позволяет нам не только значительно упростить выполнение рутинных дел, а также внести в нашу жизнь автоматизированные системы, на подобии системы умный дом, но и управлять интернет вещами, считывать данные, анализировать и систематизировать информацию, а также проводить многие другие действия в удаленном или автоматизированном/автоматическом режиме.

Данное утверждение описано и доказано нами на примере, описанном в статье.

Список использованной литературы

1. Смит М. Д. Элементарные шаблоны проектирования // Пер. с англ. — М.: ООО «И.Д. Вильямс». 2013. C. 304.

2. Аллен Э. Типичные ошибки проектирования // Пер. с англ. -СПб.: Питер. 2003. C. 224.

3. Градди Б. Объектно-ориентированный анализ и проектирование с примерами приложений // Пер. с англ. — М.: ООО «И.Д. Вильямс». 2010. 720.

4. Перри Ли. Архитектура интернета вещей // ООО «ДМК Пресс». 2019. С. 454.

5. Репозиторий GitHub - [Электронный ресурс] - Режим доступа URL: https://github.com/w7a8n1 y4a/w7a8n1y4a client/.

6. Электронный журнал Habr - [Электронный ресурс] - Режим доступа URL: https:// https://habr.com/ru/post/149593/.

7. Документация по ThingWorx - [Электронный ресурс] - Режим доступа URL: http://support.ptc.com/help/thingworx_hc/thingworx_8_hc/ru/

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