RU2745380C1 - Method and system for capturing objects using robotic device - Google Patents

Method and system for capturing objects using robotic device Download PDF

Info

Publication number
RU2745380C1
RU2745380C1 RU2020129197A RU2020129197A RU2745380C1 RU 2745380 C1 RU2745380 C1 RU 2745380C1 RU 2020129197 A RU2020129197 A RU 2020129197A RU 2020129197 A RU2020129197 A RU 2020129197A RU 2745380 C1 RU2745380 C1 RU 2745380C1
Authority
RU
Russia
Prior art keywords
objects
key points
robotic device
capture
data
Prior art date
Application number
RU2020129197A
Other languages
Russian (ru)
Inventor
Александр Николаевич Семочкин
Дмитрий Александрович Статовой
Дмитрий Александрович Егоров
Алексей Леонидович Постников
Елена Владимировна Селиверстова
Сейедхассан Забихифар
Алексей Сергеевич Гонноченко
Original Assignee
Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) filed Critical Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Priority to RU2020129197A priority Critical patent/RU2745380C1/en
Priority to EA202092863A priority patent/EA202092863A1/en
Application granted granted Critical
Publication of RU2745380C1 publication Critical patent/RU2745380C1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

FIELD: robotics.SUBSTANCE: invention relates to the field of robotics, and in particular to a method for gripping objects using a robotic device and to a system for implementing said method. The claimed technical result is achieved due to the implementation of the method for capturing an object using a robotic device, containing the stages, at which: a color image and a depth map are obtained; objects to capture on the image are searched for, taking into account the data of the depth map; an object to capture is selected; based on the depth map data, a point cloud of the selected object is formed; point cloud is searched for a given number of key points; arithmetic center is determined between the mentioned key points; the point among the key points closest to the arithmetic center determined; based on the coordinates of key points and the point closest to the arithmetic center, the position of the selected object is determined; based on the data on the position of the object and the data of the model built as a result of machine learning, the orientation and position of the gripping device of the robotic device is determined; then the selected object is captured using a robotic device.EFFECT: improved accuracy of recognizing the position of an object for its capture using a robotic arm.6 cl, 7 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

[0001] Представленное техническое решение относится, в общем, к области робототехники, а в частности к способу захвата объектов переменной массы и формы с помощью робота-манипулятора и к системе для осуществления упомянутого способа.[0001] The presented technical solution relates generally to the field of robotics, and in particular to a method for gripping objects of variable mass and shape using a robotic arm and to a system for implementing said method.

УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY

[0002] Роботы широко используются в производственных задачах для освобождения людей от монотонной работы. Методы для манипуляции твердотельными объектами широко распространены.[0002] Robots are widely used in industrial tasks to free people from repetitive work. Techniques for manipulating solid objects are widespread.

[0003] В сравнении с методами для манипуляции твердотельными объектами, методы для манипуляции деформируемыми объектами имеют дополнительные сложности. Например, в задаче выгрузки пластиковых мешков из телеги на стол, критическим является определение текущей формы, местоположения и захват мешка. Эти задачи легко могут быть выполнены человеком, но могут быть сложными для робота.[0003] Compared to methods for manipulating solid objects, methods for manipulating deformable objects have additional complexities. For example, in the task of unloading plastic bags from a cart onto a table, it is critical to determine the current shape, location and grip of the bag. These tasks can be easily performed by a human, but can be difficult for a robot.

