![](/user_photo/_userpic.png)
книги / Прототипирование сетевой системы управления. Разработка Windows-приложения удаленного контроллера прототипа робота-официанта на базе PROMOBOT V
.4.pdf![](/html/65386/197/html_1H3Du6uPcd.FMUw/htmlconvd-VCo9N71x1.jpg)
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования «Пермский национальный исследовательский политехнический университет»
ПРОТОТИПИРОВАНИЕ СЕТЕВОЙ СИСТЕМЫ УПРАВЛЕНИЯ. РАЗРАБОТКА WINDOWS-ПРИЛОЖЕНИЯ УДАЛЕННОГО КОНТРОЛЛЕРА ПРОТОТИПА РОБОТА-ОФИЦИАНТА НА БАЗЕ PROMOBOT V.4
Методические указания к лабораторной работе № 8
Пермь 2019
1
Составитель канд. техн. наук, доцент кафедры
автоматики и телемеханики О.В. Гончаровский
УДК 007.52
П83
Рецензент д-р техн. наук, профессор кафедры
автоматики и телемеханики С.Ф. Тюрин (Пермский национальный исследовательский политехнический университет)
Прототипирование сетевой системы управления. РазП83 работка Windows-приложения удаленного контроллера прототипа робота-официанта на базе PROMOBOT V.4 : метод. указания к лаб. работе № 8 / сост. О.В. Гончаровский. – Пермь :
Изд-во Перм. нац. исслед. политехн. ун-та, 2019. – 58 с.
ISBN 978-5-398-02120-2
Рассмотрено быстрое прототипирование сетевой системы управления сервисного робота «Промобот». Подробно освещены вопросы создания программ автоматического управления движением самоходной тележки сервисного робота по алгоритму «Исследователь лабиринта».
Издание ориентировано на студентов бакалавриата и магистратуры направлений 27.03.04 и 27.04.04 – «Управление в технических системах», 15.03.06 и 15.04.06 – «Мехатроника и робототехника», а также на студентов других направлений и специальностей технического профиля вуза.
УДК 007.52
ISBN 978-5-398-02120-2 |
©ПНИПУ, 2019 |
2
СОДЕРЖАНИЕ |
|
Введение.............................................................................................. |
4 |
1. Сетевые системы управления........................................................ |
5 |
2. Прототипирование складского робота с манипулятором |
|
на базе PROMOBOT V.4 ................................................................ |
9 |
3. Разработка программного обеспечения |
|
встроенных систем ....................................................................... |
13 |
3.1. Организация вычислительного процесса ............................ |
13 |
3.2. Этапы разработки ПО............................................................ |
14 |
4. Порядок выполнения лабораторной работы № 8 ...................... |
15 |
4.1. Установка навигационной системы ..................................... |
15 |
4.2. Карта лаборатории................................................................. |
17 |
4.2.1. Связывание системы координат карты |
|
навигационной системы с системой координат |
|
карты лаборатории....................................................... |
17 |
4.2.2. Построение карты лаборатории ................................. |
19 |
4.3. Разработка клиента навигационной системы...................... |
21 |
4.4. Чтение карты помещения...................................................... |
25 |
4.5. Задание маршрута движения ................................................ |
37 |
4.6. Движение по маршруту......................................................... |
40 |
4.7. Отчет о выполнении лабораторной работы № 8................. |
54 |
Список литературы........................................................................... |
55 |
Приложение А................................................................................... |
56 |
Приложение Б ................................................................................... |
57 |
3
ВВЕДЕНИЕ
Лабораторная работа № 8 “Разработка Windows-приложения удаленного контроллера прототипа робота-официанта на базе PROMOBOT V.4” является развитием лабораторного практикума «Прототипирование сетевой системы управления», содержащего три лабораторные работы – № 3, 6 и 7. Лабораторная работа № 8 наследует результаты лабораторной работы № 7.
Предположим, что есть новая идея устройства, которое должно измерять, воздействовать и иметь пользовательский интерфейс. Как убедиться, что концепция устройства работоспособна. Для этого необходимо создать прототип (макет), разработав, изготовив и собрав (например, на контрактном производстве) собственные узлы или же использовать близкие по характеристикам готовые узлы.
Рассмотрим второй путь, известный как быстрое прототипирование. Одним из вариантов быстрого прототипирования является «обратимый взлом» (reversible hacking) – это модификация серийного устройства, которую можно отменить для возвращения устройства в исходное состояние.
Во многих университетах для освоения компетенций, относящихся к разработке встроенных систем, используется, например, модификация серийного робота-пылесоса с открытым интерфейсом компании iRobot, известная как iRobot Create 2. К iRobot Create 2
через соединитель mini-DIN и преобразователь USB-UART может быть подключен персональный компьютер или микроконтроллер, к которым, в свою очередь, могут быть подключены готовые компоненты с датчиками и исполнительными механизмами.
Другим устройством для быстрого прототипирования может стать сервисный робот PROMOBOT V.4 от компании «ПромоБот», содержащий гораздо больше датчиков, исполнительных механизмов и более производительный процессорный узел, чем iRobot Create 2. PROMOBOT V.4 также оснащен средствами удаленного манипулирования через веб-интерфейс. PROMOBOT V.4 работает под управлением открытой мета-операционной системы ROS под Ubuntu.
4
Цель лабораторного практикума – приобретение умений и навыков по прототипированию сетевой системы управления на примере сервисного робота PROMOBOT V.4.
Для выполнения лабораторной работы необходимы персональный компьютер с установленной операционной системой
Windows и WiFi-роутер.
На персональный компьютер необходимо установить дополнительное свободно распространяемое ПО, сохраненное в USB- флэш-накопителе. Папку PromobotLab необходимо скопировать из USB-флэш-накопителя на персональный компьютер. Порядок установки ПО приведен в лабораторной работе № 3.
1. СЕТЕВЫЕ СИСТЕМЫ УПРАВЛЕНИЯ
Сетевые системы управления (NCS – Networked Control Systems) – это встроенные системы, использующие различные существующие коммуникационные сети для связи контроллеров, датчиков, исполнительных механизмов и объектов управления, расположенных как в разных местах в пределах ограниченной территории предприятия, так и в географически разных местах.
На рис. 1.1, 1.2 и 1.3 приведены канонические структуры NCS [1], такие как: с удаленным оператором, с удаленным контроллером, с контроллерами с двух сторон.
Формулирование технического задание (ТЗ) на разработку NCS выполняется по ее функциональной модели, представляющей функции управления в виде диаграммы потока данных в базисе {B, I, C} [1], где:
B (поведение) – определяет функцию в виде алгоритма;
I (интерфейс) – получаемые и отправляемые данные функции управления;
C (коммуникации) – моделирует поток данных между функциями внутри системы.
5
![](/html/65386/197/html_1H3Du6uPcd.FMUw/htmlconvd-VCo9N76x1.jpg)
Рис. 1.1. Структура NCS с удаленным оператором
Рис. 1.2. Структура NCS с удаленным контроллером
6
![](/html/65386/197/html_1H3Du6uPcd.FMUw/htmlconvd-VCo9N77x1.jpg)
Рис. 1.3. Структура NCS с контроллерами с двух сторон
Для описания функций NCS в терминах {B, I, C} используется диаграмма событий управления объектом (Process Control Event Diagram или PCED), иллюстрирующая взаимодействие между шестью уровнями управления (рис. 1.4):
–оператор (Operator);
–команда (Command);
–коммуникационная сеть (Communication Network);
–локальный компьютер – вычислительный процесс (Local Computer– Computation);
–датчики/исполнители – измерение/действие (Sensor, Actuator– Measurement, Control action);
–объект управления (Process).
В функциональной модели представлены три типа узлов. Узлы объекта (Object Nodes) описывают информацию, получаемую от объекта посредством датчиков, или получаемую объектом от исполнителей, или оператора. Узлы ввода вывода (In-
7
![](/html/65386/197/html_1H3Du6uPcd.FMUw/htmlconvd-VCo9N78x1.jpg)
put/Output Nodes: N1, …, N5) представляют обмен сигналами между вычислителем и сетью или вычислителем и датчиками/ исполнителями. Вычислительные узлы (Computation Nodes) представляют действия контроллера.
Рис. 1.4. Функциональная модель NCS
Из рис. 1.4 видно, что в спецификации системы управления выделяются три аспекта:
–структурный, описывающий декомпозицию системы на более мелкие компоненты, отношения между этими элементами и структуры данных, определяющие состояние системы и ее ком-
понентов (client, internet, local computer/node, sensor, actuator);
–поведенческий, определяющий набор внешних (input/output node, object/variable node), поступающих в систему от ее окружения и внутренних, синхронизирующих деятельность ее компонентов, событий (Х) и реакции (Y) системы на эти события;
–вычислительный, связанный с преобразованием данных, определяющих состояние системы (computation node).
NCS, использующая Интернет как общую коммуникационную сеть, получила название системы управления через Интернет
8
(ICS – Internet-based Control Systems). ICS для взаимодействия оператора и контроллера используют веб-интерфейс. Вебинтерфейсы получили широкое распространение в связи с ростом популярности всемирной паутины и соответственно повсеместного распространения веб-браузеров. Веб-интерфейс стал альтернативой множеству оригинальных графических пользовательских интерфейсов (GUI) и командной строке (CLI).
2. ПРОТОТИПИРОВАНИЕ РОБОТА-ОФИЦИАНТА НА БАЗЕ PROMOBOT V.4
Пусть требуется разработать проект робота-официанта, ключевые пункты технического задания которого приведены ниже.
1. Общие сведения.
1.1. Наименование системы.
Система управления робота-официанта с автоматической тележкой. Условное обозначение системы: «Официант – Бот
(Waiter Bot)».
1.2. Сроки начала и окончания работ. 2. Назначение и цели создания системы. 2.1. Назначение системы.
Система управления «Официант – Бот» предназначена для управления движением тележки при ее перемещении из любой точки помещения в любую другую точку помещения при доставке заказа посетителю кафе.
2.2. Цели создания системы.
Целью внедрения системы является автоматизация процесса обслуживания посетителей кафе.
3. Характеристика объекта управления
Объектом управления является автоматическая самоходная тележка с дифференциальным приводом постоянного тока, датчиками препятствий и навигационной системой для помещений
Indoor GPS Marvelmind.
9
4. Требования к системе.
4.1. Требования к системе в целом.
4.1.1.Требования к структуре системы.
4.1.2.Требования к режимам функционирования сис-
темы.
Автоматический режим под управлением программы удаленного контроллера, в котором выполняются перемещения тележки по выбранному маршруту с объездом возникающих препятствий.
4.1.3.Требования к способам и средствам связи для информационного обмена между элементами системы.
Обмен данными через Интернет на прикладном уровне должен выполняться по оригинальному протоколу поверх UDP.
4.1.4.Требования к диалогу с пользователем.
Специализированный графический пользовательский ин-
терфейс (GUI).
Основные компоненты программного обеспечения системы управления по этому техническому заданию могут быть разработаны с использованием прототипа на основе сервисного робота PROMOBOT V.4 (рис. 2.1). Это дает возможность разрабатывать программное обеспечения одновременно с разработкой и изготовлением необходимого аппаратного обеспечения.
PROMOBOT V.4 может быть использован для прототипирования благодаря его характеристикам, схожим с разрабатываемым устройством (табл. 2.1).
Indoor GPS Marvelmind – готовая к использованию из коробки система высокоточной (±2 см) навигации внутри помещений, базирующаяся на стационарных ультразвуковых маяках, объединенных в единую систему через радиоинтерфейс в безлицензион-
ном диапазоне (https://marvelmind.com/products/).
Положение мобильного маяка, установленного на роботе (погрузчике/коптере/человеке), высчитывается по времени задержки прихода ультразвукового сигнала к стационарным маякам, используя трилатерацию.
10