Разработка системы для взаимодействия между Robot Operating System и iOS | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №19 (257) май 2019 г.

Дата публикации: 13.05.2019

Статья просмотрена: 141 раз

Библиографическое описание:

Макеев, Т. А. Разработка системы для взаимодействия между Robot Operating System и iOS / Т. А. Макеев. — Текст : непосредственный // Молодой ученый. — 2019. — № 19 (257). — С. 10-14. — URL: https://moluch.ru/archive/257/58895/ (дата обращения: 17.12.2024).



Основной целью разработки системы является организация управления манипуляторами робота, разработанного в технологическом университете Lappeenranta, с помощью мобильных устройств. Для этого необходимо реализовать возможность передачи данных с мобильного устройства роботу. Используемый для работы робот состоит из мобильной платформы, двух манипуляторов, головы и фиксированного торса. Основным предназначением робота является оказание помощи человеку в ремонте и установки деталей машин. Например, данный робот может откручивать гайки и болты, устанавливать электронные карты, сверлить детали, открывать и закрывать отсеки и многое другое. В основе экспериментального робота заложена архитектура Robot Operating System.

Robot Operating System (ROS) — это программная платформа для программирования роботов. Первоначально она была разработана в 2007 году под названием switchyard в Лаборатории Искусственного Интеллекта Стэндфордского Университета [1]. Платформа основана на архитектуре графов, где обработка данных происходит в узлах, которые могут получать и передавать сообщения между собой.

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

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

Таким образом, диаграммы деятельности можно считать частным случаем диаграмм состояний. Они позволяют реализовать в языке UML особенности процедурного и синхронного управления, обусловленного завершением внутренних деятельностей и действий. Основным направлением использования диаграмм деятельности является визуализация особенностей реализации операций классов, когда необходимо представить алгоритмы их выполнения. На рисунке 1 представлена диаграмма деятельности для варианта соединения с ROSBridge.

C:\Users\Home\AppData\Local\Microsoft\Windows\INetCacheContent.Word\ActivityDiagram1.jpg

Рис. 1. Диаграмма деятельности для варианта соединения с ROSBridge

После инициализации объекта ROSConnector, перед попыткой соединения с сервером необходимо произвести валидацию параметров сервера и порта. Если значения корректны, произвести попытку соединения с сервером. Далее, в случае успешного соединения, перейти в состояние ожидания добавления объектов слушателей/отправителей, а также отправки сервис-параметров в ROSBridge. В случае неудачного соединения — произвести распознавание полученной ошибки и сообщить объекту-делегату, что соединение не установлено, вместе с полученной ошибкой.

На рисунке 2 представлена диаграмма деятельности для варианта добавления объекта ROSPublisher.

C:\Users\Home\AppData\Local\Microsoft\Windows\INetCacheContent.Word\ActivityDiagram2.jpg

Рис. 2. Диаграмма деятельности для варианта добавления объекта ROSPublisher

Для добавления отправителя сообщений необходимо инициализировать объект ROSPublisher. При инициализации необходимо указать topic, в который будут отправляться сообщения, а также указать тип сообщений, и произвести проверку корректности указанного типа. Далее — задать идентификатор. В случае успешного добавления — перевести значение логического поля активности данного отправителя в значение true, если при добавлении произошла ошибка — сообщить об этом объекту-делегату.

На рисунке 3 представлена диаграмма деятельности для варианта добавления объекта ROSSubscriber.

C:\Users\Home\AppData\Local\Microsoft\Windows\INetCacheContent.Word\ActivityDiagram3.jpg

Рис. 3. Диаграмма деятельности для варианта добавления объекта ROSSubscriber

Для добавления слушателя topic’a, необходимо инициализировать объект ROSSubscriber. При инициализации необходимо указать topic, сообщения которого объект будет слушать, тип получаемых сообщений, проверить корректность указанного типа, а также задать объект-делегат, методы которого будут вызываться при получении сообщений. Далее — задать минимальный интервал между принятием сообщений. Опционально присутствует возможность задать длину последовательности, степень сжатия и размер фрагментов. В случае успешного добавления — перевести значение логического поля активности данного слушателя в значение true, а если при добавлении слушателя произошла ошибка — сообщить об этом объекту-делегату.

Литература:

1. ROS — Robot Operating System [Электронный ресурс]. — http://robocraft.ru/blog/robosoft/721.html (дата обращения 25.11.2016 г.).

2. Леоненков А. В. Самоучитель UML. [Текст]. — СПб.: БХВ-Петербург, 2004. — 432 с.

Основные термины (генерируются автоматически): диаграмма деятельности, UML, вариант добавления, ROS, вариант соединения, добавление слушателя, логическое поле активности, полученная ошибка, попытка соединения, успешное добавление.


Похожие статьи

Разработка платформы, обеспечивающей совместную работу мобильного приложения и устройств доступа, для автоматизации коммерческой сдачи недвижимости «Smart Rent Systems»

Современные технологии управления фоновыми потоками в приложении Android

Информационная система для организации удаленной работы через сеть Internet

Использование математических пакетов Matlab & Simulink при разработке цифровых фильтров

Разработка формальной модели подбора наиболее оптимального Web Application Firewall (WAF)

Разработка и отладка программного обеспечения для подавления артефактов в электрокардиограмме

В данной статье описана спроектированная программа, представляющая виртуальную программу для подавления артефактов в электрокардиограмме, написанная в среде Mathcad. Так же был построен график спектральной области, по которому можно найти оптимальное...

Начало работы с IBM Data Studio

База данных Realm в iOS разработке

Информационная система для моделирования распространения загрязнения атмосферного воздуха с использованием ArcGIS

Некоторые прикладные системы массового обслуживания для подсчета численности мобильного персонала

Похожие статьи

Разработка платформы, обеспечивающей совместную работу мобильного приложения и устройств доступа, для автоматизации коммерческой сдачи недвижимости «Smart Rent Systems»

Современные технологии управления фоновыми потоками в приложении Android

Информационная система для организации удаленной работы через сеть Internet

Использование математических пакетов Matlab & Simulink при разработке цифровых фильтров

Разработка формальной модели подбора наиболее оптимального Web Application Firewall (WAF)

Разработка и отладка программного обеспечения для подавления артефактов в электрокардиограмме

В данной статье описана спроектированная программа, представляющая виртуальную программу для подавления артефактов в электрокардиограмме, написанная в среде Mathcad. Так же был построен график спектральной области, по которому можно найти оптимальное...

Начало работы с IBM Data Studio

База данных Realm в iOS разработке

Информационная система для моделирования распространения загрязнения атмосферного воздуха с использованием ArcGIS

Некоторые прикладные системы массового обслуживания для подсчета численности мобильного персонала

Задать вопрос