[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 моделей таких объектов для целей последующего указания точек захвата и взаимодействия с объектами в указанных точках.[0004] At present, various approaches based on algorithms and machine learning models are proposed for the process of training object gripping, in particular using neural networks, with the help of which robotic manipulators are trained to grip objects on the previously trained gripping points. This approach is disclosed in Dense Object Nets: Learning Dense Visual Object Descriptors By and For Robotic Manipulation (Peter R. Florence et al., CSAIL, Massachusetts Institute of Technology, 09/07/2018). The known solution proposes to use point clouds of objects in the process of training robotic devices in order to form object descriptors based on photographic and 3D models of such objects for the purpose of further specifying points of capture and interaction with objects at these points.

[0005] Также известны способ и система захвата объекта с помощью роботизированного устройства, раскрытые в патенте RU 2700246 С1, опубл. 20.09.2019. В известном решении обучают роботизированное устройство с помощью алгоритма машинного обучения для распознавания и запоминания точек захвата объектов, причем обучение выполняется на данных, характеризующих фотографические изображения объектов и соответствующие 3D модели объектов в различных ракурсах; формируют по меньшей мере одну точку захвата объекта, представленного на графическом изображении объекта; получают фотографическое изображение объекта с помощью камеры роботизированного устройства и определяют ракурс, отображающий сформированную точку захвата объекта; получают трехмерное облако точек объекта в ракурсе с помощью сенсора глубины роботизированного устройства; определяют по полученному облаку точек месторасположение точки захвата объекта; определяют ориентацию и положение захватного устройства роботизированного устройства в точке захвата с помощью вычисления матриц поворотов роботизированного устройства; осуществляют захват объекта с помощью роботизированного устройства на основании вычисления усредненной матрицы поворотов для заданной точки захвата.[0005] Also known is a method and a system for gripping an object using a robotic device, disclosed in patent RU 2700246 C1, publ. 20.09.2019. In the known solution, a robotic device is trained using a machine learning algorithm to recognize and memorize capture points of objects, and the training is performed on data characterizing photographic images of objects and corresponding 3D models of objects in various angles; form at least one gripping point of the object represented on the graphical image of the object; obtaining a photographic image of the object using the camera of the robotic device and determining the angle displaying the formed gripping point of the object; obtaining a three-dimensional cloud of points of the object in perspective using the depth sensor of the robotic device; determine by the obtained cloud of points the location of the point of capture of the object; determining the orientation and position of the gripper of the robotic device at the gripping point by calculating the rotation matrices of the robotic device; the object is gripped by a robotic device based on the calculation of the averaged rotation matrix for a given gripping point.

[0006] Недостатком известных решений является то, что они не предназначены для определения захвата объектов переменной массы и формы. Разработанная роботизированная система захвата объектов обеспечивает распознавание и манипуляцию объектами, которые имеют следующие характеристики: переменную форму при манипуляциях с ними; вес от нескольких десятков грамм до 6 кг и более; перемещаемый центр тяжести при манипуляциях с ними; легко рвется при неудачном захвате; располагаются в глубоких тележках на различной высоте.[0006] The disadvantage of the known solutions is that they are not intended to determine the capture of objects of variable mass and shape. The developed robotic system for capturing objects provides recognition and manipulation of objects that have the following characteristics: variable shape when manipulating with them; weight from several tens of grams to 6 kg or more; movable center of gravity when handling them; breaks easily if the grip is unsuccessful; are located in deep trolleys at different heights.

СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯESSENCE OF THE TECHNICAL SOLUTION

[0007] Решаемой технической задачей или технической проблемой является обеспечение нового процесса взаимодействия с объектами с помощью их захвата роботизированными устройствами. Одним из важнейших аспектов захватов вышеуказанного рода объектов является решение задачи позиционирования захвата относительно схватываемого объекта внутри сложных пространственных конструкций, причем алгоритму схвата необходимо иметь сложную модель, учитывающую вероятности смещения центра масс, захвата соседних объектов, деформации объекта.[0007] The technical problem or technical problem to be solved is to provide a new process of interaction with objects by means of their capture by robotic devices. One of the most important aspects of gripping the above kind of objects is the solution of the problem of positioning the gripper relative to the gripped object inside complex spatial structures, and the gripping algorithm needs to have a complex model that takes into account the probabilities of displacement of the center of mass, gripping of neighboring objects, and deformation of the object.

[0008] Техническим результатом, достигающимся при решении вышеуказанной технической проблемы, является повышение точности захвата объекта с помощью робота-манипулятора.[0008] The technical result achieved by solving the above technical problem is to improve the accuracy of gripping an object using a robotic arm.

[0009] Заявленный технический результат достигается благодаря осуществлению способа захвата объекта с помощью роботизированного устройства, содержащего этапы, на которых:[0009] The claimed technical result is achieved by implementing a method for gripping an object using a robotic device, comprising the steps of:

- получают цветное изображение и карту глубины;- get a color image and a depth map;

- осуществляют поиск объектов для захвата на изображении с учетом данных карты глубины;- search for objects to capture on the image, taking into account the data of the depth map;

- выбирают объект для захвата;- select an object to capture;

- на основе данных карты глубины формируют облако точек выбранного объекта;- based on the depth map data, a point cloud of the selected object is formed;

- осуществляют поиск в облаке точек заданное количество ключевых точек;- search in the cloud of points for a given number of key points;

- определяют арифметический центр между упомянутыми ключевыми точками;- determine the arithmetic center between the mentioned key points;

- определяют точку среди ключевых точек, наиболее близкую к арифметическому центру;- determine the point among the key points closest to the arithmetic center;

- на основе координат ключевых точек и точки, наиболее близкой к арифметическому центру, определяют положение выбранного объекта;- based on the coordinates of key points and the point closest to the arithmetic center, determine the position of the selected object;

- на основе данных о положении объекта и данных модели, построенной в результате машинного обучения, определяют ориентацию и положение устройства захвата роботизированного устройства;- based on the data on the position of the object and the data of the model built as a result of machine learning, determine the orientation and position of the gripping device of the robotic device;

- осуществляют захват выбранного объекта с помощью роботизированного устройства.- carry out the capture of the selected object using a robotic device.

[0010] В одном из частных примеров осуществления способа дополнительно выполняют этап, на котором в случае неудачного захвата выбирают новую позу захвата роботизированного устройства.[0010] In one of the particular embodiments of the method, a step is additionally performed at which, in the event of an unsuccessful grip, a new gripping position of the robotic device is selected.

[0011] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых:[0011] In another particular embodiment of the method, the steps are additionally performed, in which:

- сегментируют изображение на отдельные изображения объектов;- segment the image into separate images of objects;

- полученные изображения объектов ранжируют для определения порядка захвата объектов;- the resulting images of objects are ranked to determine the order of capture of objects;

причем для захвата объекта выбирают первый объект согласно определенному порядку захвата объектов.and for capturing the object, the first object is selected according to a certain order of capturing the objects.

[0012] В другом частном примере осуществления способа этап поиска в облаке точек заданного количество ключевых точек включает этапы, на которых:[0012] In another particular embodiment of the method, the step of searching in a point cloud for a predetermined number of key points includes the steps at which:

- преобразуют облако точек в матричное представление;- convert the point cloud into a matrix representation;

- рассчитывают матрицу ковариации на основе матричного представления;- calculate the covariance matrix based on the matrix representation;

- осуществляют поиск собственных векторов матрицы ковариации;- search for eigenvectors of the covariance matrix;

- выбирают два первых собственных вектора матрицы ковариации;- choose the first two eigenvectors of the covariance matrix;

- осуществляет поиск заданного количества ключевых точек, имеющих минимальные и максимальные координаты вдоль осей, базисом которых являются собственные векторы.- searches for a given number of key points with minimum and maximum coordinates along the axes, the basis of which is the eigenvectors.

[0013] В другом частном примере осуществления способа дополнительно выполняют этап, на котором формируют список наблюдаемых параметров, в который заносятся данные об упомянутых ранее ключевых точках и точке, наиболее близкой к арифметическому центру для передачи сформированного списка в алгоритм обучения.[0013] In another particular embodiment of the method, the step is additionally performed, at which a list of observed parameters is formed, in which data about the previously mentioned key points and the point closest to the arithmetic center are entered to transfer the generated list to the learning algorithm.

[0014] В другом предпочтительном варианте осуществления заявленного решения представлена система захвата объекта с помощью роботизированного устройства, содержащая:[0014] In another preferred embodiment of the claimed solution, a system for gripping an object using a robotic device is provided, comprising:

- роботизированное устройство, содержащее по меньшей мере один сенсор глубины и захватное устройство;- a robotic device containing at least one depth sensor and a gripper;

- вычислительное устройство, соединенное с роботизированным устройством;- a computing device connected to the robotic device;

- по меньшей мере одну память, содержащую машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют способ по любому из пп. 1-5.- at least one memory containing machine-readable instructions that, when executed by at least one computing device, execute the method according to any one of claims. 1-5.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS

[0015] Признаки преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых:[0015] The advantages of the present technical solution will become apparent from the following detailed description and the accompanying drawings, in which:

[0016] На Фиг. 1 изображен общий вид системы захвата объектов для манипуляции объектами переменной массы.[0016] FIG. 1 shows a general view of the object gripping system for manipulating objects of variable mass.

[0017] На Фиг. 2 изображен общий алгоритм работы упомянутой системы.[0017] FIG. 2 shows the general algorithm of the above-mentioned system.

[0018] На Фиг. 3 изображена структурная схема блока управления системой.[0018] FIG. 3 shows a block diagram of the system control unit.

[0019] На Фиг. 4 изображен алгоритм принятия решений по захвату объектов.[0019] FIG. 4 shows an algorithm for making decisions on capturing objects.

[0020] На Фиг. 5 изображен алгоритм работы системы в режиме обучения.[0020] FIG. 5 shows the algorithm of the system in the learning mode.

[0021] На Фиг. 6 изображен алгоритм работы системы в режиме эксплуатации.[0021] FIG. 6 shows the algorithm of the system in operation mode.

[0022] На Фиг. 7 изображен общий вид вычислительного устройства.[0022] FIG. 7 shows a general view of a computing device.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

[0023] Данное техническое решение может быть реализовано на компьютере, в виде автоматизированной информационной системы (АИС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.[0023] This technical solution can be implemented on a computer, in the form of an automated information system (AIS) or a computer-readable medium containing instructions for performing the above method.

[0024] Техническое решение может быть реализовано в виде распределенной компьютерной системы, которая может быть установлена на централизованном сервере (наборе серверов). Доступ пользователей к системе возможен как из сети Интернет, так и из внутренней сети предприятия/организации посредством мобильного устройства связи, на котором установлено программное обеспечение с соответствующим графическим интерфейсом пользователя, или персонального компьютера с доступом к веб-версии системы с соответствующим графическим интерфейсом пользователя.[0024] The technical solution can be implemented as a distributed computer system that can be installed on a centralized server (set of servers). User access to the system is possible both from the Internet and from the internal network of an enterprise / organization via a mobile communication device on which software with a corresponding graphical user interface is installed, or a personal computer with access to the web version of the system with a corresponding graphical user interface.

[0025] Ниже будут описаны термины и понятия, необходимые для реализации настоящего технического решения.[0025] The following will describe the terms and concepts necessary to implement the present technical solution.

[0026] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность вычислительных операций (действий, инструкций).[0026] In this solution, the system means a computer system, a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of computing operations (actions, instructions).

[0027] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).[0027] By a command processor is meant an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).

