Косолапов К.В.1, Распутин Д.А.2, Тюгаев М.В.3, Адигамов И.С.4
1Аспирант, 2Студент, 3Студент, 4Студент Магнитогорский Государственный Технический Университет
РАЗРАБОТКА УНИВЕРСАЛЬНОГО МОДУЛЬНОГО АВТОМАТИЗИРОВАННОГО КОМПЛЕКСА УДАЛЁННОГО ПРИСУТСТВИЯ
Аннотация
В современной промышленности предъявляются высокие требования к контролю технологических процессов автоматизированными методами. Одним из основных направлений, является контроль технологических процессов удалёнными методами. В данной работе рассматриваются разработанные способы и алгоритмы управления роботизированной платформы, реализованной посредством серверных технологий, и создания программного обеспечения для управления платформой посредством беспроводной передачи данных Bluetooth./ Данные технологии могут быть использованы для построения комплексных робототехнических систем удалённого мониторинга технологических процессов.
Ключевые слова: автоматизация, робототехника, удалённое управление.
Kosolapov K.V.1, Rasputin D.A.2, Tyugay M.V.3, Adigamov I.S.4,
1Postgraduate student, 2Student, 3Student, 4Student. Magnitogorsk State Technical University
DEVELOPMENT OF A UNIVERSAL MODULAR AUTOMATED COMPLEX REMOTE PRESENCE
Abstract
In modern industry, high requirements for the control of technological processes by automated methods. One of the main areas is the remote process control methods. This paper discusses the developed methods and algorithms for control a robotic platform, implemented by server technologies, and the creation of management software platform through wireless data transfer Bluetooth. / These technologies can be used to build complex robotic systems remote process monitoring.
Keywords: automation, robotics, remote control.
Современная промышленность предъявляет высокие требования к безопасности и экологичности производственных процессов. Требования безопасности зачастую не позволяют проводить мониторинг протекающих процессов в рамках условий повышенного риска жизни и здоровья человека, что в свою очередь ставит задачу контролировать данные процессы без непосредственного присутствия человека в зонах повышенного риска.
Для решения данного вопроса была разработана система удалённого присутствия, представляющая из себя универсальную автоматизированную, роботизированную платформу, с возможностью удалённого управления посредством связи через сеть Интернет, или с помощью Wi-Fi соединения.
Суть разработки заключается в том, что включение различных измерительных модулей в автоматизированную платформу, даёт широкий спектр видов удалённого контроля.
Основными задачами, поставленными перед разрабатываемым комплексом, были:
Контроль сварных соединения трубопроводов посредством ультразвукового метода контроля.
Визуальный контроль трудно доступных пространств (трубы, полости, шахты и т.д.)
Контроль уровня радиационного и иного загрязнения
Поиск опасных для жизни и здоровья предметов ( мины и т.д.)
Иной контроль в зонах повышенного риска жизни и здоровью человека.
Решение данных задач позволит снизить риски связанные с вероятностью таких техногенных катастроф, как разливы нефти, взрывы газопроводов и шахт, снизить вероятность нанесения вреда жизни и здоровью такими техногенными факторами как радиационное и химическое загрязнение. Повысить качество контроля производственных процессов.
Новизна разработки заключается в применении удалённого метода контроля посредством модульной ,а следовательно универсальной роботизированной системы.
Система состоит из четырёх основных элементов: пользовательское приложение, серверная часть – облако, планшетное устройство первичного управления посредством Bluetooth, аппаратной части платформы.
На роботизированной платформе установлен планшетный компьютер, использующийся для соединения с персональным компьютером и передачей ему данных с камеры через Интернет. Роботизированная платформа соединена с планшетным компьютером через bluetooth. Таким образом мы получаем связку «платформа – планшет – компьютер», которая обеспечивает работоспособность робота присутствия.
В этой связке не хватает важного звена, а именно средства соединения планшета и персонального компьютера. Не представляется возможным гарантировать, что и планшет, и компьютер будут идентифицироваться уникальным «белым» IP-адрессом, то не представляется возможным гарантировать, прямого соединения этих устройств. При подключаясь к Интернету через маршрутизатор или мобильный интернет, устройство идентифицируется неуникальным «серым» IP-адресом, который может изменяться или же принадлежать нескольким устройствам одновременно.
Для решения этой проблемы было разработано два возможных варианта: реализация или покупка протокола обхода маршрутизаторов и создание выделенного сервера. Первый вариант был исключен, так как реализация протокола обхода маршрутизаторов достаточно трудоемкий процесс, а готовая реализация стоит немалых денег. Идеальным вариантом для решения данной проблемы является выделенный сервер, который выступает посредником в соединении планшета и компьютера.
Наиболее приемлемым языком программирования для разработки сервера является Python. Этот язык обладает богатой палитрой средств для создания приложений сетевого взаимодействия. Так как основной задачей сервера является передача данных (команд) от компьютера платформе, было принято решение реализовать сервер по протоколу http. Являясь протоколом прикладного уровня передачи данных, http способен передавать любые данные по схеме «запрос – ответ». Сама модель http подразумевает наличие клиента и сервера, что делает протокол наиболее приемлемым для решения поставленной задачи.
Для реализации механизма передачи данных используется библиотека Bottlе. Bottle – простая библиотека реализации сетевого взаимодействия, помещающаяся всего в один файл. Но несмотря на свою минималистичность, библиотека предоставляет широкие возможности, которых хватает для решения поставленной задачи. Роутинг в Bottle осуществляется с помощью декораторов. Был сделан вывод, что для небольшого сервера, данная библиотека подходит наилучшим образом.
Для временного хранения данных до получения их роботом, используется средство кэширования в оперативной памяти Memcache. Используя оперативную память как хранилище данных, Memcache допускает присваивание каждому объекту данных индивидуального ключа, по которому этот объект может быть извлечен из памяти.
Предполагаемый формат объекта данных json-объект (java script object notation). Он представляет из себя структуру, состоящую из текстовой строки и произвольного параметра. Таких пар в одном json- объекте может быть несколько.
Используя вышеперечисленные компоненты создаем необходимые нам путь, при обращении по которому, сервер будет возвращать данные роботу, извлекая их из памяти
@route(‘/robot/anything_for_robot’)
def r_anything():
command = memory.get(“comm_for_robot”)
memory.delete(“comm_for_robot”)
return command
Так же создаем get-запрос, который будет получать данные от клиента
@get(‘/client/anything_for_server/:command’)
def s_anything(command):
memory.set(“comm_for_robot”, command)
Из данных функций состоит основная часть сервера
Таким образом средствами языка программирования Python нам удалось создать надежное средство передачи команд от управляющего устройства (персонального компьютера) роботизированной платформе. Кроме того, сервер имеет возможность расширения, то есть добавления дополнительных функций, в том числе и функций организующих обратную связь для передачи данных от робота к управляющему устройству.
Важным компонентом являлось Создание программного обеспечения для управления передвижением роботизированной платформы.
При подготовке работы были поставлены следующие задачи:
- Разработать алгоритм для формирования и передачи команд управления;
- Разработать алгоритм для работы платформы и приёма команд управления;
- Разработать алгоритм для считывания команд управления;
- Разработать алгоритм для обработки команд и управления двигателями колёс.
Данный комплекс задач был реализован следующим образом:
Формирование и передача команд управления происходит на планшетном устройстве, которое формирует необходимую команду, используя предоставленный интерфейс. Планшет пытается подключиться к последовательному порту микроконтроллера. Если подключение произошло, то формируется команда и затем происходит её передача, иначе планшет производит попытки подключения к последовательному порту микроконтроллера до тех пор, пока подключение не будет установлено, либо приложение на планшете не будет завершено.( рис.1)
Приём команд управления происходит посредством последовательного COM-порта, который располагается на платформе с микроконтроллером. Платформа в непрерывном режиме производит считывание присылаемой команды, далее происходит её обработка. Блок-схема алгоритма работы платформы показана в (рис.2)
Считывание команды происходит в два этапа. Сначала считывается основная команда. Затем она анализируется. Далее, если эта команда относится к разряду команд с параметром, то происходит повторное считывание – считывание параметра. В нашем случае в качестве параметра подразумевается значение скорости. Блок-схема алгоритма считывания команды показана в (рис. 3).
Управление двигателями колёс осуществляется с помощью подачи напряжение на определённые контакты. В качестве силы подаваемого напряжения выступает считанный нами параметр скорости. Значение скорости подается на оба двигателя в том или ином направлении, в зависимости от команды, тем самым осуществляя передвижение всего устройства в целом, а также его повороты и остановку (рис. 4).
Рис. 4 – Блок схема программы управления
Итогом, проделанной работы, стало решение всех поставленных задач. Был сформирован комплекс, позволяющий осуществлять формирование и отправку команд, их считывание и обработку, а также управление устройством на основе этих команд. Данная разработка может послужить основой устройствам, требующим удалённого управления.
Литература
- Белов В.К. монография “Профили поверхности” ”МГТУ им. Г.И. Носова” 2010, 260 с
- Клюев В.В. “неразрушающий контроль”, издательство “Машиностроение” 2003, 657 с.
- Наумов В. Н., Пятов Л. И. “Автоматика и автоматизация производственных процессов в легкой промышленности” , издательство “лёгкая и пищевая промышленность “ 1983, 256 с.