ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к системам и способам, используемым для манипуляции физическими объектами. В частности, настоящее изобретение относится к способу выбора физических объектов в роботехнической системе.
УРОВЕНЬ ТЕХНИКИ
Роботехнические системы широко используются во многих отраслях промышленности для выполнения повторяющихся задач, в которых не требуются большие возможности визуального или когнитивного моделирования физических объектов, с которыми производят манипуляцию, или которые не требуют больших навыков для захвата и перемещения. Кроме того, роботы могут создаваться для работы в среде, враждебной для человека, или для работы с материалом, опасным для людей, например ядовитыми или радиоактивными материалами, отходами или массивными объектами. Желательно делать такие роботехнические системы по возможности максимально автономными, чтобы минимизировать участие человека.
Если цель состоит в создании роботизированной руки для манипуляции объектами, такая роботизированная рука обычно оборудуется устройством, предназначенным для захвата объектов, представляющих интерес. Такое устройство может, например, иметь сходство с рукой, клешней или зажимом. Хотя программирование робота для выполнения повторяющихся задач осуществляется относительно легко, имеются серьезные проблемы, относящиеся к автоматическому манипулированию объектами, особенно к распознаванию объектов на фоне меняющейся окружающей среды или окружающей среды, переполненной другими объектами, и к манипулированию объектом, который находится среди других объектов. А именно, другие объекты могут частично или полностью закрывать объект, тем самым усложняя осуществление точной локализации объекта для подачи команды на перемещение роботизированной руке, или же другие объекты могут мешать перемещениям роботизированной руки, в результате чего заранее заданные перемещения перестают подходить для решения задачи.
Проблему распознавания объектов обычно решают с использованием алгоритмов распознавания образов, согласно которым производят поиск объектов в данных, полученных датчиками, например в изображениях, полученных цифровым фотоаппаратом. Такие алгоритмы активно разрабатываются. Хотя имеется множество алгоритмов, которые могут даже распознать объекты на неоднородном фоне, алгоритмы распознавания образов в общем случае работают лучше всего тогда, когда фон и однороден, и заранее задан. Раньше поиск объектов заранее заданного типа производился в чистой рабочей области, и эти объекты выбирали из рабочей области в качестве распознанных объектов. На выбранном объекте известного типа можно выполнить набор действий. Этот набор действий можно выбрать на основе типа объекта, например можно помещать различные типы объектов в различные емкости.
Однако существует вероятность ошибки в определении типа объекта. Например, алгоритмы распознавания изображения могут привести к ложным результатам, т.е. к идентификации неправильного типа объекта. Кроме того, даже если объект распознан правильно, захватное устройство может оказаться не в состоянии захватить намеченный объект, например, если намеченный объект закрыт другим объектом, который может оказаться захваченным вместо целевого объекта, или если захватное устройство не заняло правильное положение перед захватом в результате погрешностей в управлении роботизированной рукой. Кроме того, имеется вероятность, что несколько объектов по неосторожности могут быть захвачены одновременно, например, если объекты расположены близко друг к другу или слиплись. В случае таких применений как переработка и сбор отходов, важно, чтобы точность сортировки объектов по группам была высокой, а именно, чтобы в рассортированных группах объектов было как можно меньше объектов неправильного типа.
Документ US 5,229,693 описывает устройство для удаления пригодных для переработки объектов или других объектов, выбранных из объема смешанного мусора. К объекту прикреплен идентификатор, формирующий невидимый идентифицирующий сигнал и используемый в связи с датчиками для определения положения объекта в пределах объема смешанного мусора, для управления движением объема смешанного мусора вдоль конвейера в извлекающее устройство и для управления движением и работой извлекающего устройства таким образом, чтобы удалять выбранный объект из объема смешанного мусора с автоматическим управлением без вмешательства человека. В документе US 5,229,693 не раскрыто, как выбирать непомеченные объекты из неструктурированной области, которая представляет собой рабочее пространство робота.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Изобретение относится к способу, включающему: прием первых данных датчика по меньшей мере от одного первого датчика; определение целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, связанного с роботизированной рукой; начало подачи по меньшей мере одной первой команды указанной роботизированной руке и/или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение; прием данных силовой обратной связи от указанного по меньшей мере одного первого датчика и/или по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной команды; прием вторых данных датчика от указанного по меньшей мере одного первого датчика; определение успешного захвата объекта по указанным вторым данным датчика; прием данных верификации по меньшей мере от одного второго датчика в ответ на указанное определение успешного захвата; и подачу по меньшей мере одной второй команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
Кроме того, изобретение относится к устройству, содержащему: средства для приема первых данных датчика по меньшей мере от одного первого датчика; средства для определения целевого положения по первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, связанного с роботизированной рукой; средства для начала подачи по меньшей мере одной первой команды указанной роботизированной руке и/или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение; средства для приема данных силовой обратной связи от указанного по меньшей мере одного первого датчика и/или по меньшей мере одного датчика силовой обратной связи, связанного с роботизированной рукой и/или захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной команды; средства для приема вторых данных датчика от указанного по меньшей мере одного первого датчика; средства для определения успешного захвата объекта по вторым данным датчика; средства для приема данных верификации по меньшей мере от одного второго датчика в ответ на определение успешного захвата; и средства для подачи по меньшей мере одной второй команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
Кроме того, настоящее изобретение относится к компьютерной программе, хранящейся на машиночитаемом носителе и содержащей код для управления процессором для выполнения способа, включающего: прием первых данных датчика по меньшей мере от одного первого датчика; определение целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, связанного с роботизированной рукой; начало подачи по меньшей мере одной первой команды указанной роботизированной руке и/или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение; прием данных силовой обратной связи от указанного по меньшей мере одного первого датчика и/или по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной команды; прием вторых данных датчика от указанного по меньшей мере одного первого датчика; определение успешного захвата объекта по указанным вторым данным датчика; прием данных верификации по меньшей мере от одного второго датчика в ответ на определение успешного захвата; и подачу по меньшей мере одной второй команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
Кроме того, настоящее изобретение относится к способу, включающему: прием первых данных датчика по меньшей мере от одного первого датчика; определение целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, связанного с роботизированной рукой; начало подачи по меньшей мере одной первой команды указанной роботизированной руке и/или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение; прием данных силовой обратной связи по меньшей мере от указанного по меньшей мере одного первого датчика или по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной команды; прием вторых данных датчика от указанного по меньшей мере одного первого датчика; определение успешного захвата объекта по указанным вторым данным датчика; прием данных верификации по меньшей мере от одного второго датчика в ответ на указанное определение успешного захвата; и подачу по меньшей мере одной второй команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
Кроме того, настоящее изобретение относится к устройству, содержащему: средства для приема первых данных датчика по меньшей мере от одного первого датчика; средства для определения целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, связанного с роботизированной рукой; средства для начала подачи по меньшей мере одной первой команды указанной роботизированной руке и/или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение; средства для приема данных силовой обратной связи от указанного по меньшей мере одного первого датчика или по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере указанной одной команды; средства для приема вторых данных датчика от указанного по меньшей мере одного первого датчика; средства для определения успешного захвата объекта по указанным вторым данным датчика; средства для приема данных верификации по меньшей мере от одного второго датчика в ответ на указанное определение успешного захвата; и средства для подачи по меньшей мере одной второй команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
Кроме того, настоящее изобретение относится к компьютерной программе, хранящейся на машиночитаемом носителе и содержащей код для управления процессором так, чтобы выполнить способ, включающий: прием первых данных датчика по меньшей мере от одного первого датчика; определение целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, связанного с роботизированной рукой; начало подачи по меньшей мере одной первой команды указанной роботизированной руке или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение; прием данных силовой обратной связи по меньшей мере от указанного по меньшей мере одного первого датчика или по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной команды; прием вторых данных датчика от указанного по меньшей мере одного первого датчика; определение успешного захвата объекта по указанным вторым данным датчика; прием данных верификации по меньшей мере от одного второго датчика в ответ на указанное определение успешного захвата; и подача по меньшей мере одной второй команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата захватного устройства.
Кроме того, настоящее изобретение относится к устройству, содержащему память и по меньшей мере один процессор, конфигурированный для приема первых данных датчика по меньшей мере от одного первого датчика; определения целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, связанного с роботизированной рукой; начала подачи по меньшей мере одной первой команды указанной роботизированной руке и/или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение; приема данных силовой обратной связи от указанного по меньшей мере одного первого датчика и/или по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной команды; приема вторых данных датчика от указанного по меньшей мере одного первого датчика; определения успешного захвата объекта по указанным вторым данным датчика; приема данных верификации по меньшей мере от одного второго датчика в ответ на указанное определение успешного захвата; и подачу по меньшей мере одной второй команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
В одном из вариантов осуществления настоящего изобретения указанная по меньшей мере одна команда содержит сигнал, указывающий по меньшей мере на одно перемещение роботизированной руки и/или захватного устройства. В еще одном варианте осуществления настоящего изобретения указанная по меньшей мере одна команда представляет собой управляющее напряжение, подаваемое для управления по меньшей мере одним из следующих действий: поворотом, подъемом и захватом.
В еще одном варианте осуществления настоящего изобретения первый обучающийся элемент в пределах устройства регистрирует успешный захват и первые данные датчика.
В еще одном варианте осуществления настоящего изобретения в ответ на определение неудачи при выполнении по меньшей мере одной из указанной по меньшей мере одной команды первый обучающийся элемент в пределах устройства регистрирует неудачный захват и первые данные датчика.
В еще одном варианте осуществления настоящего изобретения элемент для управления перемещением руки или первый обучающийся элемент в пределах устройства прогнозирует вероятность успешного захвата по первым данным датчика с использованием информации, зарегистрированной в первом обучающемся элементе. В ответ на эту вероятность элемент управления перемещением руки подает указанной роботизированной руке по меньшей мере одну первую команду.
В еще одном варианте осуществления настоящего изобретения элемент управления перемещением руки подает роботизированной руке по меньшей мере одну третью команду для перемещения захватного устройства в положение верификации.
В еще одном варианте осуществления настоящего изобретения положение верификации соответствует среде верификации, в которой имеется по меньшей мере один второй датчик, который может быть приложен к объекту без вмешательства со стороны других объектов. В еще одном варианте осуществления настоящего изобретения среда верификации имеет постоянный фон.
В еще одном варианте осуществления настоящего изобретения указанное устройство конфигурировано для определения типа объекта по данным верификации от указанного по меньшей мере одного второго датчика.
В еще одном варианте осуществления настоящего изобретения шаг начала подачи указанной по меньшей мере одной первой команды указанной роботизированной руке или способ в общем дополнительно включает: передачу первых координат в указанную роботизированную руку; прием первых промежуточных данных от указанного по меньшей мере одного первого датчика и определение фактического положения указанного захватного устройства в системе координат датчика с использованием первых промежуточных данных датчика. Эти шаги могут быть выполнены элементом управления перемещением руки в пределах устройства.
В еще одном варианте осуществления настоящего изобретения шаг начала подачи указанной по меньшей мере одной первой команды указанной роботизированной руке или способ в общем дополнительно включает: определение расхождения между указанным фактическим положением захватного устройства и указанными первыми координатами; передачу вторых координат в указанную роботизированную руку; прием вторых промежуточных данных от указанного по меньшей мере одного первого датчика; определение второго фактического положения указанного захватного устройства в системе координат датчика с использованием вторых промежуточных данных датчика и проверку того, меньше ли расхождение заранее заданного порога. Если расхождение превышает указанный порог, способ может быть продолжен с использованием шагов повторного определения расхождения, передачи вторых координат, приема вторых промежуточных данных датчика и определения второго фактического положения.
В еще одном варианте осуществления настоящего изобретения шаг начала подачи указанной по меньшей мере одной первой команды указанной роботизированной руке или способ в общем дополнительно включает: запись связи между координатами указанной роботизированной руки и положением указанного захватного устройства, определенного в системе координат датчика, во второй обучающийся элемент.
В еще одном варианте осуществления настоящего изобретения шаг начала подачи указанной по меньшей мере одной первой команды указанной роботизированной руке или способ в общем дополнительно включает: создание функции преобразования, связывающей координаты роботизированной руки и координаты в системе координат датчика с использованием указанной записанной связи.
В еще одном варианте осуществления настоящего изобретения шаг определения целевого положения по указанным первым данным датчика дополнительно включает: определение начального целевого положения в системе координат датчика и вычисление указанного целевого положения по начальному целевому положению с использованием указанной функции преобразования.
В еще одном варианте осуществления настоящего изобретения функция преобразования представляет собой матрицу преобразования, вычисленную с использованием по меньшей мере указанной записанной связи между координатами роботизированной руки и положением захватного устройства, определенного в системе координат датчика. Кроме того, для вычисления матрицы преобразования могут использоваться другие аналогичные связи.
В еще одном варианте осуществления настоящего изобретения объект, представляющий интерес, расположен в неструктурированной области, то есть в среде или в общем случае в трехмерном пространстве, в котором заранее не заданы одна или несколько характеристик, таких как цвет или геометрия фона, и которое может включать, в дополнение к объектам, представляющим интерес, другие объекты с неизвестными характеристиками. Например, элементы мусора могут составлять неструктурированную область, то есть рабочее пространство для робота. Неструктурированная область может также меняться со временем. Например, по мере удаления мусора, элементы мусора могут перемешиваться, перемещаться или обваливаться. Кроме того, может быть добавлен новый мусор.
В еще одном варианте осуществления настоящее изобретение относится к роботизированной руке, управляемой управляющим блоком и устанавливаемой так, чтобы она могла достать объекты, расположенные в неструктурированной области.
В еще одном варианте осуществления настоящего изобретения система дополнительно содержит захватное устройство, прикрепленное к роботизированной руке и управляемое управляющим блоком. Захватное устройство может, например, быть устройством, которое захватывает объекты путем их охвата аналогично руке или клешне.
В еще одном варианте осуществления настоящего изобретения система дополнительно содержит по меньшей мере один датчик, который может использоваться для формирования данных датчика о неструктурированной области. Одно такое устройство датчика может быть, например, цифровым фотоаппаратом, ориентированным для обзора неструктурированной области.
В еще одном варианте осуществления настоящего изобретения захватное устройство содержит датчики, которые могут использоваться для обнаружения, находится ли захватное устройство в контакте с объектами в неструктурированной области, например, когда захватное устройство перемещается и сталкивается с объектом или когда объект захвачен.
В еще одном варианте осуществления настоящего изобретения в системе дополнительно имеется заранее заданное положение верификации для указанной роботизированной руки, расположенное и ориентированное таким образом, чтобы роботизированная рука, захватывающая объект, могла быть перемещена и ориентирована таким образом, чтобы по меньшей мере один датчик мог обозревать объект в указанной области. Такая область может, например, включать плоскую поверхность известного и постоянного цвета, так чтобы захваченный объект мог быть размещен роботом на этом фоне и, таким образом, более точно рассмотрен датчиками, или она может содержать другую обстановку, подходящую для верификации типа объекта используемыми датчиками.
В еще одном варианте осуществления настоящего изобретения система содержит первую обучающуюся систему, конфигурированную для приема данных от датчиков и вывода в контроллерный блок местоположения в неструктурированной области, в котором вероятность успешной операции по захвату высока.
В еще одном варианте осуществления настоящего изобретения система содержит вторую обучающуюся систему, конфигурированную для приема данных от датчиков и вывода вероятности того, что операция по захвату, выполненная в данном местоположении, приведет к захвату объекта желаемого типа.
В еще одном варианте осуществления настоящего изобретения контроллерный блок конфигурирован для перемещения роботизированной руки так, чтобы захватное устройство оказалось расположено в ранее определенном местоположении в неструктурированной области, и последующего захвата объекта в этом местоположении.
В еще одном варианте осуществления настоящего изобретения успех операции по захвату определяют с использованием данных от датчиков. Если захват оказался неуспешным, роботизированная рука перемещается в другое местоположение для другой попытки. После успешной операции по захвату контроллерный блок конфигурируют для последующего перемещения объекта в заранее заданное положение верификации, и тип объекта определяют путем выполнения операции верификации. В операции верификации в качестве входных данных принимают данные датчика, а на выходе выдают определенный тип объекта.
В еще одном варианте осуществления настоящего изобретения система дополнительно усовершенствована с использованием обучающихся систем, которые способны работать в устройстве.
В еще одном варианте осуществления настоящего изобретения имеется обучающаяся система, которая может быть названа первой обучающейся системой или первым обучающимся элементом. Для каждой попытки захвата данные датчика до перемещения руки и результат оценки операции по захвату посылают в первую обучающуюся систему. Первая обучающаяся система конфигурирована для вычисления местоположения в неструктурированной области, в котором вероятна успешная операция по захвату, и, таким образом, улучшает работу системы при новых попытках захвата объектов.
В еще одном варианте осуществления настоящего изобретения предложена обучающаяся система, которая может быть названа второй обучающейся системой или вторым обучающимся элементом. Данные датчика до перемещения руки, положение и ориентация роботизированной руки до и после перемещения роботизированной руки также подают во вторую обучающуюся систему, которая вычисляет эффективный способ перемещения роботизированной руки в определенное целевое местоположение, что ускоряет работу роботехнической системы при новых попытках перемещения роботизированной руки.
В еще одном варианте осуществления настоящего изобретения предложена компьютерная программа, хранящаяся на машиночитаемом носителе. Машиночитаемый носитель может быть съемной картой памяти, съемным модулем памяти, магнитным диском, оптическим диском, голографической памятью или магнитной лентой. Съемный модуль памяти может быть, например, модулем памяти USB, картой памяти PCMCIA или смарт-картой памяти.
Варианты осуществления настоящего изобретения, описанные выше, могут использоваться в любой комбинации друг с другом. Несколько вариантов осуществления настоящего изобретения могут быть объединены с формированием дополнительного варианта осуществления настоящего изобретения. Способ, система, устройство, компьютерная программа или компьютерный программный продукт, к которым относится настоящее изобретение, могут включать по меньшей мере один из вариантов осуществления настоящего изобретения, описанных выше.
Положительный эффект, обеспечиваемый изобретением, связан с повышением качества выбора объектов в рабочем пространстве робота.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На сопровождающих чертежах, которые включены для лучшего понимания изобретения и которые составляют неотъемлемую часть настоящего описания, иллюстрируются варианты осуществления настоящего изобретения, которые вместе с описанием способствуют раскрытию принципов настоящего изобретения. На чертежах:
на фиг. 1 показана блок-схема, иллюстрирующая роботехническую систему для выбора физических объектов согласно одному из вариантов осуществления настоящего изобретения;
на фиг. 2 показана блок-схема последовательности операций для выбора физических объектов в роботехнической системе, и
на фиг. 3 показана блок-схема компьютера, содержащего две обучающиеся системы согласно одному из вариантов осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
Ниже подробно рассмотрены варианты осуществления настоящего изобретения со ссылками на сопровождающие чертежи.
На фиг. 1 показана блок-схема роботехнической системы для выбора физических объектов согласно одному из вариантов осуществления настоящего изобретения. На фиг. 1 устройство 100 обработки данных, или сокращенно просто устройство, содержит центральный процессор (central processing unit, CP) 110 и память 150. В некоторых вариантах осуществления настоящего изобретения используют множество процессоров CP1-CPn, а также блок распределения нагрузки для распределения нагрузки среди множества процессоров. Один или более процессоров управляют роботизированной рукой путем выполнения программы 152, хранящейся в одной или более памяти 150. В процессе выполнения программы 152 устанавливают и обновляют различные параметры и переменные 154 в памяти 150. Некоторые параметры могут быть представлены, например, в виде таблиц, массивов, списков, разреженных или плотных матриц или других структур данных.
Кроме того, устройство 100 обработки данных содержит или использует внешнюю схему 120 ввода-вывода, которая представляет собой пользовательский интерфейс устройства обработки данных. Схема 120 ввода-вывода содержит схему 122 ввода и схему 124 вывода. Клавиатурный интерфейс и дисплейный интерфейс представляют собой иллюстративные, но не ограничивающие примеры такой схемы 122 ввода и схемы 124 вывода.
Для общения с внешними устройствами устройство 100 обработки данных, как правило, содержит или использует внешнюю схему 130 приема/передачи, которая содержит схему передачи ("TXn") 132, схему приема ("RXn") 134 и внутреннюю или внешнюю антенну 136. Подстрочный индекс "n" в обозначениях TXn и RXn указывает, что устройство обработки данных может использовать несколько различных технологий сопряжения для общения с физическим миром, который в настоящем примере включает роботизированную руку и, опционально, отдельную среду верификации.
Иллюстративными, но не ограничивающими примерами такой беспроводной схемы приема/передачи являются беспроводные локальные сети (WLAN) и беспроводные интерфейсы ближнего действия, например инфракрасный, радиоинтерфейс или интерфейс Bluetooth. Вместо таких технологий беспроводной связи или в дополнение к ним устройство обработки данных может использовать проводные соединения 138, такие как USB (Universal Serial Bus, универсальная последовательная шина), любой параллельный или последовательный интерфейс или другие типы стандартных промышленных интерфейсов или проприетарных интерфейсов. На предыдущем уровне обобщения все элементы 110-138 могут быть обычными, используемыми в соответствующей области техники.
В дополнение к обычным элементам память 150 устройства 100 обработки данных содержит набор программ 152 для реализации нового способа входа пользователя. Программы 152 используют различные структуры данных, переменные и параметры, который все вместе обозначены позицией 154.
Позицией 160 в общем случае обозначена роботехническая система, по меньшей мере некоторыми частями которой управляет устройство 100 обработки данных. Роботехническая система 160 содержит по меньшей мере одного робота, обозначенного позицией 170, но она может содержать дополнительных роботов, один или более конвейеров, таких как конвейерные ленты, стационарные датчики, устройства освещения, анализаторы и т.п. В настоящем примере робот 170, схематично показанный на чертеже, напоминает руку с вращающимися элементами, но возможны и другие типы элементов. Как показано на фиг. 1, роботизированная рука 170 содержит захватное устройство 171, которое напоминает руку или клешню. Роботизированная рука 170 способна перемещать захватное устройство 171 в пределах рабочей области 172. Различные перемещения роботизированной руки 170 и захватного устройства 171 производятся приводами, которые в совокупности обозначены позицией 173. Например, приводы могут быть электрическими, пневматическими, гидравлическими или любой их комбинацией. Приводы могут перемещать или вращать различные элементы роботизированной руки 170, как обозначено прямыми и скругленными двусторонними стрелками на фиг. 1.
Рабочая область 172 робота содержит часть, называемую неструктурированной областью 180. Неструктурированная область 180 содержит различные объекты, в совокупности обозначенные позицией 181. В иллюстративном, но не ограничивающем, примере неструктурированная область 180 представляет собой конвейерную ленту или часть конвейерной ленты, которая пересекает рабочую область 172 робота. В устройстве обработки данных имеется лишь небольшая априорная информация (или вообще нет информации) об объектах 181 в неструктурированной области 180, такой как размер, форма и/или цвет объектов, представляющих интерес. В некоторых вариантах осуществления настоящего изобретения в устройстве 100 обработки данных может иметься некоторая априорная информация об объектах, представляющих интерес, или оно может получать информацию об объектах в процессе обучения, но по меньшей мере фон (другие объекты), положение и ориентация объектов, представляющих интерес, как правило, априори неизвестны. Таким образом, объекты 181 могут находиться в случайных положениях и ориентациях в неструктурированной области 180, и, кроме того, объекты 181 могут перекрывать друг друга. Поэтому предпочтительно назначить часть рабочей области 172 робота структурированной областью 182, в которой захватное устройство 171 и любые объекты, захваченные им, могут быть рассмотрены при относительно постоянных условиях и на известном фоне. В контексте настоящего описания, термин «относительно постоянные условия и фон» означает, что любые изменения в структурированной области 182 происходят настолько медленно, что они могут быть скомпенсированы проведением периодических наблюдений и сохранением их результатов.
В одном из вариантов осуществления настоящего изобретения структурированная область 182 может также быть проинспектирована с использованием по меньшей мере одного второго датчика из датчиков 176 или с использованием по меньшей мере одного второго отдельного датчика 176d, который применяется конкретно в структурированной области 182. Структурированная область может быть просто конкретным положением роботизированной руки 170 и/или захватного устройства 171, что позволяет использовать указанный по меньшей мере один второй датчик, не затрагивая элементы неструктурированной области 181. Раздельная верификация может включать инспектирование или анализ содержимого захватного устройства дополнительным оборудованием, то есть указанным по меньшей мере одним вторым датчиком 176d. Иллюстративный, но не исчерпывающий список такого дополнительного оборудования включает 1) дополнительное устройство отображения, которое наблюдает содержимое захватного устройства с другого направления, и/или на других длинах волн, и/или при более высоком разрешении, чем расположенная там же фотокамера; 2) дополнительное устройство освещения, которое освещает или облучает содержимое захватного устройства на других длинах волн и/или с другими уровнями энергии по сравнению с теми, которые используются для неструктурированной области; 3) газовый анализатор и 4) лазерный сканер.
Ряд электрических драйверов 174 преобразует сигналы обработки данных, другими словами, команды, от устройства 100 обработки данных, в подходящие напряжения и уровни мощности для управления приводами. В ответ на управляющие сигналы 175 от устройства 100 обработки данных, приводы выполняют различные механические функции, включая, но не ограничиваясь перечисленным, определение местоположения захватного устройства 171 в конкретном месте в пределах рабочей области 172, опускание или подъем захватного устройства, и захват и отпускание захватным устройством. В некоторых вариантах осуществления настоящего изобретения приводы содержат привод для наклона захватного устройства 171 и соответствующую камеру 176 с, которая контролирует положение захватного устройства на известном фоне. Таким образом, в таких вариантах осуществления настоящего изобретения структурированная область 182 может быть осуществлена путем наклона захватного устройства 171 и камеры 176 с без необходимости перемещения в другое положение.
Устройство 100 обработки данных для связи с роботехнической системой 160 может использовать беспроводные соединения через интерфейс 136 и/или проводные соединения через интерфейс 138.
Роботехническая система 160 в целом и робот 170, в частности, содержат различные датчики, в совокупности обозначенные позицией 176. Например, датчики 176 содержат различные датчики 176а положения, которые указывают положение роботизированной руки 170 и захватного устройства 171, а также открытое/закрытое состояние захватного устройства 171. Открытое/закрытое состояние захватного устройства не ограничено простым одноразрядным состоянием да/нет. В одном из вариантов осуществления настоящего изобретения захватное устройство 171 может указывать мультиразрядное открытое/закрытое состояние относительно каждого из своих пальцев, в результате чего в захватном устройстве могут быть получены сведения о размере и/или форме объекта (объектов).
В дополнение к датчикам положения набор датчиков может содержать датчики 176b деформации, известные также как тензодатчики или датчики силовой обратной связи, которые регистрируют деформацию, испытываемую различными элементами роботизированной руки 170 и захватного устройства 171. В иллюстративном, но не ограничивающем, примере осуществления датчики деформации содержат переменные сопротивления, величина которых меняется в зависимости от давления, оказываемого на них. Поскольку изменение сопротивления мало по сравнению с абсолютной величиной сопротивления, переменное сопротивление обычно измеряют в конфигурации моста Уитстона.
В еще одном варианте осуществления настоящего изобретения датчики 176b деформации действуют как датчики силовой обратной связи, которые указывают на возможную неудачу операции по захвату. Неудача может быть зарегистрирована по силе, действующей с внешней стороны захватного устройства 171, которая демонстрирует, что захватное устройство не может быть полностью переведено в открытое состояние в указанном целевом местоположении руки, или по силе с любой стороны, которая превышает заранее заданный порог.
Кроме того, набор датчиков может содержать по меньшей мере один датчик изображения или камеру 176с, расположенную согласованно с роботизированной рукой. В настоящем контексте термин «согласованная камера» 176с означает, что камера 176с постоянно контролирует область под захватным устройством 171.
Сигналы данных положения от различных датчиков 176 преобразуют для согласования с уровнями и форматами драйверов, в совокупности обозначенных позицией 177. Преобразованные сигналы данных передают в устройство 100 обработки данных в качестве входных сигналов 178.
Программное обеспечение или набор программ 152 в памяти 150 системы 100 обработки данных содержит различные программы. В контексте настоящего изобретения термин «программа» означает набор инструкций компьютерной программы, выполнение которых одним или более процессорными блоками СР1-CPn приводит к тому, что система 100 обработки данных подает команды роботехнической системе 160 на выполнение четко заданной операции высокого уровня. Примером операции высокого уровня является перемещение роботизированной руки в конкретное положение. Соответствующая программа может использовать различные программные драйверы, процедуры или библиотеки с динамической связью для преобразования операции высокого уровня в последовательность операций низкого уровня, например, выведение соответствующей последовательности выходных сигналов 175 через электрические драйверы 174 в приводы 173 роботехнической системы 160. Альтернативно или дополнительно, некоторые или все программы 152 могут принимать данные 178 датчика от роботехнической системы 160 и производить единичный или многократный анализ данных датчика.
Как минимум, набор программ 152 содержит программы для перемещения руки, обозначенные позицией AM, которые подают команды роботизированной руке 170 на перемещение в конкретное местоположение и, опционально, наклон захватного устройства 171 так, что его элементы могут быть видны на известном фоне. Кроме того, набор программ 152 содержит программу управления последовательностью захвата (gripping sequence control, GSC) и программу оценки последовательности захвата (gripping sequence evaluation, GSE). Выполнение программы GSC управления последовательностью захвата заставляет устройство 100 обработки данных подать роботизированной руке 170 и захватному устройству 171 команды на попытку операции по захвату, включающую приближение захватного устройства 171 к местоположению, которое включает захватываемый объект-кандидат, и захват его захватным устройством 171. Частной целью изобретения является обеспечение способа, системы обработки данных и программного продукта, способных определить, была ли предпринятая операция по захвату успешной. Это определение выполняет программа GSE оценки последовательности захвата.
В еще одном варианте осуществления программа GSE оценки последовательности захвата использует датчики 176а положения и/или датчики 176b деформации захватного устройства 171 для определения того, захватило ли захватное устройство 171 что-либо фактически. Другими словами, определение может быть основано на считывании данных, переходит ли захватное устройство полностью в закрытое состояние, если даны соответствующие команды, или же в захватном устройстве имеется что-нибудь, не дающее ему полностью закрыться. Программа GSC управления последовательностью захвата может использовать датчики 176b деформации для установления верхнего предела на прилагаемую силу захвата, чтобы не повредить захваченный объект и/или само захватное устройство.
В другом варианте осуществления программа GSE оценки последовательности захвата может альтернативно или дополнительно использовать согласованную камеру 176с для контроля того, включает ли область наблюдения камеры что-нибудь, что перемещается вместе с захватным устройством и, следовательно, остается по существу «на месте», даже если перемещение захватного устройства меняет фон на изображении в камере 176с. Например, программа AM перемещения руки может переместить и/или наклонить захватное устройство 171, содержимое захватного устройства и согласованной камеры 176с по отношению к структурированной области 182. Согласованная камера может формировать изображение захватного устройства и его содержимого. Это текущее изображение захватного устройства и его содержимого можно сравнить с известным, сохраненным ранее изображением захватного устройства. При сравнении любые расхождения между текущим и ранее сохраненным изображениями могут быть вызваны содержимым захватного устройства, грязью в захватном устройстве или изменением фона или освещения. Чтобы гарантировать, что любые разности между текущим и ранее сохраненным изображениями отражают фактическое содержимое захватного устройства, предпочтительно периодически обновлять сохраненное изображение захватного устройства, когда известно, что захватное устройство пусто, в результате любую грязь или изменения фона или освещении можно компенсировать.
Вместо механического датчика, проверяющего, полностью ли закрывается захватное устройство, или визуального его осмотра, или в дополнение к таким способам, роботизированная рука может содержать тензодатчик, позволяющий взвешивать захватное устройство 171 и его содержимое. Вычитая известный вес нетто захватного устройства из его текущего веса, можно определить вес содержимого захватного устройства. Эта информация сама по себе или в комбинации другими двумя видами информации может способствовать определению успешности операции по захвату. Все такие способы можно подытожить, если сказать, что успех операции по захвату можно определить, сравнивая информацию о текущем состоянии захватного устройства с известной информацией о состоянии захватного устройства. Термин «известная информация о состоянии» означает, что когда была получена эта известная информация о состоянии, захватное устройство было пустым или его содержимое было известно.
В одном из вариантов осуществления настоящего изобретения программы AM, OR, GSC, GSE, VO, L1 и L2 могут быть реализованы в виде отдельных элементов программного обеспечения, например таких как подпрограммы, процедуры, треды, модули и последовательности программных кодов.
На фиг. 2 показана последовательность операций, иллюстрирующая способ выбора физических объектов в роботехнической системе. Роботехническая система включает устройство управления.
На шаге 200 устройство принимает первые данные датчика по меньшей мере от одного первого датчика.
На шаге 202 устройство определяет целевое положение по первым данным датчика.
На шаге 204 устройство начинает подачу по меньшей мере одной первой команды роботизированной руке на перемещение захватного устройства роботизированной руки в целевое положение. По меньшей мере одна первая команда может быть подана параллельно с шагом 206, на котором устройство принимает данные датчика силовой обратной связи.
На шаге 206 устройство принимает данные силового датчика обратной связи по меньшей мере от одного датчика силовой обратной связи, связанного с роботизированной рукой и/или захватным устройством, для определения неудачи при выполнении по меньшей мере одной команды.
На шаге 208 устройство принимает вторые данные датчика по меньшей мере от одного первого датчика.
На шаге 210 устройство определяет успешность захвата объекта по вторым данным датчика.
На шаге 212 устройство, в ответ на определение успешности захвата, принимает данные верификации по меньшей мере от одного второго датчика.
На шаге 214 устройство подает роботизированной руке по меньшей мере одну вторую команду для перемещения руки в заранее заданное положение с отпусканием захвата захватного устройства. После этого выполнение способа завершается.
В еще одном варианте осуществления настоящего изобретения устройство обработки данных, например устройство 100 обработки данных, показанное на фиг. 1, принимает входные данные по меньшей мере от одного датчика, например согласованной камеры. Устройство обработки данных извлекает подмножество данных датчика для распознавания объекта с помощью программы распознавания объекта. Программа распознавания объекта используется для извлечения из поднабора данных датчика признаков, соответствующих объектам, представляющим интерес, при этом указанные признаки в этом случае формируют набор данных, который используется в качестве входных данных для обучающейся системы. Данное изобретение пригодно фактически для любого вида используемой системы распознавания объектов, и поэтому такая система может быть хорошо согласована с состоянием неструктурированной области и конкретным применением изобретения. Для лучшего понимания изобретения ниже описан пример системы распознавания объекта, предназначенной для распознавания красных объектов с использованием согласованной камеры.
В одном варианте осуществления настоящего изобретения входные данные, принятые из согласованной камеры, являются цифровым изображением, которое состоит их двумерного массива пикселей, при этом каждый пиксель имеет численное значение для красного, зеленого и синего цветовых компонентов, в дальнейшем называемыми R, G и В-значениями соответственно. В данном примере мы предполагаем, что изображение, создаваемое камерой, содержит в точности один объект, представляющий интерес.
Количество пикселей в данных соответствует разрешению камеры. Для уменьшения объема вычислений данные изображения, принятые из камеры, подвергают понижающей дискретизации до разрешения, которое подходит для анализа. Соответствующее разрешение после понижающей дискретизации может быть определено опытным путем.
Затем изображение, полученное после понижающей дискретизации, нормализуют с учетом изменений условий освещения. Нормализация может быть выполнена отдельно для каждого пикселя в изображении после понижающей дискретизации. После нормализации изображения по нему вычисляют набор признаков, таких как местоположение и ориентация объекта, представляющего интерес, и эти признаки используют как входные данные для первой обучающейся системы. Для краткости в качестве примера такого признака будет рассмотрено только вычисление местоположения (x, y) объекта, представляющего интерес, где x и y - координатные значения в системе координат изображения, хотя изобретение не ограничено только этим признаком, и выигрыш может быть получен при учете нескольких различных признаков, которые будут использоваться в качестве входных данных для обучающейся системы L1.
В одном из вариантов осуществления настоящего изобретения вычисление местоположения (х, y) объекта, представляющего интерес, производят следующим образом. Сначала определяют пиксели, которые соответствуют объекту, представляющему интерес, в нормализованном изображении после понижающей дискретизации. В литературе известно множество подходящих алгоритмов для решения этой задачи. В данном примере пиксели, соответствующие объекту, распознают на основе цветовых значений, то есть объект считается красным, если на изображении объекту, представляющему интерес, соответствуют красные пиксели. Как только пиксели, соответствующие объекту, представляющему интерес, определены, местоположение (х, y) объекта может быть определено путем вычисления центроида области, где расположены определенные пиксели. Доступно множество хороших и свободных подходящих алгоритмов, и задача легко решается с использованием, например, функции cvFind-Countours() из библиотеки OpenCV Library, которая определяет множество точек (xi, yi), формирующих кривую, заключающую в себе эти пиксели, и затем вычисляет среднее значение координат точки кривой, которое соответствует координатам центроида объекта на изображении.
В еще одном варианте осуществления настоящего изобретения, когда программа распознавания объекта определила набор данных, в данном примере местоположение (х, y) объекта, представляющего интерес, программа перемещения руки устройства обработки данных подает команду роботизированной руке на перемещение в местоположение в мировых координатах, соответствующих местоположению (х, y) в координатах изображения распознанного объекта. Для облегчения этой операции программа перемещения руки выполняет преобразование из системы координат изображения в мировую систему координат известным способом, согласно которому необходимо умножить координатный вектор (х, y) на матрицу М преобразования размерами 2×2. Матрицу М выбирают так, чтобы она выполняла это преобразование с приемлемой точностью, и этот выбор зависит от установок камеры. Когда роботизированная рука перемещена в определенное местоположение, программа управления последовательностью захвата выполняет попытку захвата, которая включает подачу команды роботизированной руке на снижение захватного устройства к распознанному объекту и переводу захватного устройства в закрытое состояние.
В еще одном варианте осуществления настоящего изобретения во время попытки захвата данные датчика от роботизированной руки, в частности от захватного устройства, принимает устройство обработки данных. В еще одном варианте осуществления настоящего изобретения данные датчика могут указывать, что захватное устройство соприкоснулось с объектом. Более конкретно, данные датчика могут указывать, что роботизированная рука или захватное устройство не в состоянии перемещаться в ответ на команду на перемещение или что команда на перемещение вызывает аномальный уровень деформации в некоторых элементах роботехнической системы, измеренный тензодатчиками. В таких случаях попытку захвата прерывают. В последующем шаге оценки прерванная попытка захвата будет считаться неудачной.
В еще одном варианте осуществления настоящего изобретения после того, как выполнена попытка захвата, программа оценки последовательности захвата извлекает данные датчика, в частности данные датчика, которые отражают содержимое захватного устройства. Успех попытки захвата определяют по этим извлеченным данным. Как сказано при рассмотрении фиг. 1, успех попытки захвата можно определить на основе любого из следующих критериев: 1) индикации того, что захватное устройство закрылось вокруг объекта минимального размера; 2) сравнения текущего изображения и содержимого с хранящимся изображением захватного устройства с известным содержимым и 3) разности между весом захватного устройства и текущего содержимого и весом захватного устройства с известным содержимым.
В еще одном варианте осуществления настоящего изобретения, если обнаружение контакта или какая-либо комбинация результатов анализа содержимого захватного устройства указывает на то, что попытка захвата завершилась неудачей, выполняют другую попытку захвата, включающую перемещение роботизированной руки.
В еще одном варианте осуществления настоящего изобретения после определения того, что попытка захвата завершилась успешно, устройство обработки данных подает роботизированной руке команду на выполнение набора заранее заданных операций с захваченным объектом. Такие операции могут быть выбраны в зависимости от типа объекта, например, если система используется для сортировки объектов различного вида по разным мусорным бакам. Поскольку местоположение объекта определено на основании данных датчика, тип объекта в этой точке известен или считается известным, а известный тип может использоваться для выбора набора операций, выполняемых с этим объектом. Например, в приложении, относящемся к сортировке мусора, различные типы объектов могут соответствовать каналам утилизации: бутылки многократного использования, годная для повторного использования пластмасса, металлы, горючие материалы, разлагающиеся материалы, опасные отходы и т.д.
Однако на этой фазе тип объекта может быть определен неправильно. Некоторые, более совершенные варианты осуществления способа включают отдельную верификацию для дополнительной проверки типа объекта или объектов в захватном устройстве. Если попытка захвата признана успешной, рабочая программа верификации вызывает программу перемещения руки, в рамках которой роботизированная рука, и в частности захватное устройство, получают команду переместиться в заранее заданное местоположение верификации. В этом местоположении верификации выполняют отдельную верификацию. В некоторых вариантах отдельная верификация включает осмотр содержимого захватного устройства в структурированной области. В другом варианте отдельная верификация может включать осмотр или анализ содержимого захватного устройства с помощью дополнительного оборудования. Иллюстративный, но не исчерпывающий список такого дополнительного оборудования включает 1) дополнительное устройство отображения, которое наблюдает содержимое захватного устройства с другого направления, и/или на других длинах волн, и/или при более высоком разрешении, чем расположенная там же фотокамера; 2) дополнительное устройство освещения, которое освещает или облучает содержимое захватного устройства на других длинах волн и/или с другими уровнями энергии по сравнению с теми, которые используются для неструктурированной области; 3) газовый анализатор.
Преимущество отдельной верификации состоит в том, что тип объекта становится известен на более высоком доверительном уровне, что повышает вероятность выбора правильной операции с захваченным объектом.
В еще одном варианте осуществления настоящего изобретения описанный выше пример дополнительно усовершенствован путем использования по меньшей мере одной системы машинного обучения на различных шагах операций.
В еще одном варианте осуществления настоящего изобретения при работе системы ставятся две задачи обучения, которые касаются вычисления различных параметров по данным датчика. Этого можно достигнуть с использованием набора заранее заданных вычислений, но такая система будет негибкой и жестко привязанной к набору рабочих условий, а следовательно, неоптимальной для работы в неструктурированной области, условия в которой по определению не могут быть известны в то время, когда проводятся указанные заранее заданные вычисления.
В еще одном варианте осуществления настоящего изобретения первая задача обучения касается определения по набору данных, принятому от системы, набора параметров для предстоящей операции захвата.
В еще одном варианте осуществления настоящего изобретения вторая задача обучения относится к определению параметров для перемещения роботизированной руки с целью захвата объекта, представляющего интерес.
Варианты осуществления настоящего изобретения, описанные выше при рассмотрении фиг. 2, могут использоваться в любой комбинации друг с другом. Несколько вариантов осуществления настоящего изобретения могут быть скомбинированы с формированием дополнительного варианта осуществления настоящего изобретения. Способ, система, устройство, компьютерная программа или компьютерный программный продукт, к которым относится изобретение, могут включать по меньшей мере один из вариантов осуществления настоящего изобретения, описанный выше.
На фиг. 3 показана блок-схема компьютера, содержащего две обучающиеся системы согласно одному из вариантов осуществления настоящего изобретения. На фиг. 3 показан компьютер 300, который содержит оперативную память, по меньшей мере один процессор и вторичную память (не показана). Внутренние функции в пределах компьютера 300 иллюстрируются блоком 302. Компьютер 300 реализует первый обучающийся элемент 314, второй обучающийся элемент 312, элемент 310 верификации, элемент 320 управления перемещением руки, элемент 318 управления последовательностью захвата и устройство 322 распознавания объекта. Первый элемент 314 верификации и второй элемент 312 верификации представляют собой примеры обучающейся системы. Очевидно, что, хотя на фиг. 3 показано, что система содержит отдельные части, обозначенные позициями 310, 312, 314, 316, 318, 320 и 322, такое деление на части служит только для пояснения данного изобретения, а количество частей может отличаться в зависимости от способа реализации. Различные части могут быть выполнены как части компьютерной программы, реализованной в одиночной вычислительной системе. В данном описании управляющий блок содержит части, показанные на фиг. 3. В еще одном варианте осуществления настоящего изобретения компьютер 300 соответствует устройству 100 обработки данных, показанному на фиг. 1.
На вход первого обучающегося элемента 314 поступают параметры, извлеченные из данных датчика, полученных из множества датчиков, таких как датчик 304 и датчик 306. Эти параметры извлекаются устройством 322 распознавания объекта по данным датчика, что иллюстрируется стрелкой 342. Первый обучающийся элемент 314 вычисляет набор параметров 332 для устройства 320 управления перемещением руки с использованием параметров, иллюстрируемых стрелкой 330, которые будут использованы для выполнения операции по захвату, при этом цель заключается в том, чтобы вероятность успешной операции по захвату с использованием этих параметров была относительно высока. Такие параметры могут включать, например, местоположение целевого объекта или ориентацию захватного устройства до начала операции захвата. Ниже дан пример использования первого обучающегося элемента 314 для вычисления вероятного местоположения объекта, представляющего интерес, в неструктурированной области. Для краткости этот пример включает только вычисление вероятного местоположения (х, y), но изобретение этим не ограничено.
Координаты (х, y), принятые первым обучающимся элементом 314 от устройства 322 распознавания объектов, соответствуют местоположению распознанного объекта в системе координат камеры. Камера предпочтительно установлена на роботизированной руке, и, таким образом, изображение, даваемое камерой, в любой момент соответствует местоположению и ориентации роботизированной руки. Для захвата объекта роботизированная рука должна быть перемещена в такое местоположение и ориентацию, в которых захватное устройство с большой вероятностью захватит объект, указанное положение, вероятно, зависит от свойств объекта, захватного устройства и других объектов в области, где действует роботизированная рука, а также от других возможных факторов. Первый обучающийся элемент 314 используется для вычисления на основе предыдущих попыток захвата такого местоположения в системе координат изображения, в котором успешная операция по захвату наиболее вероятна.
Первый обучающийся элемент 314 в качестве входных данных берет данные 338, которые включают параметры предыдущих попыток из элемента 316 оценки успеха, который определяет успех информации 340 о последовательности захвата, полученной от элемента 318 управления последовательностью захвата. В этом примере данные 338 состоят из координат (х, y), соответствующих попытке захвата с центроидой распознанного объекта в местоположении (х, y), и соответствующей оценки попытки захвата объекта с координатами (х, y), то есть была ли она успешна или нет. Эти данные затем используются для вычисления выходных данных 332 первого обучающегося элемента 314. Выходные данные 332 первого обучающегося элемента 314, посылаемые в устройство 320 управления перемещением руки, предпочтительно представляют собой не одну точку, а распределение точек. В литературе известно множество алгоритмов регрессии или классификации, подходящие для вычисления указанного распределения, например для достижения указанной цели можно использовать метод наибольшего правдоподобия или метод опорных векторов. В этом примере выходные данные 332 могут быть, например, двумерным нормальным распределением, параметризированным относительно центра (х0, у0) и среднеквадратичными отклонениями σх и σу для обеих координат х и у, вычисленными с использованием известного метода наибольшего правдоподобия.
Использование описанной обучающейся системы в обучающемся элементе 314 обеспечивает несколько преимуществ при определении местоположения объекта по сравнению с простым использованием системы распознавания объекта. Поскольку выходными данными является не просто одна точка, но распределение, во время проведения операции можно использовать либо оптимальную точку, которая в этом примере является центром (х0, y0) распределения, или выбрать другие точки из распределения согласно их вероятности. Это позволяет системе непрерывно обучаться при наличии данных о новых попытках захвата, принимаемых обучающейся системой, и, таким образом, приспосабливаться к условиям, имеющимся в неструктурированной области. Даже если, прежде чем установить систему, было собрано недостаточно данных о рабочей среде, система может обучаться прямо во время работы и поступление новых данных способствует дальнейшим улучшениям результата. Другой выигрыш состоит в том, что если условия меняются, например при контакте деформируется захватное устройство или смещается камера, и в результате меняется оптимальное положение захвата относительно положения объекта на изображении, даваемом камерой, система учится компенсировать эти изменения.
Затем элемент 320 управления роботизированной рукой перемещает роботизированную руку в местоположение захвата. Для перемещения роботизированной руки к объекту вычисляют разность между местоположением объекта, определенным устройством 322 распознавания объекта, и местоположением наиболее вероятного успешного захвата, определенным первым обучающимся элементом 314. Затем эту разность преобразуют в разность координат физического мира, используемых для управления роботизированной рукой. Преобразование не может считаться совершенным, и поэтому во время операции алгоритм должен осуществлять коррекцию в режиме реального времени. На каждом шаге местоположение объекта на изображении вычисляют, как описано выше, и сравнивают с наиболее вероятным положением для успешного захвата. Указанная разность между двумя положениями представляет собой координатный вектор в системе координат камеры, его преобразуют в мировые координаты путем умножения координатного вектора на матрицу М преобразования, и роботизированную руку перемещают соответственно. Кроме того, чтобы повысить плавность перемещения, в фазе преобразования предпочтительно используют легкий фильтр нижних частот. В результате применения такого алгоритма даже для матрицы М преобразования, которая лишь грубо соответствует правильному преобразованию между системами координат, каждый шаг перемещает роботизированную руку ближе к намеченному положению. Направление может не совпадать в точности с направлением на объект и, таким образом, на следующем шаге, когда оказывается доступно новое местоположение объекта, извлеченное устройством 322 распознавания объекта из изображения, полученного камерой, и соответствующее новому положению захватного устройства, направление перемещения изменяют. Это приводит к тому, что кривая приближения имеет форму спирали, которая в конечном счете сойдется так, что местоположение объекта, увиденное камерой, совпадет с местоположением наиболее вероятного захвата.
Второй обучающийся элемент 312 используется для определения наиболее эффективного способа перемещения роботизированной руки в определенное местоположение захвата. Второй обучающийся элемент 312 принимает информацию о положении роботизированной руки и/или захватного устройства из роботизированной руки 308, как показано стрелкой 344. Второй обучающийся элемент 312 также принимает в качестве входных данных данные о прошлых последовательностях захвата. Для иллюстрации работы второй обучающейся системы рассмотрим простой пример, включающий только координаты (х, y) и соответствующий предыдущему примеру. В этом примере данные, относящиеся ко второй обучающейся системе, включают разность (хс, yc) в координатах камеры между местоположением объекта и местоположением наиболее вероятного захвата в начале последовательности захвата, и разность (xd, yd) между мировыми координатами роботизированной руки в начале последовательности захвата и после того, как последовательность захвата завершена.
В качестве выходных данных 334, выдаваемых в устройство 318 управления последовательностью захвата 318, второй обучающийся элемент 312 вычисляет такую матрицу ML преобразования, что, когда матрица ML умножается на вектор (хс, yc, 1), получается хорошее приближение для соответствующей разности (xd, yd). Матрица ML может быть вычислена по данным прошлых попыток захвата с использованием, например, способа, известного в литературе как гребневая регрессия, но в рамках изобретения в равной степени возможны другие подходящие способы. Кроме того, следует отметить, что, хотя вычисление в этом примере включает только координаты в двумерном пространстве, описанный способ в равной степени применим к более сложным перемещениям роботизированной руки, например, перемещение может включать третье измерение в пространстве или вращение различных частей роботизированной руки.
Преимущество использования второго обучающегося элемента 312 состоит в том, что матрица ML может использоваться для повышения эффективности алгоритма перемещения роботизированной руки, если использовать матрицу ML в качестве матрицы М для вычисления целевого перемещения роботизированной руки за одно перемещение, а затем корректировать оставшуюся ошибку с помощью алгоритма перемещения, описанного выше.
После перемещения роботизированной руки, выполняют операцию захвата и производят шаг оценки для определения успешности захвата. Если результат оценки указывает, что захват не успешен, процесс возвращается к перемещению руки в другое местоположение. Если результат указан как успешный, тип объекта проверяют элементом 310 верификации, как показано стрелкой 336.
Когда по меньшей мере один процессор выполняет функции, связанные с изобретением, память содержит функциональные элементы, такие как элемент 316 оценки успеха, элемент 314 обучающейся системы, элемент 312 обучающейся системы, элемент 310 верификации, элемент 320 управления перемещения руки и устройство 318 управления последовательностью захвата. Функциональные элементы в компьютере 300, показанные на фиг. 3, могут быть реализованы множеством способов. Они могут быть реализованы как процессы, выполняемые под управлением собственной операционной системы сетевого узла. Элементы могут быть реализованы как отдельные процессы, треды или так, чтобы множество различных элементов было реализовано посредством одного процесса или треда. Процесс или тред могут быть программным блоком, включающим множество программ, то есть, например, процедур и функций. Функциональные элементы могут быть реализованы как отдельные компьютерные программы или как единственная компьютерная программа, включающая несколько процедур или функций, реализующих эти элементы. Программные блоки хранятся по меньшей мере в одном машиночитаемом носителе, таком как, например, схема памяти, карта памяти, магнитный или оптический диск. Некоторые функциональные элементы могут быть реализованы как программные модули, связанные с другим функциональным элементом. Функциональные элементы на фиг. 3 могут также храниться в отдельных устройствах памяти и выполняться отдельными процессорами, которые сообщаются, например, посредством шины связи или внутренней сети в пределах сетевого узла. Примером такой шины связи является шина межсоединения периферийных компонентов (Peripheral Component Interconnect, PCI).
Примеры вариантов осуществления настоящего изобретения могут быть использованы в пределах любого соответствующего устройства, например, включая любые подходящие серверы, автоматизированные рабочие места, персональные компьютеры, ноутбуки, персональные цифровые секретари, Интернет-устройства, переносные устройства, сотовые телефоны, беспроводные устройства, другие устройства и т.п., способные выполнять процессы, описанные в вариантах осуществления настоящего изобретения и способные сообщаться посредством одного или более интерфейсных механизмов, включая, например, доступ в Интернет, телекоммуникации в любой подходящей форме (например, посредством голоса, модема и т.п.), среды беспроводной связи, одну или более сетей беспроводной связи, сотовые системы связи, системы связи третьего поколения, системы связи четвертого поколения, телефонную коммутируемую сеть общего пользования (Public Switched Telephone Network, PSTN), сети пакетной передачи данных (Packet Data Network, PDN), Интернет, интранет, их комбинацию и т.п.
Очевидно, что рассмотренные варианты осуществления настоящего изобретения даны только в качестве примера, поскольку, как очевидно специалистам, возможно множество вариаций конкретных технических средств, используемых для реализации вариантов осуществления настоящего изобретения. Например, функции одного или более компонентов вариантов осуществления настоящего изобретения могут быть осуществлены посредством одного или более технических средств.
В примерах осуществления настоящего изобретения может использоваться информация, относящаяся к различным процессам, описанным выше. Эта информация может храниться в одном или более запоминающих устройствах, таких как жесткий диск, оптический диск, магнитооптический диск, память с произвольным доступом и т.п. В одной или большем количестве баз данных может храниться информация, используемая для реализации вариантов осуществления настоящего изобретения. Эти базы данных могут быть организованы с использованием структур данных (например, записей, таблиц, массивов, полей, графов, деревьев, списков и т.п.), входящих в одно или более элементов памяти или запоминающих устройств, перечисленных выше. Процессы, описанные в отношении вариантов осуществления настоящего изобретения, могут включать соответствующие структуры данных для хранения в одной или более баз данных этих данных, собранных и/или сгенерированных в рамках процессов, идущих в устройствах и подсистемах согласно вариантам осуществления настоящего изобретения.
Все или часть вариантов осуществления настоящего изобретения могут быть реализованы путем создания интегральных схем специального назначения или соединения в соответствующую сеть обычных компонентных схем, как очевидно специалистам в данной области техники.
Как сказано выше, компоненты вариантов осуществления настоящего изобретения могут содержать машиночитаемый носитель или память согласно нестоящему изобретению для хранения структур данных, таблиц, записей и/или других данных, описанных выше. Машиночитаемый носитель может включать любую подходящую среду, которая участвует в подаче команд процессору для их выполнения. Такая среда может принимать множество форм, включая, но этим не ограничиваясь, энергонезависимые носители, энергозависимые носители, передающие среды и т.п. Энергонезависимые носители могут включать, например, оптические или магнитные диски, магнитооптические диски и т.п. Энергозависимые носители могут включать динамическую память и т.п. Передающие среды могут включать коаксиальные кабели, медные провода, волоконную оптику и т.п. Передающие среды также могут принимать вид акустических, оптических, электромагнитных волн и т.п., таких как генерируемые во время проведения радиочастотной (RF) связи, инфракрасной (IR) передачи данных и т.п. Стандартные виды машиночитаемых носителей могут включать, например, дискету, гибкий диск, жесткий диск, магнитную ленту, любой другой подходящий магнитный материал, CD-ROM, CDRW, DVD, любую другую подходящую оптическую среду, перфокарты, перфоленты, листы с оптическими метками, любую другую подходящую физическую среду с наборами отверстий или другими оптически распознаваемыми знаками, оперативную память (RAM), программируемое постоянное запоминающее устройство (PROM), стираемое программируемое постоянное устройство (EPROM), флэш-EPROM, любую другую подходящую микросхему или элемент памяти, несущую волну или любую другую подходящую среду, с которой компьютер может считывать данные.
Хотя настоящее изобретение было описано на примерах нескольких вариантов осуществления настоящего изобретения, оно ими не ограничено и охватывает различные изменения и эквивалентные конструкции, которое находятся в объеме формулы изобретения.
Специалистам очевидно, что по мере технического прогресса основная идея изобретения может быть реализована различными способами. Таким образом, изобретение и его варианты осуществления не ограничены примерами, описанными выше; они могут варьироваться, оставаясь в рамках формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ФИЛЬТРАЦИИ ИЗОБРАЖЕНИЙ ЦЕЛЕВОГО ОБЪЕКТА В РОБОТЕХНИЧЕСКОЙ СИСТЕМЕ | 2011 |
|
RU2592650C2 |
Способ выполнения манипуляции с объектом | 2019 |
|
RU2800443C1 |
СПОСОБ И СИСТЕМА ЗАХВАТА ОБЪЕКТОВ С ПОМОЩЬЮ РОБОТИЗИРОВАННОГО УСТРОЙСТВА | 2020 |
|
RU2745380C1 |
СПОСОБ И СИСТЕМА ЗАХВАТА ОБЪЕКТА С ПОМОЩЬЮ РОБОТИЗИРОВАННОГО УСТРОЙСТВА | 2019 |
|
RU2700246C1 |
РОБОТИЗИРОВАННАЯ КУХОННАЯ СИСТЕМА (ВАРИАНТЫ), СПОСОБ УПРАВЛЕНИЯ И КУХОННЫЙ МОДУЛЬ С ЕЁ ИСПОЛЬЗОВАНИЕМ (ВАРИАНТЫ) | 2015 |
|
RU2743194C1 |
СПОСОБЫ И СИСТЕМЫ МАНИПУЛИРОВАНИЯ ОБЪЕКТАМИ С ПОМОЩЬЮ РОБОТА ДЛЯ КОНКРЕТНОГО ПРИМЕНЕНИЯ В ИНСТРУМЕНТАЛЬНОЙ СРЕДЕ С ЭЛЕКТРОННЫМИ БИБЛИОТЕКАМИ МИНИ-МАНИПУЛЯЦИЙ | 2015 |
|
RU2756863C2 |
СПОСОБЫ И СИСТЕМЫ ДЛЯ ПРИГОТОВЛЕНИЯ ПИЩИ НА РОБОТИЗИРОВАННОЙ КУХНЕ | 2015 |
|
RU2699690C2 |
СИСТЕМЫ И СПОСОБЫ ОТСЛЕЖИВАНИЯ МЕСТОПОЛОЖЕНИЯ ПОДВИЖНОГО ЦЕЛЕВОГО ОБЪЕКТА | 2014 |
|
RU2664257C2 |
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС АВТОМАТИЧЕСКОЙ СОРТИРОВКИ ТВЕРДЫХ ОТХОДОВ | 2023 |
|
RU2814860C1 |
РОБОТИЗИРОВАННАЯ КУХОННАЯ СИСТЕМА | 2015 |
|
RU2743044C1 |
Изобретение относится к способу и устройству для выбора и захвата объекта из неструктурированной области робота, а также к машиночитаемому носителю, на котором хранится компьютерная программа, содержащая код для управления процессором для выполнения способа. Устройство принимает первые данные от первого датчика и определяет целевое положение, включающее положение в пространстве или ориентацию захватного устройства в роботизированной руке. Для перемещения захватного устройства в целевое положение подают первые команды роботизированной руке или захватному устройству. Данные силовой обратной связи принимают от первых датчиков или от датчиков силовой обратной связи, связанных или с роботизированной рукой или с захватным устройством. Определяют неудачу при выполнении первых команд. Принимают вторые данные датчика от первого датчика. По вторым данным датчика определяют успешный захват объекта. В ответ на определение успешного захвата принимают данные верификации от второго датчика и подают вторые команды роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата захватного устройства. Изобретение обеспечивает повышение качества выбора объектов в рабочем пространстве робота. 3 н. и 11 з.п. ф-лы, 3 ил.
1. Способ выбора и захвата объекта из неструктурированной области робота, включающий:
прием первых данных датчика по меньшей мере от одного первого датчика, способного формировать данные датчика об указанной неструктурированной области;
определение целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, прикрепленного к роботизированной руке, установленной так, чтобы доставать объекты, расположенные в неструктурированной области;
подачу по меньшей мере одной первой команды роботизированной руке и/или захватному устройству для перемещения захватного устройства в указанное целевое положение;
прием данных силовой обратной связи от указанного по меньшей мере одного первого датчика и/или по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной первой команды;
прием вторых данных датчика от указанного по меньшей мере одного первого датчика;
определение успешного захвата объекта по указанным вторым данным датчика;
подачу по меньшей мере одной второй команды роботизированной руке для перемещения указанного захватного устройства в положение верификации, при этом указанное положение верификации соответствует среде верификации, в которой к указанному объекту может быть приложен по меньшей мере один второй датчик без помех со стороны других объектов;
прием данных верификации от указанного по меньшей мере одного второго датчика в ответ на указанное определение успешного захвата; и
подачу по меньшей мере одной третьей команды роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
2. Способ по п. 1, дополнительно включающий:
запись информации об указанном успешном захвате и указанных первых данных датчика в первый обучающийся элемент.
3. Способ по п. 2, дополнительно включающий:
запись информации о неудачном захвате и указанных первых данных датчика в указанный первый обучающийся элемент в ответ на определение неудачи при выполнении по меньшей мере одной из указанной по меньшей мере одной команды.
4. Способ по п. 2 или 3, дополнительно включающий:
прогнозирование вероятности успешного захвата по указанным первым данным датчика с использованием информации, записанной в указанный первый обучающийся элемент; и
подачу указанной по меньшей мере одной первой команды роботизированной руке в ответ на указанную вероятность.
5. Способ по п. 1, в котором указанная среда верификации имеет постоянный фон.
6. Способ по п. 1, дополнительно включающий:
определение типа указанного объекта по данным верификации от указанного по меньшей мере одного второго датчика.
7. Способ по п. 1, в котором шаг подачи указанной по меньшей мере одной первой команды указанной роботизированной руке дополнительно включает:
передачу первых координат в указанную роботизированную руку;
прием первых промежуточных данных датчика от указанного по меньшей мере одного первого датчика и
определение фактического положения указанного захватного устройства в системе координат датчика с использованием указанных первых промежуточных данных датчика.
8. Способ по п. 7, в котором шаг подачи указанной по меньшей мере одной первой команды указанной роботизированной руке дополнительно включает:
определение расхождения между указанным фактическим положением указанного захватного устройства и указанными первыми координатами;
передачу вторых координат в указанную роботизированную руку;
прием вторых промежуточных данных датчика от указанного по меньшей мере одного первого датчика;
определение второго фактического положения указанного захватного устройства в системе координат датчика с использованием указанных вторых промежуточных данных датчика и
проверку того, меньше ли указанное расхождение заранее заданного порога.
9. Способ по п. 7, в котором шаг подачи указанной по меньшей мере одной первой команды указанной роботизированной руке дополнительно включает:
запись соответствия между координатами указанной роботизированной руки и положением указанного захватного устройства, определенным в системе координат датчика, во второй обучающийся элемент.
10. Способ по п. 9, в котором шаг подачи указанной по меньшей мере одной первой команды указанной роботизированной руке дополнительно включает:
построение функции преобразования между координатами указанной роботизированной руки и координатами в системе координат датчика с использованием указанного записанного соответствия.
11. Способ по п. 9, в котором указанный шаг определения целевого положения по указанным первым данным датчика дополнительно включает:
определение исходного целевого положения в указанной системе координат датчика и
вычисление указанного целевого положения по указанному исходному целевому положению с использованием указанной функции преобразования.
12. Устройство для выбора и захвата объекта из неструктурированной области робота, содержащее:
средства для приема первых данных датчика по меньшей мере от одного первого датчика, способного формировать данные датчика об указанной неструктурированной области;
средства для определения целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, прикрепленного к роботизированной руке, установленной так, чтобы доставать объекты, расположенные в неструктурированной области;
средства для подачи по меньшей мере одной первой команды указанной роботизированной руке и/или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение;
средства для приема данных силовой обратной связи от указанного по меньшей мере одного первого датчика и по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной первой команды;
средства для приема вторых данных датчика от указанного по меньшей мере одного первого датчика;
средства для определения успешного захвата объекта по указанным вторым данным датчика;
средства для подачи по меньшей мере одной второй команды роботизированной руке для перемещения указанного захватного устройства в положение верификации, при этом указанное положение верификации соответствует среде верификации, в которой к указанному объекту может быть приложен по меньшей мере один второй датчик без помех со стороны других объектов;
средства для приема данных верификации от указанного по меньшей мере одного второго датчика в ответ на указанное определение успешного захвата; и
средства для подачи по меньшей мере одной третьей команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
13. Машиночитаемый носитель, на котором хранится компьютерная программа, содержащая код для управления процессором для выполнения способа, включающего:
прием первых данных датчика по меньшей мере от одного первого датчика, способного формировать данные датчика об указанной неструктурированной области;
определение целевого положения по указанным первым данным датчика, при этом указанное целевое положение включает положение в пространстве и/или ориентацию захватного устройства, прикрепленного к роботизированной руке, установленной так, чтобы доставать объекты, расположенные в неструктурированной области;
подачу по меньшей мере одной первой команды по меньшей мере указанной роботизированной руке и/или указанному захватному устройству для перемещения захватного устройства в указанное целевое положение;
прием данных силовой обратной связи от указанного по меньшей мере одного первого датчика и по меньшей мере одного датчика силовой обратной связи, связанного с указанной роботизированной рукой и/или указанным захватным устройством, для определения неудачи при выполнении указанной по меньшей мере одной первой команды;
прием вторых данных датчика от указанного по меньшей мере одного первого датчика;
определение успешного захвата объекта по указанным вторым данным датчика;
подачу по меньшей мере одной второй команды роботизированной руке для перемещения указанного захватного устройства в положение верификации, при этом указанное положение верификации соответствует среде верификации, в которой к указанному объекту может быть приложен по меньшей мере один второй датчик без помех со стороны других объектов;
прием данных верификации по меньшей мере от одного второго датчика в ответ на указанное определение успешного захвата; и
подачу по меньшей мере одной третьей команды указанной роботизированной руке для перемещения руки в заранее заданное положение с отпусканием захвата указанного захватного устройства.
14. Машиночитаемый носитель по п. 13, представляющий собой съемную карту памяти, голографическую память, магнитный диск или оптический диск.
US 5299693 A, 05.04.1994 | |||
RU 2008120598 A, 10.12.2009 | |||
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ПРИЗАБОЙНОЙ ЗОНЫ ПЛАСТА И ОСВОЕНИЯ СКВАЖИНЫ | 1994 |
|
RU2098616C1 |
EP 1522911 A2, 13.04.2005 |
Авторы
Даты
2015-10-20—Публикация
2011-05-05—Подача