[0028] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.[0028] An instruction processing device reads and executes machine instructions (programs) from one or more storage devices. The role of data storage devices can be, but are not limited to, hard disks (HDD), flash memory, ROM (read only memory), solid state drives (SSD), optical drives.

[0029] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд. [0030] В соответствии со схемой, приведенной на Фиг 1, система 100 захвата объектов для манипуляции деформируемыми объектами включает блок управления захватом 101: формирующий управляющее воздействие на манипулятор 102 и устройство захвата 103 (например, электромеханическое захватное устройство, раскрытое в патенте RU 198037 U1); определяющий геометрические параметры деформируемого объекта, с целью перемещения деформируемого объекта из зоны 105 в целевую зону 106. Система 100 также включает: сенсор глубины 104, размещенный на устройстве захвата 103, и подключенный к блоку управлению захватом 101; и оптический сенсор 107, подключенный к блоку управления захватом 101.[0029] A program is a sequence of instructions for execution by a computer control device or command processing device. [0030] In accordance with the diagram shown in FIG. 1, the object gripping system 100 for manipulating deformable objects includes a gripping control unit 101: generating a control action on the manipulator 102 and a gripping device 103 (for example, an electromechanical gripping device disclosed in RU 198037 U1 ); determining the geometric parameters of the deformable object in order to move the deformable object from the zone 105 to the target zone 106. The system 100 also includes: a depth sensor 104 located on the capture device 103 and connected to the capture control unit 101; and an optical sensor 107 connected to the gripper control unit 101.

[0031] В качестве оптического сенсора 107 может быть использован любой широко известный оптический датчик, например, датчик модели OMRON E3Z-D61, который используется для детектирования материала деформируемого тела внутри захвата на основе величины поглощаемого или отражаемого деформируемым телом светового потока.[0031] As the optical sensor 107, any commonly known optical sensor can be used, such as the model OMRON E3Z-D61, which is used to detect the deformable body material inside the gripper based on the amount of light absorbed or reflected by the deformable body.

[0032] Блок управления захватом 101 предназначен для определения на основе поступающих от сенсора 104 данных положения деформируемого объекта, его зоны и ориентации в пространстве, и может быть реализован на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением для выполнения приписанных ему ниже функций. В качестве вычислительного устройства может использоваться, например, персональный компьютер, ноутбук, планшет, сервер, смартфон, серверный кластер, мейнфрейм, суперкомпьютер, тонкий клиент, система на кристалле (англ. «System on а Chip», сокр. SoC) и т.п. Конкретная аппаратная реализация вычислительного устройства зависит от предъявляемых требований и должна обеспечивать необходимые процессы вычислительной обработки цифровой информации для обеспечения должного функционирования блока управления захватом 101 в составе системы 100.[0032] The gripping control unit 101 is designed to determine, on the basis of the data received from the sensor 104, the position of the deformable object, its zone and orientation in space, and can be implemented on the basis of at least one computing device equipped with appropriate software for executing assigned to it below functions. As a computing device can be used, for example, a personal computer, laptop, tablet, server, smartphone, server cluster, mainframe, supercomputer, thin client, system on a chip (English "System on a Chip", abbreviated SoC), etc. P. The specific hardware implementation of the computing device depends on the requirements and must provide the necessary computational processing of digital information to ensure the proper functioning of the capture control unit 101 as part of the system 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 и т.п.[0033] As a manipulator 102 can be used as a stationary robotic arm for industrial or collaborative purposes, for example, Universal Robotics ™, KUKA ™, Fanuc ™, ABB ™, etc., and robotic manipulators installed on mobile autonomous robotic devices, as limbs, in particular robotic arms. The manipulator 102 is connected to the control unit, can have at least 6 degrees of freedom and is equipped with at least one gripping device 103 for the ability to manipulate deformable objects. As a data transmission channel between the mentioned elements of the system 100, various types of communication can be used, for example, wired and / or wireless, in particular: LAN, WAN, WLAN, Bluetooth, Wi-Fi, GSM / GPRS / LTE / 5G, Ethernet, USB, RS232, RJ45, etc.

