Найти в Дзене
Инновация

Моделирование приложений сервисной робототехники. Часть 1

Оглавление
Применение инженерной робототехники — это сложная задача, требующая решений из различных областей, а также их успешной интеграции. Эксперты в данной области (например, ИТ-специалисты больниц) редко являются специалистами по программной инженерии, и из-за концептуального разрыва между задачами в области и решениями в области программной инженерии интеграция их решений часто приводит к созданию монолитных архитектур программного обеспечения, которые трудно использовать в различных условиях. Это серьезно затрудняет внедрение сервисной робототехники.
https://www.pinterest.ru/pin/424182858655042641/
https://www.pinterest.ru/pin/424182858655042641/

Моделирование с использованием специфических для домена языков (DSL) может облегчить разработку программного обеспечения для робототехники, абстрагируясь от сложности языков программирования общего назначения (GPL) и позволяя экспертам по доменам предлагать решения на более подходящих языках, в конечном итоге сокращая концептуальный разрыв. Исследователи предлагают разделить задачи экспертов в области робототехники и интеграции, предоставив соответствующие DSL. DSL позволяют специалистам описывать задачи в виде последовательности целей, которые должен достичь робот. Задачи действуют в контексте доменной, роботизированной и мировой моделей. Все это переводится в интегрированные реализации GPL, в которых для решения задач в динамической среде нанимается планировщик. Реализации интегрированы с GPL-кодами роботов, предоставляемыми экспертами в области робототехники. Планировщик задач преобразует задачи в последовательность действий, которые выполняются на слабо связанных платформах роботов. Инфраструктура моделирования интегрирована в качестве архитектуры управления, разработанной экспертами по интеграции.

Сценарий

 Рассмотрим возможности применения сервисной робототехники для оказания помощи медицинским работникам в решении задач логистики. Успешное его развертывание требует специальных знаний в области робототехники, разработки программного обеспечения и прикладной области. Вместо того, чтобы заставлять экспертов в области робототехники и экспертов по доменам использовать шумные и слишком сложные GPL, они снабжаются DSL, адаптированными к задачам логистики сервисной робототехники. Правильная интеграция этих DSL и их автоматическое преобразование в артефакты GPL позволяет описывать решения более абстрактно и многократно, не вмешиваясь в работу других экспертных областей. Типичной задачей в этом сценарии является роботизированная доставка материалов из камеры хранения в палату пациента. Успешное развертывание подходящей роботизированной платформы требует от специалистов по робототехнике предоставления оборудования и программного обеспечения, необходимых для мобильного робота, способного взаимодействовать с обслуживающим персоналом. Специалисты в данной области делятся знаниями о несчастных случаях в больнице (например, какие этажи доступны для робота). В конечном итоге специалисты по программной инженерии объединяют решения экспертов в области робототехники и робототехники. При наличии надлежащих DSL, эксперты домена определяют декларативные задачи как последовательность целей многократного использования, абстрагирующихся от конкретной платформы. Вместо этого они описывают требования к роботу и миру в виде абстрактных моделей актеров.

Например, задание может предписывать роботу сначала:

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

Цели могут включать в себя требования к роботу и миру (например, наличие должности), но абстрагироваться от их реализации. На основе этих моделей инфраструктура генерирует интерфейсы, которые эксперты-роботы реализуют для реализации функциональных возможностей на платформах. Таким образом, они освобождаются от ответственности за ущерб, причиненный доменам. Инженеры-программисты приводят примеры эталонной архитектуры инфраструктуры и при необходимости расширяют ее компонентами, специфичными для конкретных приложений. Архитектура использует интерфейсы, созданные на основе моделей задач, доменов, роботов и мировых моделей, и заботится о выполнении задач с использованием реализаций, предоставляемых экспертами в области робототехники. Подобное приложение - например, в другом домене или с другой платформой - требует только настройки реализации роботизированных моделей или состава задач. Это способствует успешному развертыванию сервисных робототехнических приложений на основе моделей. 

Моделирование приложений сервисной робототехники

Широко распространенное моделирование применения служебной робототехники,

состоящее из:

  • домена,
  • задач,
  • целей,
  • роботов,
  • миров,

облегчает их платформенно-независимое описание. Моделирование приложения осуществляется с использованием разнородных, интегрированных языков моделирования для различных аспектов. Типы данных домена моделируются как диаграммы классов UML/P (CD). Они описывают статический контекст приложения.

Каждое приложение состоит из двух агентов:

  • Мир описывает свойства и действия прикладной среды,
  • робот описывает свойства и действия платформы.

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

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

Продолжение следует...