СПОСОБ И СИСТЕМА ЗАХВАТА ОБЪЕКТОВ С ПОМОЩЬЮ РОБОТИЗИРОВАННОГО УСТРОЙСТВА
METHOD AND SYSTEM FOR CAPTURING OBJECTS USING ROBOTIC DEVICE

ОБЛАСТЬ ТЕХНИКИ
[0001] Представленное техническое решение относится, в общем, к области робототехники, а в частности к способу захвата объектов переменной массы и формы с помощью робота-манипулятора и к системе для осуществления упомянутого способа.
УРОВЕНЬ ТЕХНИКИ
[0002] Роботы широко используются в производственных задачах для освобождения людей от монотонной работы. Методы для манипуляции твердотельными объектами широко распространены.
[0003] В сравнении с методами для манипуляции твердотельными объектами, методы для манипуляции деформируемыми объектами имеют дополнительные сложности. Например, в задаче выгрузки пластиковых мешков из телеги на стол, критическим является определение текущей формы, местоположения и захват мешка. Эти задачи легко могут быть выполнены человеком, но могут быть сложными для робота.
[0004] В настоящее время для процесса обучения захвата объектов предлагаются различные подходы на базе алгоритмов и моделей машинного обучения, в частности с использованием нейронных сетей, с помощью которых выполняется обучение роботизированных манипуляторов для захватов объектов по обученным заранее точкам захвата. Такой подход раскрывается в работе Dense Object Nets: Learning Dense Visual Object Descriptors By and For Robotic Manipulation (Peter R. Florence et al., CSAIL, Massachusetts Institute of Technology, 07.09.2018). Известное решение предлагает использовать облака точек объектов в процессе обучения роботизированных устройств, для того чтобы сформировать дескрипторы объектов на основании фотографических и 3D моделей таких объектов для целей последующего указания точек захвата и взаимодействия с объектами в указанных точках.
[0005] Также известны способ и система захвата объекта с помощью роботизированного устройства, раскрытые в патенте RU 2700246 С1, опубл. 20.09.2019. В известном решении обучают роботизированное устройство с помощью алгоритма машинного обучения для распознавания и запоминания точек захвата объектов, причем обучение выполняется на данных, характеризующих фотографические изображения объектов и соответствующие 3D модели объектов в различных ракурсах; формируют по меньшей мере одну точку захвата объекта, представленного на графическом изображении объекта; получают фотографическое изображение объекта с помощью камеры роботизированного устройства и определяют ракурс, отображающий сформированную точку захвата объекта; получают трехмерное облако точек объекта в ракурсе с помощью сенсора глубины роботизированного устройства; определяют по полученному облаку точек месторасположение точки захвата объекта; определяют ориентацию и положение захватного устройства роботизированного устройства в точке захвата с помощью вычисления матриц поворотов роботизированного устройства; осуществляют захват объекта с помощью роботизированного устройства на основании вычисления усредненной матрицы поворотов для заданной точки захвата.
[0006] Недостатком известных решений является то, что они не предназначены для определения захвата объектов переменной массы и формы. Разработанная роботизированная система захвата объектов обеспечивает распознавание и манипуляцию объектами, которые имеют следующие характеристики: переменную форму при манипуляциях с ними; вес от нескольких десятков грамм до 6 кг и более; перемещаемый центр тяжести при манипуляциях с ними; легко рвется при неудачном захвате; располагаются в глубоких тележках на различной высоте.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[0007] Решаемой технической задачей или технической проблемой является обеспечение нового процесса взаимодействия с объектами с помощью их захвата роботизированными устройствами. Одним из важнейших аспектов захватов вышеуказанного рода объектов является решение задачи позиционирования захвата относительно схватываемого объекта внутри сложных пространственных конструкций, причем алгоритму схвата необходимо иметь сложную модель, учитывающую вероятности смещения центра масс, захвата соседних объектов, деформации объекта.
[0008] Техническим результатом, достигающимся при решении вышеуказанной технической проблемы, является повышение точности захвата объекта с помощью робота-манипулятора.
[0009] Заявленный технический результат достигается благодаря осуществлению способа захвата объекта с помощью роботизированного устройства, содержащего этапы, на которых:
- получают цветное изображение и карту глубины;
- осуществляют поиск объектов для захвата на изображении с учетом данных карты глубины;
- выбирают объект для захвата;
- на основе данных карты глубины формируют облако точек выбранного объекта;
- осуществляют поиск в облаке точек заданное количество ключевых точек;
- определяют арифметический центр между упомянутыми ключевыми точками;
- определяют точку среди ключевых точек, наиболее близкую к арифметическому центру;
- на основе координат ключевых точек и точки, наиболее близкой к арифметическому центру, определяют положение выбранного объекта;
- на основе данных о положении объекта и данных модели, построенной в результате машинного обучения, определяют ориентацию и положение устройства захвата роботизированного устройства;
- осуществляют захват выбранного объекта с помощью роботизированного устройства.
[0010] В одном из частных примеров осуществления способа дополнительно выполняют этап, на котором в случае неудачного захвата выбирают новую позу захвата роботизированного устройства.
[0011] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых:
- сегментируют изображение на отдельные изображения объектов;
- полученные изображения объектов ранжируют для определения порядка захвата объектов;
причем для захвата объекта выбирают первый объект согласно определенному порядку захвата объектов.
[0012] В другом частном примере осуществления способа этап поиска в облаке точек заданного количество ключевых точек включает этапы, на которых:
- преобразуют облако точек в матричное представление;
- рассчитывают матрицу ковариации на основе матричного представления;
- осуществляют поиск собственных векторов матрицы ковариации;
- выбирают два первых собственных вектора матрицы ковариации;
- осуществляет поиск заданного количества ключевых точек, имеющих минимальные и максимальные координаты вдоль осей, базисом которых являются собственные векторы.
[0013] В другом частном примере осуществления способа дополнительно выполняют этап, на котором формируют список наблюдаемых параметров, в который заносятся данные об упомянутых ранее ключевых точках и точке, наиболее близкой к арифметическому центру для передачи сформированного списка в алгоритм обучения.
[0014] В другом предпочтительном варианте осуществления заявленного решения представлена система захвата объекта с помощью роботизированного устройства, содержащая:
- роботизированное устройство, содержащее по меньшей мере один сенсор глубины и захватное устройство;
- вычислительное устройство, соединенное с роботизированным устройством;
- по меньшей мере одну память, содержащую машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют способ по любому из пп. 1-5.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0015] Признаки преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых:
[0016] На Фиг. 1 изображен общий вид системы захвата объектов для манипуляции объектами переменной массы.
[0017] На Фиг. 2 изображен общий алгоритм работы упомянутой системы.
[0018] На Фиг. 3 изображена структурная схема блока управления системой.
[0019] На Фиг. 4 изображен алгоритм принятия решений по захвату объектов.
[0020] На Фиг. 5 изображен алгоритм работы системы в режиме обучения.
[0021] На Фиг. 6 изображен алгоритм работы системы в режиме эксплуатации.
[0022] На Фиг. 7 изображен общий вид вычислительного устройства.
ПОДРОБНОЕ ОПИСАНИЕ
[0023] Данное техническое решение может быть реализовано на компьютере, в виде автоматизированной информационной системы (АИС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
[0024] Техническое решение может быть реализовано в виде распределенной компьютерной системы, которая может быть установлена на централизованном сервере (наборе серверов). Доступ пользователей к системе возможен как из сети Интернет, так и из внутренней сети предприятия/организации посредством мобильного устройства связи, на котором установлено программное обеспечение с соответствующим графическим интерфейсом пользователя, или персонального компьютера с доступом к веб-версии системы с соответствующим графическим интерфейсом пользователя.
[0025] Ниже будут описаны термины и понятия, необходимые для реализации настоящего технического решения.
[0026] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность вычислительных операций (действий, инструкций).
[0027] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[0028] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[0029] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд. [0030] В соответствии со схемой, приведенной на Фиг 1, система 100 захвата объектов для манипуляции деформируемыми объектами включает блок управления захватом 101: формирующий управляющее воздействие на манипулятор 102 и устройство захвата 103 (например, электромеханическое захватное устройство, раскрытое в патенте RU 198037 U1); определяющий геометрические параметры деформируемого объекта, с целью перемещения деформируемого объекта из зоны 105 в целевую зону 106. Система 100 также включает: сенсор глубины 104, размещенный на устройстве захвата 103, и подключенный к блоку управлению захватом 101; и оптический сенсор 107, подключенный к блоку управления захватом 101.
[0031] В качестве оптического сенсора 107 может быть использован любой широко известный оптический датчик, например, датчик модели OMRON E3Z-D61, который используется для детектирования материала деформируемого тела внутри захвата на основе величины поглощаемого или отражаемого деформируемым телом светового потока.
[0032] Блок управления захватом 101 предназначен для определения на основе поступающих от сенсора 104 данных положения деформируемого объекта, его зоны и ориентации в пространстве, и может быть реализован на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением для выполнения приписанных ему ниже функций. В качестве вычислительного устройства может использоваться, например, персональный компьютер, ноутбук, планшет, сервер, смартфон, серверный кластер, мейнфрейм, суперкомпьютер, тонкий клиент, система на кристалле (англ. «System on а Chip», сокр. SoC) и т.п. Конкретная аппаратная реализация вычислительного устройства зависит от предъявляемых требований и должна обеспечивать необходимые процессы вычислительной обработки цифровой информации для обеспечения должного функционирования блока управления захватом 101 в составе системы 100.
[0033] В качестве манипулятора 102 может применяться как стационарный роботизированный манипулятор промышленного или коллаборативного назначения, например, Universal Robotics™, KUKA™, Fanuc™, ABB™ и т.п., так и роботизированные манипуляторы, устанавливаемые на подвижные автономные роботизированные устройства, в качестве конечностей, в частности роботизированные руки. Манипулятор 102 подключен к блоку управления, может иметь как минимум 6 степеней свободы и оснащен как минимум одним устройством захвата 103 для возможности манипулирования деформируемыми объектами. В качестве канала передачи данных между упомянутыми элементами системы 100 может применяться различный вид связи, например, проводного и/или беспроводного типа, в частности: LAN, WAN, WLAN, Bluetooth, Wi-Fi, GSM/GPRS/LTE/5G, Ethernet, USB, RS232, RJ45 и т.п.
[0034] В качестве сенсора глубины 104 может быть использована широко известная Red-Green-Blue-Depth (RGB-D) камера, предназначенная для определения глубины, которая работает в сочетании с RGB-камерой и способна дополнять обычное изображение информацией о глубине (связанной с расстоянием до датчика) на основе пикселей изображения.
[0035] Для решения поставленной задачи захвата и манипулирования объектами был разработан порядок 200 работы с деформируемыми объектами, показанный на Фиг. 2. Он состоит из этапа обучения алгоритма с подкреплением 201 и этапа эксплуатации системы 202. Обучение с подкреплением (англ. reinforcement learning) - один из способов машинного обучения, в ходе которого испытуемая система (агент) обучается, взаимодействуя с некоторой средой. С точки зрения кибернетики, является одним из видов кибернетического эксперимента.
[0036] Этап 202 состоит из создания описания последовательности работы системы, определения структуры итераций и эпизодов работы алгоритма с подкреплением, определения управляющих воздействий алгоритма с подкреплением, и выполняется разработчиком системы 100.
[0037] В соответствии со схемой, приведенной на Фиг. 3, блок управления захватом 101 состоит из: модуля 301 определения захвата объекта; модуль 302 планирования траектории движения манипулятора; модуля 303 сбора данных с сенсора глубины 104; и модуля 304 управления устройством захвата 103.
[0038] Модуль 301 может быть реализован на базе по меньшей мере одной нейронной сети для выполнения RL (reinforcement learning) алгоритмов и генерации и выдачи рекомендации по расположению и ориентации устройства захвата 103 для успешного захвата очередного объекта воздействия, в зависимости от извлеченных параметров из модуля 303 сбора данных. Упомянутые сгенерированные рекомендации затем передаются в модуль 302 планирования траектории движения манипулятора с учетом коллизий в рабочей области робота для осуществления перемещений объектов, который генерирует управляющие воздействия, передающиеся в модуля 304 управления манипулятором для перемещения манипулятора 102 по траектории движения и захвата объекта с помощью устройства захвата 103. Упомянутые модули 302, 303 и 304 могут быть реализованы на базе программно-аппаратных средств блока управления захватом 101, оснащенных соответствующим программным обеспечением для выполнения приписанных им ниже функций.
[0039] На Фиг. 4 показан алгоритм 400 принятия решений по захвату объектов. На первом этапе 401 модуль 303 сбора данных с сенсора глубины 104 получает цветное изображение и карту глубины. Управление сенсором глубины 104 для сбора данных может осуществляться посредством блока управления захватом 101 известными из уровня техники методами, раскрытыми, например, в наиболее близком аналоге - патенте RU 2700246 С1.
[0040] Далее цветное изображение и карта глубины направляются упомянутым модулем 303 в модуль 301 определения захвата объекта, который переходит к выполнению этапа 402. На этапе 402 с помощью нейросети глубокого обучения упомянутым модулем 301 известными из уровня техники методами осуществляется поиск объектов для захвата на изображении с учетом данных карты глубины, после чего изображение сегментируется на отдельные изображения упомянутых объектов. Для выполнения сегментации могут быть использованы любые широко известные алгоритмы сегментации, раскрытые, например, в статье «Detectron2: A PyTorch-based modular object detection library», размещенной 09.10.2019 в Интернет по адресу: https://ai.facebook.com/blog/-detectron2-a-pytorch-based-modular-object-detection-library-/. После этого полученные изображения объектов ранжируются упомянутым модулем 301 для определения порядка захвата объектов.
[0041] На следующем этапе 403 упомянутый модуль 301 согласно порядку захвата объектов выбирает первый объект для захвата и на основе данных карты глубины формирует облако точек выбранного объекта, затем на основе этого облака точек модулем 301 рассчитываются ключевые точки объекта (этап 404), за параметрами которых будет осуществляться наблюдение и которые будут использованы для определения положения и ориентации объекта. Для расчета упомянутых ключевых точек предлагается использовать новый метод, основанный на методе главных компонент, раскрытый в статье Principal component analysis (Jolliffe I.Т., Technometrics. - 2003. - Т. 45. - №. 3. - С.276), для определения геометрических характеристик формы объекта в 3х мерном пространстве.
[0042] Для реализации метода главных компонент облако точек модуль 301 преобразуются в матричное представление X, где каждая строка представляет собой точку облака точек, а столбцы представляют собой компоненты [х, у, z], которые представляют собой координаты каждой точки облака точек, затем рассчитывается матрица ковариации по формуле:
где X - матричное представление облака точек, X' - математическое ожидание матрицы X, n - количество точек в облаке точек, Т - операция транспонирования матрицы. Затем, в полученной матрице широко известными методами, например, с помощью математических пакетов, происходит поиск 3 собственных векторов, например, способом, раскрытым в книге «А guide to NumPy» (Oliphant Т. E., Trelgol Publishing, 2006. - Т. 1. - C. 179), полученные вектора сортируются в порядке уменьшения собственных чисел матрицы. Для дальнейшей обработки данных, модуль 301 выбирает два первых собственных вектора матрицы ковариации, которые представляют собой вектора в трехмерном пространстве. Затем, модуль 301 осуществляет поиск заданного разработчиком в программном алгоритме количества ключевых точек, например, четырех точек, имеющих минимальные и максимальные координаты вдоль осей, базисом которых являются собственные векторы, найденные на предыдущем этапе.
[0043] На следующем этапе модуль 301 осуществляет поиск существующей средней точки в облаке точек среди ключевых точек, в частности четырех точек, имеющих минимальные и максимальные координаты вдоль осей. Для этого модуль 301 осуществляет определение арифметического центра между ключевыми точками, извлекая их координаты вдоль плоскостей собственных векторов, и проводя сортировку массива облака точек в порядке близости точек к арифметическому центру, модуль 301 выбирает дополнительную точку, среди упомянутых ключевых точек, наиболее близкую к упомянутому арифметическому центру. Далее на основе координат ключевых точек и точки, наиболее близкой к упомянутому арифметическому центру, модуль 301 определяет положение объекта. Далее на основе данных о положении объекта, в частности его координат, координат упомянутых ключевых точек и точки, наиболее близкой к арифметическому центру, и данных модели, построенной в результате машинного обучения, модуль 301 определяет ориентацию и положение устройства захвата 103 роботизированного устройства, после чего генерирует рекомендации по расположению и ориентации устройства захвата 103 для успешного захвата очередного объекта для их передачи в модуль 302 планирования траектории движения манипулятора.
[0044] Дополнительно модуль 301 определения захвата объекта может быть выполнен с возможностью формирования списка наблюдаемых параметров, в который заносятся данные о упомянутых ранее ключевых точках и точке, наиболее близкой к арифметическому центру, для передачи сформированного списка в алгоритм обучения, целью которого является определение наилучшей позы захватного устройства в пространстве для захвата объекта в рабочей зоне, с учетом деформации и смещения центра тяжести объекта а также геометрических коллизий в рабочей зоне.
[0045] В режиме обучения используется симуляция робототехнической установки и ее рабочего окружения, а также модели объектов манипулирования. Симулятор должен позволять рассчитывать взаимодействия между объектами моделируемой сцены, способом так называемого мягкого контакта, и поддерживать возможность моделирования деформируемых или мягких объектов с наполнением. Обучение алгоритмов глубокого обучения с подкреплением происходит одновременно в большом количестве симуляторов, в которых положения и ориентация объектов манипуляции генерируются случайно в заданных рабочих зонах.
[0046] Алгоритм работы системы в режиме обучения, который выполняется посредством нейронный сетей, которые также могут быть размещены в модуле 301 определения захвата объект, показан на Фиг. 5 На этапе 501 происходит запрос данных из модуля 303 сбора данных с сенсора глубины 104 и извлечения списка наблюдаемых параметров, которые передаются в алгоритм обучения, на следующем этапе 502 алгоритм обучения с подкреплением предлагает положения и ориентации захватного устройства робота(координаты [x, y, z] и кватернион [x, y, z, w]), однако не все из них могут быть достижимы в условиях заданного расположения робота и параметров кинематической цепи робота. Для отсечения недостижимых позиций захвата на следующем этапе 503 используется дополнительное окружение в симуляторе, позволяющее по значениям целевой позы захвата определить все возможные геометрические конфигурации звеньев робота в пространстве методом решения обратной задачи кинематики. Для каждой из этих возможных конфигураций производится расчет коллизионной модели и проверяется не имеются ли коллизии внутри сцены между объектами (этап 508), чтобы отклонять заведомо невозможные конфигурации робота-манипулятора. Если целевая поза не в коллизии, то выполняется попытка захватить объект внутри симулятора на этапе 505, который реализует расчет физических взаимодействий захвата с объектом манипуляции. По результатам симуляции происходит расчет функции вознаграждения, величина которой пересылается в алгоритм обучения с подкреплением для коррекции управляющих воздействий 506. Таким образом алгоритм обучения формирует внутреннюю модель деформируемого тела с учетом переменного центра тяжести возможности, модели деформации как мешка, так и окружения. Процесс обучения заканчивается по истечении определенного количества итераций обучения.
[0047] Оценка качества обученности алгоритма обучения с подкреплением подсчитывается путем запуска нескольких параллельных процессов в симуляторах для ряда характерных случайных начальных ситуаций в зонах расположений объектов манипуляции. Результаты выполнения этих симуляций сохраняются и производится их статистический анализ, в результате которого выясняется, сколько удачных попыток захвата объектов было для каждой из зон расположений объектов манипуляции.
[0048] В режиме эксплуатации 600, показанной на Фиг. 6 робот, инициализируется в заранее определенной позиций для получения данных о расположении объектов в рабочей зоне. Алгоритм 400 выбирает кандидата для захвата, и на этапе 601 вычисляются данные о его расположении, система принятия решений рекомендует целевое положение и ориентацию захватного устройства на этапе 602. Для перемещения захватного устройства в целевую позу задействуется подсистема быстрого планирования траекторий движений 603, которая предлагает траекторию движения робота. Для того, чтобы избежать столкновения робота с объектом целевая поза корректируется так, чтобы по окончании исполнения траектории движения от захватного устройства до объекта оставалось небольшое расстояние. Это расстояние преодолевается роботом в податливом режиме так, что при достижении захватным устройством контакта с объектом движение робота останавливается. Далее осуществляется захват и перемещение объекта манипуляции, информация об успешности захвата с датчика 107 захватного устройства передается в алгоритм обучения с подкреплением на этапе 604, который в случае неудачной попытки рекомендует другую позу захвата роботизированного устройства. Процесс продолжается, пока не будет освобождена рабочая зона от всех объектов манипуляции.
[0049] Таким образом, за счет того, что при определении положения объекта учитываются его ключевые точки и точка среди ключевых точек, наиболее близкая к их арифметическому центру, повышается точность распознавания положения объекта и точность в выборе ориентации и положении устройства захвата роботизированного устройства для захвата этого объекта, т.е. повышается точность захвата объекта с помощью робота-манипулятора.
[0050] В общем виде (см. Фиг. 7) вычислительное устройство содержит объединенные общей шиной информационного обмена один или несколько процессоров (701), средства памяти, такие как ОЗУ (702) и ПЗУ (703), интерфейсы ввода/вывода (704), устройства ввода/вывода (705), и устройство для сетевого взаимодействия (706).
[0051] Процессор (701) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в устройстве (700) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.
[0052] ОЗУ (702) представляет собой оперативную память и предназначено для хранения исполняемых процессором (701) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (702), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (702) может выступать доступный объем памяти графической карты или графического процессора.
[0053] ПЗУ (703) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[0054] Для организации работы компонентов устройства (700) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (704). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0055] Для обеспечения взаимодействия пользователя с устройством (700) применяются различные средства (705) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0056] Средство сетевого взаимодействия (706) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (706) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0057] Дополнительно могут применяться также средства спутниковой навигации в составе системы (700), например, GPS, ГЛОНАСС, BeiDou, Galileo. Конкретный выбор элементов устройства (700) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.
[0058] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.