[0034] В качестве сенсора глубины 104 может быть использована широко известная Red-Green-Blue-Depth (RGB-D) камера, предназначенная для определения глубины, которая работает в сочетании с RGB-камерой и способна дополнять обычное изображение информацией о глубине (связанной с расстоянием до датчика) на основе пикселей изображения.[0034] A well-known Red-Green-Blue-Depth (RGB-D) depth camera can be used as the depth sensor 104, which works in conjunction with an RGB camera and is capable of complementing the conventional image with depth information (associated sensor distance) based on image pixels.

[0035] Для решения поставленной задачи захвата и манипулирования объектами был разработан порядок 200 работы с деформируемыми объектами, показанный на Фиг. 2. Он состоит из этапа обучения алгоритма с подкреплением 201 и этапа эксплуатации системы 202. Обучение с подкреплением (англ. reinforcement learning) - один из способов машинного обучения, в ходе которого испытуемая система (агент) обучается, взаимодействуя с некоторой средой. С точки зрения кибернетики, является одним из видов кибернетического эксперимента.[0035] To solve the problem of gripping and manipulating objects, an order 200 for working with deformable objects, shown in FIG. 2. It consists of a reinforcement learning stage 201 and a system operation stage 202. Reinforcement learning is one of the machine learning methods, during which the system under test (agent) learns by interacting with a certain environment. From the point of view of cybernetics, it is one of the types of cybernetic experiment.

[0036] Этап 202 состоит из создания описания последовательности работы системы, определения структуры итераций и эпизодов работы алгоритма с подкреплением, определения управляющих воздействий алгоритма с подкреплением, и выполняется разработчиком системы 100.[0036] Step 202 consists of creating a description of the system sequence, defining the structure of iterations and episodes of the reinforcement algorithm, determining the control actions of the reinforcement algorithm, and is performed by the system designer 100.

[0037] В соответствии со схемой, приведенной на Фиг. 3, блок управления захватом 101 состоит из: модуля 301 определения захвата объекта; модуль 302 планирования траектории движения манипулятора; модуля 303 сбора данных с сенсора глубины 104; и модуля 304 управления устройством захвата 103.[0037] In accordance with the diagram of FIG. 3, the gripping control unit 101 is composed of: an object gripping determination unit 301; module 302 planning the trajectory of the movement of the manipulator; module 303 data collection from the depth sensor 104; and a capture device control unit 304 103.

[0038] Модуль 301 может быть реализован на базе по меньшей мере одной нейронной сети для выполнения RL (reinforcement learning) алгоритмов и генерации и выдачи рекомендации по расположению и ориентации устройства захвата 103 для успешного захвата очередного объекта воздействия, в зависимости от извлеченных параметров из модуля 303 сбора данных. Упомянутые сгенерированные рекомендации затем передаются в модуль 302 планирования траектории движения манипулятора с учетом коллизий в рабочей области робота для осуществления перемещений объектов, который генерирует управляющие воздействия, передающиеся в модуля 304 управления манипулятором для перемещения манипулятора 102 по траектории движения и захвата объекта с помощью устройства захвата 103. Упомянутые модули 302, 303 и 304 могут быть реализованы на базе программно-аппаратных средств блока управления захватом 101, оснащенных соответствующим программным обеспечением для выполнения приписанных им ниже функций.[0038] Module 301 can be implemented on the basis of at least one neural network for performing RL (reinforcement learning) algorithms and generating and issuing recommendations for the location and orientation of the capture device 103 for successful capture of the next target, depending on the parameters extracted from the module 303 data collection. These generated recommendations are then transmitted to the module 302 for planning the trajectory of the manipulator movement, taking into account collisions in the working area of the robot for moving objects, which generates control actions that are transmitted to the manipulator control module 304 for moving the manipulator 102 along the trajectory of movement and gripping the object using the gripper 103 The above modules 302, 303 and 304 can be implemented on the basis of the firmware of the gripper control unit 101, equipped with the corresponding software for performing the functions assigned to them below.

[0039] На Фиг. 4 показан алгоритм 400 принятия решений по захвату объектов. На первом этапе 401 модуль 303 сбора данных с сенсора глубины 104 получает цветное изображение и карту глубины. Управление сенсором глубины 104 для сбора данных может осуществляться посредством блока управления захватом 101 известными из уровня техники методами, раскрытыми, например, в наиболее близком аналоге - патенте RU 2700246 С1.[0039] FIG. 4 shows an algorithm 400 for making decisions about capturing objects. In a first step 401, the acquisition module 303 from the depth sensor 104 acquires a color image and a depth map. The depth sensor 104 for data collection can be controlled by the capture control unit 101 by methods known from the prior art, disclosed, for example, in the closest analogue, RU 2700246 C1.

[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 для определения порядка захвата объектов.[0040] Next, the color image and the depth map are sent by said module 303 to the object capture determination module 301, which proceeds to step 402. At step 402, using a deep learning neural network, said module 301 searches for objects for capturing in the image using methods known from the prior art. taking into account the data of the depth map, after which the image is segmented into separate images of the mentioned objects. To perform segmentation, any well-known segmentation algorithms can be used, disclosed, for example, in the article "Detectron2: A PyTorch-based modular object detection library" posted on 10/09/2019 on the Internet at: https://ai.facebook.com/ blog / -detectron2-a-pytorch-based-modular-object-detection-library- /. Thereafter, the obtained object images are ranked by said module 301 to determine the order of object capture.

[0041] На следующем этапе 403 упомянутый модуль 301 согласно порядку захвата объектов выбирает первый объект для захвата и на основе данных карты глубины формирует облако точек выбранного объекта, затем на основе этого облака точек модулем 301 рассчитываются ключевые точки объекта (этап 404), за параметрами которых будет осуществляться наблюдение и которые будут использованы для определения положения и ориентации объекта. Для расчета упомянутых ключевых точек предлагается использовать новый метод, основанный на методе главных компонент, раскрытый в статье Principal component analysis (Jolliffe I.Т., Technometrics. - 2003. - Т. 45. - №. 3. - С.276), для определения геометрических характеристик формы объекта в 3х мерном пространстве.[0041] In the next step 403, said module 301, according to the order of object capture, selects the first object for capturing and, based on the depth map data, forms a point cloud of the selected object, then based on this point cloud, the module 301 calculates the key points of the object (step 404), following the parameters which will be observed and which will be used to determine the position and orientation of the object. To calculate the aforementioned key points, it is proposed to use a new method based on the method of principal components, disclosed in the article Principal component analysis (Jolliffe I.T., Technometrics. - 2003. - T. 45. - No. 3. - P.276), to determine the geometric characteristics of the shape of an object in 3-dimensional space.

[0042] Для реализации метода главных компонент облако точек модуль 301 преобразуются в матричное представление X, где каждая строка представляет собой точку облака точек, а столбцы представляют собой компоненты [х, у, z], которые представляют собой координаты каждой точки облака точек, затем рассчитывается матрица ковариации по формуле:[0042] To implement the principal component method, the point cloud module 301 is converted to a matrix representation X, where each row represents a point in the point cloud and the columns represent [x, y, z] components that represent the coordinates of each point in the point cloud, then the covariance matrix is calculated by the formula:

Figure 00000001
Figure 00000001

где X - матричное представление облака точек, X' - математическое ожидание матрицы X, n - количество точек в облаке точек, Т - операция транспонирования матрицы. Затем, в полученной матрице широко известными методами, например, с помощью математических пакетов, происходит поиск 3 собственных векторов, например, способом, раскрытым в книге «А guide to NumPy» (Oliphant Т. E., Trelgol Publishing, 2006. - Т. 1. - C. 179), полученные вектора сортируются в порядке уменьшения собственных чисел матрицы. Для дальнейшей обработки данных, модуль 301 выбирает два первых собственных вектора матрицы ковариации, которые представляют собой вектора в трехмерном пространстве. Затем, модуль 301 осуществляет поиск заданного разработчиком в программном алгоритме количества ключевых точек, например, четырех точек, имеющих минимальные и максимальные координаты вдоль осей, базисом которых являются собственные векторы, найденные на предыдущем этапе.where X is the matrix representation of the point cloud, X 'is the mathematical expectation of the matrix X, n is the number of points in the point cloud, T is the matrix transposition. Then, in the resulting matrix by widely known methods, for example, using mathematical packages, there is a search for 3 eigenvectors, for example, by the method disclosed in the book "A guide to NumPy" (Oliphant T. E., Trelgol Publishing, 2006. - T. 1. - P. 179), the resulting vectors are sorted in decreasing order of matrix eigenvalues. To further process the data, module 301 selects the first two eigenvectors of the covariance matrix, which are vectors in three-dimensional space. Then, the module 301 searches for the number of key points specified by the developer in the software algorithm, for example, four points having minimum and maximum coordinates along the axes, the basis of which is the eigenvectors found in the previous step.

[0043] На следующем этапе модуль 301 осуществляет поиск существующей средней точки в облаке точек среди ключевых точек, в частности четырех точек, имеющих минимальные и максимальные координаты вдоль осей. Для этого модуль 301 осуществляет определение арифметического центра между ключевыми точками, извлекая их координаты вдоль плоскостей собственных векторов, и проводя сортировку массива облака точек в порядке близости точек к арифметическому центру, модуль 301 выбирает дополнительную точку, среди упомянутых ключевых точек, наиболее близкую к упомянутому арифметическому центру. Далее на основе координат ключевых точек и точки, наиболее близкой к упомянутому арифметическому центру, модуль 301 определяет положение объекта. Далее на основе данных о положении объекта, в частности его координат, координат упомянутых ключевых точек и точки, наиболее близкой к арифметическому центру, и данных модели, построенной в результате машинного обучения, модуль 301 определяет ориентацию и положение устройства захвата 103 роботизированного устройства, после чего генерирует рекомендации по расположению и ориентации устройства захвата 103 для успешного захвата очередного объекта для их передачи в модуль 302 планирования траектории движения манипулятора.[0043] In the next step, the module 301 searches for an existing midpoint in the point cloud among key points, in particular four points having minimum and maximum coordinates along the axes. To do this, the module 301 determines the arithmetic center between the key points, extracting their coordinates along the planes of the eigenvectors, and sorting the point cloud array in order of proximity of the points to the arithmetic center, the module 301 selects an additional point, among the mentioned key points, which is closest to the mentioned arithmetic center. Further, based on the coordinates of the key points and the point closest to the said arithmetic center, the module 301 determines the position of the object. Further, based on the data on the position of the object, in particular its coordinates, the coordinates of the mentioned key points and the point closest to the arithmetic center, and the data of the model built as a result of machine learning, the module 301 determines the orientation and position of the gripping device 103 of the robotic device, after which generates recommendations for the location and orientation of the capture device 103 for successful capture of the next object for transmission to the module 302 planning the trajectory of the manipulator.

[0044] Дополнительно модуль 301 определения захвата объекта может быть выполнен с возможностью формирования списка наблюдаемых параметров, в который заносятся данные о упомянутых ранее ключевых точках и точке, наиболее близкой к арифметическому центру, для передачи сформированного списка в алгоритм обучения, целью которого является определение наилучшей позы захватного устройства в пространстве для захвата объекта в рабочей зоне, с учетом деформации и смещения центра тяжести объекта а также геометрических коллизий в рабочей зоне.[0044] Additionally, the object capture determination module 301 can be configured to generate a list of observed parameters, into which data about the previously mentioned key points and the point closest to the arithmetic center are entered, for transferring the generated list to the learning algorithm, the purpose of which is to determine the best poses of the gripper in space for gripping an object in the working area, taking into account the deformation and displacement of the center of gravity of the object, as well as geometric collisions in the working area.

[0045] В режиме обучения используется симуляция робототехнической установки и ее рабочего окружения, а также модели объектов манипулирования. Симулятор должен позволять рассчитывать взаимодействия между объектами моделируемой сцены, способом так называемого мягкого контакта, и поддерживать возможность моделирования деформируемых или мягких объектов с наполнением. Обучение алгоритмов глубокого обучения с подкреплением происходит одновременно в большом количестве симуляторов, в которых положения и ориентация объектов манипуляции генерируются случайно в заданных рабочих зонах.[0045] In the training mode, a simulation of a robotic installation and its working environment, as well as a model of objects to be manipulated, is used. The simulator should allow calculating the interactions between objects of the simulated scene, using the so-called soft contact method, and support the ability to simulate deformable or soft objects with filling. The training of deep reinforcement learning algorithms occurs simultaneously in a large number of simulators, in which the positions and orientations of manipulated objects are generated randomly in specified work areas.

[0046] Алгоритм работы системы в режиме обучения, который выполняется посредством нейронный сетей, которые также могут быть размещены в модуле 301 определения захвата объект, показан на Фиг. 5 На этапе 501 происходит запрос данных из модуля 303 сбора данных с сенсора глубины 104 и извлечения списка наблюдаемых параметров, которые передаются в алгоритм обучения, на следующем этапе 502 алгоритм обучения с подкреплением предлагает положения и ориентации захватного устройства робота(координаты [x, y, z] и кватернион [x, y, z, w]), однако не все из них могут быть достижимы в условиях заданного расположения робота и параметров кинематической цепи робота. Для отсечения недостижимых позиций захвата на следующем этапе 503 используется дополнительное окружение в симуляторе, позволяющее по значениям целевой позы захвата определить все возможные геометрические конфигурации звеньев робота в пространстве методом решения обратной задачи кинематики. Для каждой из этих возможных конфигураций производится расчет коллизионной модели и проверяется не имеются ли коллизии внутри сцены между объектами (этап 508), чтобы отклонять заведомо невозможные конфигурации робота-манипулятора. Если целевая поза не в коллизии, то выполняется попытка захватить объект внутри симулятора на этапе 505, который реализует расчет физических взаимодействий захвата с объектом манипуляции. По результатам симуляции происходит расчет функции вознаграждения, величина которой пересылается в алгоритм обучения с подкреплением для коррекции управляющих воздействий 506. Таким образом алгоритм обучения формирует внутреннюю модель деформируемого тела с учетом переменного центра тяжести возможности, модели деформации как мешка, так и окружения. Процесс обучения заканчивается по истечении определенного количества итераций обучения.[0046] the Algorithm of the system in the learning mode, which is performed by means of neural networks, which can also be placed in the module 301 capture the object, is shown in FIG. 5 At step 501, data is requested from the module 303 for collecting data from the depth sensor 104 and retrieving the list of observed parameters, which are transmitted to the learning algorithm, at the next step 502, the reinforcement learning algorithm proposes the positions and orientations of the robot gripper (coordinates [x, y, z] and quaternion [x, y, z, w]), however, not all of them can be attainable under the conditions of a given position of the robot and the parameters of the kinematic chain of the robot. To cut off unattainable gripping positions at the next step 503, an additional environment in the simulator is used, which allows, from the values of the target gripping position, to determine all possible geometric configurations of the robot's links in space by solving the inverse kinematics problem. For each of these possible configurations, a collision model is calculated and it is checked whether there are collisions within the scene between objects (block 508) in order to reject obviously impossible configurations of the robot arm. If the target pose is not in collision, then an attempt is made to capture the object within the simulator at block 505, which computes the physical interactions of the capture with the manipulated object. Based on the simulation results, the reward function is calculated, the value of which is sent to the reinforcement learning algorithm to correct the control actions 506. Thus, the learning algorithm forms an internal model of the deformable body, taking into account the variable center of gravity of the possibility, the deformation model of both the bag and the environment. The training process ends after a certain number of training iterations.

[0047] Оценка качества обученности алгоритма обучения с подкреплением подсчитывается путем запуска нескольких параллельных процессов в симуляторах для ряда характерных случайных начальных ситуаций в зонах расположений объектов манипуляции. Результаты выполнения этих симуляций сохраняются и производится их статистический анализ, в результате которого выясняется, сколько удачных попыток захвата объектов было для каждой из зон расположений объектов манипуляции.[0047] The assessment of the quality of learning of the reinforcement learning algorithm is calculated by running several parallel processes in simulators for a number of typical random initial situations in the zones of the manipulation objects. The results of these simulations are saved and their statistical analysis is performed, as a result of which it is found out how many successful attempts to capture objects were for each of the zones where the objects of manipulation were located.

[0048] В режиме эксплуатации 600, показанной на Фиг. 6 робот, инициализируется в заранее определенной позиций для получения данных о расположении объектов в рабочей зоне. Алгоритм 400 выбирает кандидата для захвата, и на этапе 601 вычисляются данные о его расположении, система принятия решений рекомендует целевое положение и ориентацию захватного устройства на этапе 602. Для перемещения захватного устройства в целевую позу задействуется подсистема быстрого планирования траекторий движений 603, которая предлагает траекторию движения робота. Для того, чтобы избежать столкновения робота с объектом целевая поза корректируется так, чтобы по окончании исполнения траектории движения от захватного устройства до объекта оставалось небольшое расстояние. Это расстояние преодолевается роботом в податливом режиме так, что при достижении захватным устройством контакта с объектом движение робота останавливается. Далее осуществляется захват и перемещение объекта манипуляции, информация об успешности захвата с датчика 107 захватного устройства передается в алгоритм обучения с подкреплением на этапе 604, который в случае неудачной попытки рекомендует другую позу захвата роботизированного устройства. Процесс продолжается, пока не будет освобождена рабочая зона от всех объектов манипуляции.[0048] In the operating mode 600 shown in FIG. 6, the robot is initialized in a predetermined position to obtain data on the location of objects in the working area. Algorithm 400 selects a candidate for a grip and its location is calculated in step 601, the decision system recommends the target position and orientation of the gripper in step 602. Rapid trajectory planning engine 603 is used to move the gripper to a target position, which proposes a trajectory. robot. In order to avoid a collision of the robot with an object, the target posture is adjusted so that at the end of the execution of the trajectory from the gripper to the object, a small distance remains. This distance is covered by the robot in a compliant mode so that when the gripper reaches contact with the object, the movement of the robot stops. Next, the manipulation object is gripped and moved, information about the successful gripping from the gripper sensor 107 is transmitted to the reinforcement learning algorithm at step 604, which, in case of an unsuccessful attempt, recommends a different gripping position of the robotic device. The process continues until the work area is free of all manipulation objects.

[0049] Таким образом, за счет того, что при определении положения объекта учитываются его ключевые точки и точка среди ключевых точек, наиболее близкая к их арифметическому центру, повышается точность распознавания положения объекта и точность в выборе ориентации и положении устройства захвата роботизированного устройства для захвата этого объекта, т.е. повышается точность захвата объекта с помощью робота-манипулятора.[0049] Thus, due to the fact that when determining the position of an object, its key points and the point among the key points closest to their arithmetic center are taken into account, the accuracy of recognizing the position of the object and the accuracy in choosing the orientation and position of the gripping device of the robotic device for gripping are increased. of this object, i.e. the accuracy of gripping the object with the help of a robotic arm is increased.

[0050] В общем виде (см. Фиг. 7) вычислительное устройство содержит объединенные общей шиной информационного обмена один или несколько процессоров (701), средства памяти, такие как ОЗУ (702) и ПЗУ (703), интерфейсы ввода/вывода (704), устройства ввода/вывода (705), и устройство для сетевого взаимодействия (706).[0050] In general terms (see Fig. 7), the computing device contains one or more processors (701) united by a common data exchange bus, memory means such as RAM (702) and ROM (703), input / output interfaces (704 ), input / output devices (705), and a device for networking (706).

[0051] Процессор (701) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в устройстве (700) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.[0051] The processor (701) (or multiple processors, multi-core processor, etc.) can be selected from a range of devices currently widely used, for example, manufacturers such as: Intel ™, AMD ™, Apple ™, Samsung Exynos ™, MediaTEK ™, Qualcomm Snapdragon ™, etc. Under the processor or one of the processors used in the device (700), it is also necessary to take into account the GPU, for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used for training and applying machine learning models in various information systems.

[0052] ОЗУ (702) представляет собой оперативную память и предназначено для хранения исполняемых процессором (701) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (702), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (702) может выступать доступный объем памяти графической карты или графического процессора.[0052] RAM (702) is a random access memory and is intended for storing machine-readable instructions executed by the processor (701) for performing the necessary operations for logical processing of data. RAM (702) typically contains executable instructions of the operating system and associated software components (applications, software modules, etc.). In this case, the available memory of the graphics card or graphics processor can act as RAM (702).

[0053] ПЗУ (703) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.[0053] ROM (703) is one or more persistent storage devices such as a hard disk drive (HDD), solid state data storage device (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R / RW, DVD-R / RW, BlueRay Disc, MD), etc.

[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 и т.п.[0054] Various types of I / O interfaces (704) are used to organize the operation of the components of the device (700) and to organize the operation of external connected devices. The choice of the appropriate interfaces depends on the specific version of the computing device, which can be, but are not limited to: 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, etc.

[0055] Для обеспечения взаимодействия пользователя с устройством (700) применяются различные средства (705) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.[0055] To ensure the interaction of the user with the device (700), various means (705) of I / O information are used, for example, a keyboard, display (monitor), touch display, touch pad, joystick, mouse manipulator, light pen, stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, light indicators, projector, camera, biometric identification (retina scanner, fingerprint scanner, voice recognition module), etc.

[0056] Средство сетевого взаимодействия (706) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (706) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.[0056] The networking tool (706) provides data transmission via an internal or external computer network, for example, Intranet, Internet, LAN, and the like. One or more means (706) may be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and / or BLE module, Wi-Fi module, and dr.

[0057] Дополнительно могут применяться также средства спутниковой навигации в составе системы (700), например, GPS, ГЛОНАСС, BeiDou, Galileo. Конкретный выбор элементов устройства (700) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.[0057] Additionally, satellite navigation means can be used as part of the system (700), for example, GPS, GLONASS, BeiDou, Galileo. The specific choice of elements of the device (700) for the implementation of various software and hardware architectural solutions can vary while maintaining the required functionality provided.

[0058] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.[0058] Modifications and improvements to the above-described embodiments of the present technical solution will be clear to those skilled in the art. The foregoing description is provided by way of example only and is not intended to be limiting in any way. Thus, the scope of the present technical solution is limited only by the scope of the attached claims.

Claims (27)

1. Способ захвата объектов с помощью роботизированного устройства, выполняемый по меньшей мере одним вычислительным устройством, содержащий этапы, на которых:1. A method of capturing objects using a robotic device, performed by at least one computing device, comprising the steps of: - получают цветное изображение и карту глубины;- get a color image and a depth map; - осуществляют поиск объектов для захвата на изображении с учетом данных карты глубины;- search for objects to capture on the image, taking into account the data of the depth map; - выбирают объект для захвата;- select an object to capture; - на основе данных карты глубины формируют облако точек выбранного объекта;- based on the depth map data, a point cloud of the selected object is formed; - осуществляют поиск в облаке точек заданного количества ключевых точек;- search in the cloud of points for a given number of key points; - определяют арифметический центр между упомянутыми ключевыми точками;- determine the arithmetic center between the mentioned key points; - определяют точку среди ключевых точек, наиболее близкую к арифметическому центру;- determine the point among the key points closest to the arithmetic center; - на основе координат ключевых точек и точки, наиболее близкой к арифметическому центру, определяют положение выбранного объекта;- based on the coordinates of key points and the point closest to the arithmetic center, determine the position of the selected object; - на основе данных о положении объекта и данных модели, построенной в результате машинного обучения, определяют ориентацию и положение устройства захвата роботизированного устройства;- based on the data on the position of the object and the data of the model built as a result of machine learning, determine the orientation and position of the gripping device of the robotic device; - осуществляют захват выбранного объекта с помощью роботизированного устройства.- carry out the capture of the selected object using a robotic device. 2. Способ по п. 1, характеризующийся тем, что дополнительно содержит этап, на котором в случае неудачного захвата выбирают новую позу захвата роботизированного устройства.2. The method according to claim 1, further comprising the step of selecting a new gripping posture of the robotic device in the event of an unsuccessful grip. 3. Способ по п. 1, характеризующийся тем, что дополнительно содержит этапы, на которых:3. The method according to claim 1, characterized in that it further comprises the stages at which: - сегментируют изображение на отдельные изображения объектов;- segment the image into separate images of objects; - полученные изображения объектов ранжируют для определения порядка захвата объектов;- the resulting images of objects are ranked to determine the order of capture of objects; причем для захвата объекта выбирают первый объект согласно определенному порядку захвата объектов.and for capturing the object, the first object is selected according to a certain order of capturing the objects. 4. Способ по п. 1, характеризующийся тем, что этап поиска в облаке точек заданного количества ключевых точек включает этапы, на которых:4. The method according to claim 1, characterized in that the stage of searching in a cloud of points for a predetermined number of key points includes the stages at which: - преобразуют облако точек в матричное представление;- convert the point cloud into a matrix representation; - рассчитывают матрицу ковариации на основе матричного представления;- calculate the covariance matrix based on the matrix representation; - осуществляют поиск собственных векторов матрицы ковариации;- search for eigenvectors of the covariance matrix; - выбирают два первых собственных вектора матрицы ковариации;- choose the first two eigenvectors of the covariance matrix; - осуществляет поиск заданного количества ключевых точек, имеющих минимальные и максимальные координаты вдоль осей, базисом которых являются собственные векторы.- searches for a specified number of key points with minimum and maximum coordinates along the axes, the basis of which is the eigenvectors. 5. Способ по п. 1, характеризующийся тем, что дополнительно содержит этап, на котором формируют список наблюдаемых параметров, в который заносятся данные об упомянутых ранее ключевых точках и точке, наиболее близкой к арифметическому центру, для передачи сформированного списка в алгоритм обучения.5. The method according to claim 1, characterized in that it further comprises a stage at which a list of observed parameters is formed, in which data about the previously mentioned key points and the point closest to the arithmetic center are entered to transfer the generated list to the learning algorithm. 6. Система захвата объекта с помощью роботизированного устройства, содержащая:6. A system for gripping an object using a robotic device, containing: - роботизированное устройство, содержащее по меньшей мере один сенсор глубины и захватное устройство;- a robotic device containing at least one depth sensor and a gripper; - вычислительное устройство, соединенное с роботизированным устройством;- a computing device connected to the robotic device; - по меньшей мере одну память, содержащую машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют способ по любому из пп. 1-5.- at least one memory containing machine-readable instructions that, when executed by at least one computing device, perform the method according to any one of claims. 1-5.
RU2020129197A 2020-09-03 2020-09-03 Method and system for capturing objects using robotic device RU2745380C1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2020129197A RU2745380C1 (en) 2020-09-03 2020-09-03 Method and system for capturing objects using robotic device
EA202092863A EA202092863A1 (en) 2020-09-03 2020-12-23 METHOD AND SYSTEM FOR CAPTURING OBJECTS USING A ROBOTIC DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020129197A RU2745380C1 (en) 2020-09-03 2020-09-03 Method and system for capturing objects using robotic device

Publications (1)

Publication Number Publication Date
RU2745380C1 true RU2745380C1 (en) 2021-03-24

Family

ID=75159098

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020129197A RU2745380C1 (en) 2020-09-03 2020-09-03 Method and system for capturing objects using robotic device

Country Status (2)

Country Link
EA (1) EA202092863A1 (en)
RU (1) RU2745380C1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2587104C2 (en) * 2010-11-16 2016-06-10 ЮНИВЕРСАЛ РОБОТС АпС Method and device to control robot
US10089575B1 (en) * 2015-05-27 2018-10-02 X Development Llc Determining grasping parameters for grasping of an object by a robot grasping end effector
US10099369B2 (en) * 2013-05-21 2018-10-16 The University Of Birmingham Grasp modelling
WO2019136124A1 (en) * 2018-01-04 2019-07-11 X Development Llc Grasping of an object by a robot based on grasp strategy determined using machine learning model(s)
RU2700246C1 (en) * 2019-03-21 2019-09-20 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Method and system for capturing an object using a robot device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2587104C2 (en) * 2010-11-16 2016-06-10 ЮНИВЕРСАЛ РОБОТС АпС Method and device to control robot
US10099369B2 (en) * 2013-05-21 2018-10-16 The University Of Birmingham Grasp modelling
US10089575B1 (en) * 2015-05-27 2018-10-02 X Development Llc Determining grasping parameters for grasping of an object by a robot grasping end effector
WO2019136124A1 (en) * 2018-01-04 2019-07-11 X Development Llc Grasping of an object by a robot based on grasp strategy determined using machine learning model(s)
RU2700246C1 (en) * 2019-03-21 2019-09-20 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Method and system for capturing an object using a robot device

Also Published As

Publication number Publication date
EA202092863A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
US9811074B1 (en) Optimization of robot control programs in physics-based simulated environment
RU2700246C1 (en) Method and system for capturing an object using a robot device
US20220105624A1 (en) Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning
KR102023149B1 (en) In-Depth Machine Learning Method and Device for Robot Gripping
Herzog et al. Learning of grasp selection based on shape-templates
Bagnell et al. An integrated system for autonomous robotics manipulation
Zapata-Impata et al. Fast geometry-based computation of grasping points on three-dimensional point clouds
JP2019217632A (en) Deep machine learning method and apparatus for robotic grasping
Dogar et al. Physics-Based Grasp Planning Through Clutter.
Saut et al. Efficient models for grasp planning with a multi-fingered hand
JP2020532440A (en) Robot systems and methods for robustly gripping and targeting objects
Cruciani et al. Benchmarking in-hand manipulation
Dang et al. Semantic grasping: planning task-specific stable robotic grasps
Kasaei et al. Mvgrasp: Real-time multi-view 3d object grasping in highly cluttered environments
Tian et al. Realtime hand-object interaction using learned grasp space for virtual environments
CN114299150A (en) Depth 6D pose estimation network model and workpiece pose estimation method
Das et al. Fastron: An online learning-based model and active learning strategy for proxy collision detection
US11203116B2 (en) System and method for predicting robotic tasks with deep learning
JP7200610B2 (en) POSITION DETECTION PROGRAM, POSITION DETECTION METHOD, AND POSITION DETECTION DEVICE
El-Khoury et al. 3d objects grasps synthesis: A survey
Detry et al. Unsupervised learning of predictive parts for cross-object grasp transfer
RU2745380C1 (en) Method and system for capturing objects using robotic device
Biza et al. One-shot imitation learning via interaction warping
EA041202B1 (en) METHOD AND SYSTEM FOR CAPTURING OBJECTS USING A ROBOTIC DEVICE
WO2018161305A1 (en) Grasp quality detection method, and method and system employing same