СПОСОБ КАЛИБРОВКИ И ПРОГРАММИРОВАНИЯ РОБОТА
METHOD OF CALIBRATING AND PROGRAMMING ROBOT

Область техники
Настоящее изобретение относится к способу калибровки роботов и к способу программирования роботов.
Уровень техники
В области промышленной робототехники знание физических характеристик робота важно для расчета точного положения робота. Эти характеристики могут быть определены схемой конструкции робота, но они будут изменяться в зависимости от процесса сборки робота и допусков его компонентов. Для того чтобы уточнить знания и тем самым повысить точность робота, необходимо откалибровать описывающую его модель.
В патентной литературе предложены несколько способов и устройств программирования роботов. В документе US 6535794 раскрыто применявшееся для калибровки робота трехмерное устройство измерения координат, использующее механический измерительный манипулятор известных размеров с целью составления карты ошибок для данных.
В документе US 2011/0022216 раскрыты способ и устройство для калибровки промышленной роботизированной системы, содержащей, по меньшей мере, один робот, включающий систему координат робота и манипулятор, включающий систему координат манипулятора и приспособленный удерживать ориентацию заготовки и менять эту ориентацию поворотом вокруг некоторой оси вращения. Заданные точки робота программируются в координатной системе объекта. Устройство содержит контроллер робота, по меньшей мере, три калибровочных объекта, расположенных на манипуляторе, и калибровочный инструмент, удерживаемый роботом. Положения калибровочных объектов известны в координатной системе объекта. Контроллер робота выполнен для определения положений калибровочных объектов в координатной системе робота, для определения положений первого и второго упомянутых калибровочных объектов при, по меньшей мере, трех различных углах оси вращения манипулятора, для определения направления оси вращения манипулятора в координатной системе робота на основе определенных положений первого и второго калибровочных объектов при трех углах оси и для определения взаиморасположения координатной системы первого объекта и координатной системы манипулятора посредством достижения наилучшего соответствия известных и определенных положений калибровочных объектов.
В документе US 2008/0188986 раскрыт способ и система обеспечения повышенной точности многозвенных роботов посредством определения кинематических параметров модели робота. Многозвенные роботы калибруются с использованием цепного правила дифференцирования при дифференцировании сложных функций, описывающих вариации расчетных положений реперных точек реперного объекта в зависимости от вариаций параметров модели робота. В способе используются также два таких реперных объекта и известное расстояние между ними для установления масштаба длин, что устраняет необходимость знать длину одного звена робота. В целях нахождения оптимального решения для увеличения точности конечных параметров модели применяется итерационный метод. Далее, раскрыто определение параметров концевого узла робота, включая параметры, определяющие координатную систему механизма крепления инструмента, что позволяет менять инструмент без последующей калибровки.
В документе US 2008/0188983 также раскрыты устройство и способ калибровки многозвенного промышленного робота.
Документ US 6070109 относится к системе калибровки робота, включающей калибровочный датчик, показывающий, когда первая реперная точка, которая остается фиксированной относительно основания робота, оказывается на заданном расстоянии от второй реперной точки, которая расположена на манипуляторе робота. Манипулятор робота проходит через множество ориентации, и каждый раз, когда достигается заданное расстояние между двумя реперными точками, регистрируется информация о положении сочленения робота. Предпочтительный калибровочный датчик содержит струну, которая натянута между двумя реперными точками и запускает генератор сигнала каждый раз, когда струна натягивается под влиянием ориентации манипулятора робота. Генерируемый сигнал указывает на то, что две реперные точки находятся на заданном расстоянии. Зарегистрированные положения сочленений робота затем используются для определения калибровочного коэффициента, который варьируется в зависимости от конкретных потребностей. Примерные калибровочные коэффициенты полезны для исправления ошибок в кинематической информации робота, для привязки координатной системы гибкого производственного модуля и привязки координатной системы центра инструмента.
В документе US 2009/0157226 раскрыты система калибровки робота и его периферийного оборудования, причем система содержит излучатель, прикрепленный к роботу или его периферийному оборудованию. Излучатель испускает лазерный луч, а приемник, предназначенный для приема лазерного луча, также установлен на роботе или периферийном оборудовании, причем в точке, позволяющей проводить калибровку и рассчитывать расстояние между излучателем и приемником.
Документ US 4753569 относится к способу и устройству калибровки управляемого компьютером роботизированного устройства. По меньшей мере, одна камера, установленная на манипуляторе робота или неподвижно закрепленная на рабочей станции, захватывает мишень, содержащую узор, по меньшей мере, из трех точек, нанесенных на объекты вне манипулятора робота или рабочей станции; такой захват происходит, когда манипулятор робота приближается к рабочей станции для выполнения заданной операции. Замер любого отклонения относительно заранее заданного узора мишени передается в компьютер для перенастройки компьютеризованной управляющей системы робота.
Таким образом, хотя существует множество способов калибровки робота, все они требуют какого-то дополнительного активного измерительного оборудования, т.е. измерительного оборудования, содержащего датчики, и специальных навыков использования упомянутого измерительного оборудования, а кроме того, зависят от точности знания физических характеристик упомянутого оборудования.
Поэтому для калибровки роботов был разработан ряд так называемых способов замкнутого контура (способов с обратной связью), в этих способах два робота соединялись друг с другом и затем калибровались. Примеры таких способов приведены в работах:
BONITZ G ЕТ AL.: "CALIBRATING MULTI-MANIPULATOR ROBOTIC SYSTEM" ("Калибровка многоманипуляторной роботизированной системы"), IEEE ROBOTICS & AUTOMATION MAGAZINE, vol. 4 no. 1, 1 March 1997, pages 18-22, XP000688537.
BENNETT D J ET AL.: "AUTONOMOUS CALIBRATION OF SINGLE-LOOP CLOSED KINEMATIC CHAINS FORMED BY MANIPULATORS WITH PASSIVE ENDPOINT CONSTRAINTS" ("Автономная калибровка одноконтурных замкнутых кинематических цепей, образованных манипуляторами с пассивными ограничениями конечных положений"), IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, vol. 7 no. 5, 1 October 1991, pages 597-606, XP000337017.
BENNET D J ET AL.: "self-calibration of single-loop, closed kinematic chains formed by dual or redundant manipulators" (Самокалибровка одноконтурных замкнутых кинематических цепей, образованных двумя манипуляторами или многошарнирными манипуляторами), 7 December 1988, pages 627-629, ХР010071118.
Далее, в документе US 2005/273198 раскрыт способ преобразования рабочей программы первого робота в программу для второго робота, причем каждый из упомянутых роботов содержит два фланца, при этом способ включает шаг замещения первого робота вторым роботом и выполнение преобразования программы.
Раскрытие изобретения
Таким образом, целью настоящего изобретения является предложение усовершенствованного способа калибровки многозвенного робота с использованием замкнутой цепи, который при этом будет легким для внедрения и не будет требовать использования внешнего активного измерительного оборудования.
Еще одной целью настоящего изобретения является предложение способа дублирования рабочей программы между неоткалиброванными роботами.
Согласно настоящему изобретению вышеуказанные и другие цели достигаются способом калибровки роботов, включающим следующие шаги:
1
2
1
2
(a) обеспечивают, по меньшей мере, два робота (R и R), причем каждый робот (R, R) содержит сочленения и/или звенья, соединяющие два фланца: базовый фланец и инструментальный фланец,
1
2
(b) формируют замкнутую цепь из, по меньшей мере, двух роботов (R, R),
(c) воздействуют на, по меньшей мере, одно звено или сочленение в цепи, обеспечивая тем воздействие на какие-либо другие звенья или сочленения в цепи, и затем
1
2
1
2
1
2
(d) оценивают кинематические модели (М, М) для каждого робота (R, R) на основе информации датчиков, связанной с сочленениями каждого из, по меньшей мере, двух роботов (R, R).
Это дает способ калибровки, не зависящий от точности внешнего активного измерительного оборудования - используются только сами роботы. В предложенном способе роботы объединяются в замкнутую цепь для получения информации, которая затем используется для корректировки кинематических параметров роботов, т.е. используется для того, чтобы обновить кинематические модели роботов; и, тем самым, откалибровать роботы. Информация, необходимая для использования в процессе калибровки, генерируется путем модуляции цепи в различные конфигурации, распределенные по доступному рабочему пространству, т.е. путем воздействия на, по меньшей мере, одно из сочленений, по меньшей мере, двух роботов в цепи, вызывая тем самым воздействие на какие-либо другие звенья и/или сочленения в цепи. Калибровка, т.е. оценка математических кинематических моделей, тогда выполняется с использованием свойств замкнутой цепи и информации от звеньев и/или сочленений в различных конфигурациях цепи. Для определения масштаба размеров цепи должно быть известно, по меньшей мере, одно расстояние или изменение расстояния. Использованные звенья и/или сочленения в цепи выражаются системой уравнений, которая может быть решена, тем самым осуществляя калибровку роботов. Таким образом, используя принцип замкнутой цепи, можно исследовать большие зоны рабочего пространства роботов, и поэтому результат этого способа калибровки в высокой степени представляет все рабочее пространство указанных роботов. Это позволяет одновременно калибровать несколько роботов, не используя какого-либо измерительного оборудования помимо самих роботов. Сравнивая модельное представление замкнутой цепи с многочисленными физическими наблюдениями, можно уточнить параметры модели и тем самым провести калибровку.
Здесь используется тот факт, что в замкнутой цепи каждое звено связано своими собственными ограничениями, чтобы удовлетворить ограничениям всей замкнутой цепи. Это справедливо для положений, скоростей, ускорений, сил и т.д. в цепи. Используя это свойство, можно оценить кинематические свойства каждого звена и тем самым откалибровать кинематику робота.
Следует понимать, что в контексте настоящего патентного описания термины «сочленение» или «сочленения» могут использоваться для обозначения шарнирного сочленения, призматического сочленения или шарового сочленения (шарнира). В зависимости от типа, сочленение может регулировать и регистрировать вращение и/или положение. Далее понятие "положение" используется для описания как вращения, так и/или положения. Следует, далее, понимать, что цепь может включать звенья, не являющиеся сочленениями, и звенья, являющиеся сочленениями.
В одном из вариантов осуществления способа согласно настоящему изобретению шаг (а), на котором обеспечивают, по меньшей мере, два робота, можно выполнить, обеспечив наличие единственного робота, содержащего, по меньшей мере, два манипулятора и затем рассматривая каждый из указанных манипуляторов как один робот. У роботов этого типа число базовых фланцев не равно числу инструментальных фланцев.
В следующем варианте осуществления способа калибровки роботов информацию датчиков получают от тех же датчиков, которые используются для привода сочленений и/или звеньев робота.
В следующем варианте осуществления способа калибровки роботов информацию датчиков получают только от тех же датчиков, которые используются для привода сочленений и/или звеньев робота.
В следующем варианте осуществления способа калибровки роботов шаг (с) содержит такие этапы:
1
2
- изменяют положения сочленений и, тем самым, положение (Q) сочленений каждого из, по меньшей мере, двух роботов (R, R) и
1
2
m
- собирают соответствующие пары положений (<RQ, RQ>).
1
2
1
2
m
В следующем варианте осуществления способа калибровки роботов информация датчиков представляет собой информацию о положении (Q) сочленений, причем шаг (d) содержит оценку кинематических моделей (М, М) на основе собранных пар положений (<RQ, RQ>).
В следующем варианте осуществления способа калибровки роботов информация датчиков содержит любые параметры из нижеследующих и/или изменения любых параметров из нижеследующих: углы, координаты положений или их производные.
В следующем варианте осуществления способа калибровки роботов информация датчиков содержит любые параметры из нижеследующих и/или изменения любых параметров из нижеследующих: сила, крутящий момент или их производные.
1
2
1
2
В следующем варианте осуществления способа калибровки роботов шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов (R, R) выполняют путем физического соединения указанных, по меньшей мере, двух роботов (R, R), по меньшей мере, их базовыми фланцами и/или их инструментальными фланцами.
1
2
1
2
В следующем варианте осуществления способа калибровки роботов шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов (R, R) дополнительно включает шаг, на котором фиксируют, по меньшей мере, одно расстояние между, по меньшей мере, двумя роботами (R, R).
1
2
1
2
В следующем варианте осуществления способа калибровки роботов шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов (R, R) дополнительно включает шаг, на котором фиксируют, по меньшей мере, одно направление соединения между, по меньшей мере, двумя роботами (R, R).
1
2
1
2
В следующем варианте осуществления способа калибровки роботов шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов (R, R) содержит шаг, на котором используют измерительное оборудование для измерения относительного положения, по меньшей мере, двух роботов (R, R).
1
2
В следующем варианте осуществления способа калибровки роботов измерительное оборудование выполнено с возможностью измерения расстояния между частями, по меньшей мере, двух роботов (R, R).
1
2
В следующем варианте осуществления способа калибровки роботов измерительное оборудование выполнено с возможностью определения направления между частями, по меньшей мере, двух роботов (R, R).
1
2
В следующем варианте осуществления способа калибровки роботов измерительное оборудование представляет собой, по меньшей мере, один шариковый измерительный наконечник, соединяющий, по меньшей мере, два робота (R, R).
В следующем варианте осуществления информация датчиков содержит любую информацию, поступающую от звена в замкнутой цепи, чтобы удовлетворить модели как в статической, так и в динамической части калибровки. Например, но не ограничиваясь этим, информацию о положении и силе и их производных.
Использование углов является очень практичным способом представления положений сочленений роботов с шарнирами, в то же время следует понимать, что могут быть использованы и другие виды информации датчиков. Согласно предлагаемому способу могут калиброваться не только размеры роботов, но также замеры/оценки сил и крутящего момента и/или расчетные импульсы.
Необходимость физически соединять друг с другом роботы не является ограничением, если обеспечивается информация по замыканию цепи. Поэтому в следующем предпочтительном варианте осуществления шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов содержит следующие шаги, по меньшей мере, два робота соединяют друг с другом их базовыми фланцами и/или их инструментальными фланцами. Это дает два хорошо определенных расстояния, по которым можно масштабировать модели. Другой возможностью является использование статистической информации роботов для масштабирования модели (например, регуляризацией по Тихонову). Эта статистическая информация может быть получена на нескольких роботах одного типа и/или технических чертежей самого робота.
В следующем варианте осуществления шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов содержит следующие шаги: используют дополнительные звенья в цепи, которые обеспечивают информацию или свойства, дополняющие те, что использовались для замыкания цепи. Например, шариковый измерительный наконечник может фиксировать или измерять длину звена, соединяющего роботы, что дает характеристику, по меньшей мере, одного расстояния, которое можно модулировать для использования в калибровке.
В следующем варианте осуществления шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов содержит шаги использования измерительного оборудования для измерения относительных положений, по меньшей мере, двух роботов. Например, измерительным оборудованием может быть шариковый измерительный наконечник, измеряющий расстояния между фланцами роботов.
Согласно настоящему изобретению базовый и инструментальный фланцы, по меньшей мере, двух роботов не имеют общей оси вращения для того, чтобы снизить зависимости между соединенными сочленениями роботов. Это снижает возможность калибровки всех звеньев, но тем не менее применимо, так как позволяет оценить кинематические свойства, необходимые для моделирования замкнутой цепи.
В следующем варианте осуществления шаг (d), на котором оценивают кинематические модели, дополнительно основан на оценке или измерении смещения между, по меньшей мере, двумя роботами на их базовых фланцах и инструментальных фланцах. Это дает возможность использовать одно или оба эти расстояния для масштабирования размеров моделей. Альтернативной возможностью является использование статистической информации роботов для масштабирования модели (например, регуляризацией по Тихонову).
1
2
В следующем варианте осуществления шаг (d), на котором оценивают кинематические модели (M, М), дополнительно основан на статистической информации о, по меньшей мере, одной части цепи.
1
2
В следующем варианте осуществления статистическую информацию используют для оценки моделей (М, М) на основе информации датчиков, число которых превосходит количество подлежащих решению уравнений без статистической информации.
В еще одном предпочтительном варианте осуществления предлагаемый способ дополнительно включает шаг, на котором оценивают, достаточная ли информация датчиков, связанная с сочленениями каждого из, по меньшей мере, двух роботов, получена после шага (d), но до шага (е). Благодаря этому количество неизвестных не превосходит количества подлежащих решению уравнений.
1
2
m
Следующий предпочтительный вариант осуществления способа дополнительно включает шаг, на котором оценивают, достаточно ли данных о парах положений (<RQ, RQ>) получено после шага (d), но до шага (е), и затем
1
2
m
- повторяют шаг (d), если получено недостаточно данных о парах положений (<RQ, RQ>) для того, чтобы оценить кинематические модели, или
1
2
m
- выполняют шаг (е), если получено достаточно данных о парах положений (<RQ, RQ>) для того, чтобы оценить кинематические модели.
В следующем варианте осуществления настоящего изобретения способ содержит шаг, на котором, собирают избыточную часть (OPI) информации датчиков, в дополнение к той, что необходима для решения уравнений, чтобы обновить кинематические модели. Этим обеспечивается устойчивая сходимость кинематических моделей.
В следующем варианте осуществления способ дополнительно включает шаги, на которых
- предотвращают использование, по меньшей мере, доли указанной избыточной части (OPI) информации датчиков для обновления кинематических моделей,
- сохраняют указанную долю указанной избыточной части информации датчиков в устройстве хранения данных,
- проверяют калибровку, используя указанную долю избыточной части информации датчиков.
Так как указанная доля OPI не была использована для обновления моделей, она может быть использована для проверки моделей, т.е. для проверки соответствия углов или положений тому, что предсказывается оцененными моделями. Таким образом, шаг проверки калибровки может в одном варианте осуществления включать шаги, на которых сравнивают указанную долю собранной избыточной части информации датчиков с соответствующими значениями, предсказанными посредством обновленных кинематических моделей роботов.
Предпочтительно, указанное сравнение выполняют путем вычисления разности между каждой из указанных долей собранной избыточной части информации датчиков и соответствующими значениями, предсказанными посредством оцененных кинематических моделей роботов, и сравнения указанной разности или ее числового значения с пороговым значением. В следующем варианте осуществления указанная избыточная часть (OPI) информации датчиков находится в диапазоне от 10% до 200%, предпочтительно от 20% до 80%, еще более предпочтительно от 20% до 60%, или, альтернативно, в диапазоне от 10% до 20%, или в диапазоне от 20% до 40%, или в диапазоне от 40% до 60%, или в диапазоне от 60% до 80%, или в диапазоне от 80% до 100%, или в диапазоне от 100% до 120%, или в диапазоне от 120% до 140%, или в диапазоне от 140% до 160%, или в диапазоне от 160% до 200%.
В одном из вариантов осуществления способ дополнительно включает шаг, на котором сохраняют обновленные кинематические модели в устройстве хранения данных, которое может находиться в контроллере робота, функционально соединенном с роботом, или в другом устройстве.
В следующем варианте осуществления шаг (с), на котором воздействуют на, по меньшей мере, одно звено и/или сочленение, по меньшей мере, одного робота в цепи, выполняют, отключая, по меньшей мере, один из регуляторов положения сочленений одного из указанных двух роботов и позволяя вести его другому роботу.
В следующем варианте осуществления шаг (с), на котором воздействуют на, по меньшей мере, одно сочленение, по меньшей мере, одного робота в цепи, охватывая, по меньшей мере, часть полного рабочего пространства роботов, выполняют, отключая, по меньшей мере, один, например, все регуляторы положения сочленений каждого из указанных двух роботов, и изменяя положения сочленений за счет внешнего воздействия, например, вручную оператором.
1
2
1
2
В еще одном варианте осуществления шаг (с), на котором воздействуют на, по меньшей мере, одно сочленение, по меньшей мере, одного робота (R, R) в цепи, выполняют, отключая, по меньшей мере, один из регуляторов положения сочленений каждого из указанных двух роботов (R, R), и изменяют положение сочленений вручную.
1
2
В следующем варианте осуществления кинематические модели (M, М) определяют посредством параметров, задающих преобразования.
В следующем варианте осуществления параметры представляют собой два типа параметров Денавита-Хартенберга. Эти два типа параметров Денавита-Хартенберга могут быть представлены параметрами Шиллинга и параметрами параллельного варианта, соответственно.
1
2
1
2
В еще одном варианте осуществления настоящего изобретения способ дополнительно включает шаг, на котором регулируют силу, которую прилагают, по меньшей мере, два робота (R, R). В следующем варианте осуществления каждая из моделей (М, М) содержит преобразование каждого сочленения.
Как было упомянуто, кинематические модели, по меньшей мере, двух роботов предпочтительно определяются двумя типами параметров Денавита-Хартенберга. Эти два типа параметров Денавита-Хартенберга могут быть представлены параметрами Шиллинга, и вариацией, построенной для параллельной оси вращения, соответственно. Далее эта вариация называется параллельным параметром (DH). Выбранные представления с 4 параметрами обеспечивают и минимальный, и полный способ описания преобразования осей вращения. Однако могут также использоваться и другие представления.
В следующем варианте осуществления способ может дополнительно включать шаг, на котором регулируют силу, которую прилагают, по меньшей мере, два робота. Предпочтительно, каждая из моделей содержит преобразование каждого сочленения каждого из, по меньшей мере, двух роботов.
Раскрытый выше способ можно распространить на случай более чем двух роботов. Поэтому в следующем варианте осуществления способ дополнительно включает шаги, на которых соединяют N дополнительных роботов параллельно или последовательно с, по меньшей мере, двумя роботами, где N - натуральное число, и выполняют шаги предлагаемого способа для каждого из дополнительных N роботов.
1
2
В следующем варианте осуществления указанные, по меньшей мере, два робота (R, R) представляют собой два манипулятора одного робота. В следующем варианте осуществления, по меньшей мере, один из указанных манипуляторов может представлять собой шарнирно-сочлененный манипулятор робота. Далее, по меньшей мере, один из указанных манипуляторов может содержать призматическое сочленение. Указанный один робот содержит, по меньшей мере, один базовый фланец и, по меньшей мере, два инструментальных фланца, и в любом случае, больше инструментальных фланцев, чем базовых фланцев.
Для непосредственного использования рабочей программы от другого робота необходимо, чтобы пропорции обоих роботов были идентичны, и чтобы датчики положения были одинаково отрегулированы. Так как этого очень трудно достичь, может оказаться затруднительным продублировать программу между роботами. Поэтому следующей целью настоящего изобретения является предложение способа дублирования программы между - возможно, неоткалиброванными - роботами.
1
2
1
2
Эта и другие цели достигаются благодаря второму аспекту настоящего изобретения, относящемуся к способу преобразования рабочей программы первого робота R для второго робота R, при этом каждый робот (R, R) содержит сочленения, соединяющие два фланца: базовый фланец и инструментальный фланец, включающему следующие шаги:
1
2
(a) замещают первый робот R вторым роботом R,
1
1
(b) обеспечивают рабочую программу RP, связанную с первым роботом R,
1
2
1
2
(c) выбирают ряд положений или углов согласно рабочей программе RP и переводят второй робот R в эти положения, обеспечивая тем самым набор <RQ, RQ> данных о парах положений или углов,
1
2
base
tcp
1
2
(d) оценивают кинематические модели (М, М) указанных, по меньшей мере, двух роботов, смещение (T) базового фланца и смещение (T) центральной точки инструмента, используя набор <RQ, RQ> данных о парах положений, и затем
1
2
(e) выполняют преобразование рабочей программы на основе указанных оцененных кинематических моделей (М, М).
Часто возникает необходимость заменить один робот другим, новым. Однако вместо выполнения калибровки нового робота, углы сочленений «старого» робота могут использоваться как одна половина цепи в математической модели, а соответствующие углы «нового» робота - как вторая половина цепи. Этим, как было упомянуто выше в шаге (с), достигается получение набора данных о парах углов, используемых для того, чтобы обновить кинематические модели роботов.
Один из вариантов осуществления второго аспекта настоящего изобретения дополнительно включает шаг, на котором оценивают, может ли программа выполняться на втором роботе в надлежащим образом выбранных допусках.
1
2
Следующий вариант осуществления второго аспекта настоящего изобретения дополнительно включает шаг, на котором выбирают дополнительный ряд положений согласно рабочей программе RP и переводят второй робот R в эти дополнительные положения, обеспечивая тем самым расширенный набор данных о парах положений, а затем выполняют шаги (d) и (е), используя этот расширенный набор данных о парах положений, если программа не может выполняться на втором роботе в надлежащим образом выбранных допусках.
1
2
Следующий вариант осуществления второго аспекта настоящего изобретения дополнительно включает шаги преобразования другой рабочей программы на основе оцененных кинематических моделей (М, М).
Следующий вариант осуществления второго аспекта настоящего изобретения дополнительно включает шаг (е) выполнения преобразования рабочей программы на основе указанных оцененных кинематических моделей, причем шаг включает следующие этапы:
1
1
1
1
1
- применяют прямую кинематическую задачу ко всем RQ в RP с оцененной кинематической моделью M, связанной с первым роботом R, получая программу RK,
1
2
2
2
- применяют обратную кинематическую задачу к RK с оцененной кинематической моделью М для второго робота R, задавая тем самым положения RQ, и затем
1
1
2
2
2
- заменяют RQ в программе RP соответствующим RQ, задавая тем самым рабочую программу RP, связанную со вторым роботом R, и завершая этим преобразование программы.
1
2
В следующем варианте осуществления второго аспекта настоящего изобретения кинематические модели (М, М) определяют посредством параметров, задающих преобразования.
1
2
В следующем варианте осуществления второго аспекта настоящего изобретения кинематические модели (М, М) определяют тремя типами параметров Денавита-Хартенберга.
В следующем варианте осуществления способа согласно второму аспекту настоящего изобретения три типа параметров Денавита-Хартенберга представлены параметрами Шиллинга, параметрами параллельного варианта (DH) и параметрами вращения по осям Крена-Тангажа-Рыскания со смещением, далее обозначаемыми RPY (Roll-Pitch-Yaw).
В одном из вариантов осуществления способа согласно второму аспекту настоящего изобретения параметры RPY используют для модуляции последнего сочленения робота. Для модулирования полного вращения и перемещения могут также использоваться другие представления. Однако представление RPY представляет собой минимальное и полное представление 6 параметров для малых изменений вращения.
1
2
В следующем варианте осуществления второго аспекта настоящего изобретения кинематические модели (M, М) оценивают с использованием заранее заданных моделей в качестве начальной точки. Эти заранее заданные модели могут быть приближенными моделями, например, определенными с использованием статистической информации вышеупомянутого вида.
Краткое описание чертежей
Более глубокое понимание сущности и преимуществ настоящего изобретения может быть достигнуто обращением к оставшимся частям настоящего описания и чертежам. Далее подробнее объясняются предпочтительные варианты осуществления настоящего изобретения со ссылкой на чертежи, на которых:
ФИГ. 1 иллюстрирует представление Денавита-Хартенберга по Шиллингу,
ФИГ. 2 иллюстрирует параллельный вариант представления Денавита-Хартенберга,
ФИГ. 3 иллюстрирует конфигурацию замкнутой цепи из двух роботов,
ФИГ. 4 иллюстрирует альтернативную конфигурацию замкнутой цепи из двух роботов,
ФИГ. 5 схематически изображает преобразования двух 6-звенных роботов, соединенных в конфигурацию замкнутой цепи,
ФИГ. 6 схематически иллюстрирует представление неоткалиброванной цепи из двух роботов,
ФИГ. 7 схематически иллюстрирует возможность использования расстояния для определения масштаба модели,
ФИГ. 8 изображает переходник, определяющий общую нормаль к двум осям вращения,
ФИГ. 9 показывает, где в системе происходят преобразования, указанные в таблице 1,
ФИГ. 10 изображает блок-схему, иллюстрирующую вариант осуществления способа калибровки R роботов,
ФИГ. 11 изображает верхний уровень варианта осуществления способа калибровки роботов,
ФИГ. 12 изображает блок-схему для автоматической версии варианта осуществления цикла калибровки,
ФИГ. 13 изображает блок-схему ручной версии варианта осуществления цикла калибровки,
ФИГ. 14 изображает блок-схему варианта осуществления способа сохранения информации датчиков несинхронизированных роботов,
ФИГ. 15 изображает блок-схему варианта осуществления способа сохранения информации датчиков синхронизированных роботов,
ФИГ. 16 изображает замкнутую цепь, в которой новый робот показан вместе с воображаемым изображением старого робота,
ФИГ. 17 показывает, где в системе происходят преобразования, указанные в таблице 2,
ФИГ. 18 иллюстрирует вариант осуществления блок-схемы сбора пар данных для использования в преобразовании программы,
ФИГ. 19 показывает вариант осуществления блок-схемы преобразования программы,
ФИГ. 20 изображает блок-схему варианта осуществления способа преобразования программы,
ФИГ. 21 изображает блок-схему варианта осуществления способа определения углов сочленений и
ФИГ. 22 изображает блок-схему варианта осуществления способа выполнения преобразования программы одного из неоткалиброванных роботов для другого.
Осуществление изобретения
Настоящее изобретение будет теперь раскрыто более полно со ссылкой на сопроводительные чертежи, на которых представлены в качестве примеров варианты осуществления настоящего изобретения. Настоящее изобретение может, однако быть осуществлено в различных формах и не должно толковаться как ограниченное вариантами осуществления, предложенными в настоящем документе. Скорее, эти варианты осуществления приведены для того, чтобы данное описание было основательным и полным, позволяя специалистам вполне уяснить объем настоящего изобретения. Во всем тексте одни и те же ссылочные обозначения относятся к одним и тем же элементам. Поэтому аналогичные элементы не будут подробно объясняться в описании каждой фигуры.
Для моделирования роботов применяется классическая кинематика. Это позволяет переводить информацию от сочленений робота в декартову систему координат, для того чтобы сделать сочленения робота сравнимыми.
Представление
Используется следующее представление:
c
r
T(θ),
однородное преобразование вращения на угол (по часовой стрелке вокруг оси с, где с это x, y или z.
t
Tc(s),
однородное преобразование перемещения (трансляции) на расстояние s вдоль оси с, где с это x, y или z.
<mrow><msubsup><mi>T</mi><mi>j</mi><mi>i</mi></msubsup></mrow>
,
однородное преобразование от i к j.
<mrow><msubsup><mi>Z</mi><mi>j</mi><mi>i</mi></msubsup></mrow>
,
единичный вектор вдоль оси z для однородного преобразования от i к j.
<mrow><msubsup><mi>P</mi><mi>j</mi><mi>i</mi></msubsup></mrow>
,
положения от i к j.
Представление робота
st
Роботы моделируются двумя типами параметров Денавита-Хартенберга, (Denavit-Hartenberg, DH). В первом типе параметров DH используется представление Шиллинга (ср. R.J. Schilling. "Fundamentals of Robotics: Analysis and Control". (Основы робототехники. Анализ и управление.) Simon & Schuster Trade, 1 ed. 1996) для описания преобразования между двумя непараллельными осями z, так как в этом представлении возникает сингулярность, когда оси z параллельны (см. ниже уравнение 1).
Во втором типе используется параллельной вариант параметров DH, чтобы избежать этой сингулярности (см. ниже уравнение 2). В параллельном варианте DH используются те же принципы, что и в исходном DH, но в параллельном варианте сингулярность, возникает, когда параллельны первая ось у и следующая ось z. Сингулярность параметров DH Шиллинга определяется нормалью между первой и следующей осью z, так как расстояние до пересечения нормали с первой осью z используется как параметр, см. иллюстрацию на фиг. 1. Сингулярность параллельного варианта DH определяется аналогично представлению Шиллинга, но сингулярность смещена с использованием нормали между первой осью y и следующей осью z, см. фиг. 2.
Выбор правильного представления каждого элемента сочленения дает представление робота без каких-либо сингулярностей параметров DH:
Модель замкнутой цепи
Представление комбинирует все элементы цепи в одной модели. Модель отражает физическую характеристику замкнутой цепи и позволяет связать каждый элемент с каждым другим. В зависимости от оборудования, применяемого для соединения роботов, могут быть использованы различные подходы. В исходной установке инструментальные фланцы соединены жестким цельным переходником 2, базовые фланцы соединены жестким цельным переходником 4, и все сочленения в цепи представлены параметрами DH, как указано выше. Это обеспечивает преимущества минимального полного представления, описывающего оси вращения сочленений в системе относительно друг друга, см. иллюстрацию фиг. 3, изображающую два робота 6 и 8, соединенных друг с другом в замкнутую цепь переходниками 2 и 4. На фиг. 4 показана альтернативная конфигурация замкнутой цепи из двух роботов 6, 8, соединенных своими инструментальными фланцами через переходник 2. Базовые фланцы 10 установлены на поверхности, по которой можно определить расстояние между базовыми фланцами 10, что дает достаточную информацию для «замыкания цепи». На фиг. 3 и 4 показаны два промышленных робота 6 и 8, типа UR5 производства компании Universal Robots.
Более сложные цепные комбинации
Для соединения инструментальных и базовых фланцев 10 может использоваться усовершенствованный переходник. Предпочтительно, модель строится так, чтобы отражать используемое оборудование. Пример усовершенствованного способа соединения базовых фланцев 10 роботов 6, 8 может включать призматическое сочленение, способное смещать роботы 6, 8 на известное расстояние. Другой пример добавления более сложного сочленения к цепи может предусматривать шариковый измерительный наконечник или дополнительное сочленение. Шариковый измерительный наконечник представляет собой общеизвестный инструмент для калибровки одиночного робота (ср. М.R. Driels: Using passive end-point motion constraints to calibrate robot manipulators. Journal of Dynamic Systems (Использование пассивных ограничений движения конечной точки для калибровки манипуляторов робота). Journal of Dynamic Systems, Measurement, and Control, 115(3): 560-566, 1993 - настоящим полный текст статьи включен в содержание данного описания посредством ссылки). Этот способ работает при установке шарикового измерительного наконечника одним концом в фиксированном местоположении, а другим концом - на роботе. Это означает, что все наблюдения выполняются относительно фиксированного местоположения и поэтому ограничены им. Движение также ограничено из-за наличия фиксированного местоположения. Когда же оборудование применяется согласно настоящему изобретению, каждый конец устанавливается на один из роботов 6, 8, и поэтому измерения не будут ограничены фиксированным местоположением. Это дает возможность проводить измерения, которые относятся ко всему рабочему пространству роботов 6, 8.
Некоторые роботы имеют множество конечностей. Если рассматривать эти конечности как отдельные манипуляторы робота, то способ согласно настоящему изобретению, раскрытый в данном описании, может использоваться для калибровки этих конечностей без дополнительного активного измерительного оборудования.
Способ согласно настоящему изобретению основан на принципе замкнутой цепи, как показано на фиг. 5. Перенеся этот принцип на модель, можно получить способ калибровки, в который обратная связь встроена и не требует дополнительного измерительного оборудования. Затем математическим моделированием можно откорректировать модель так, чтобы удовлетворить принципу замкнутой цепи и тем самым откалибровать математическую модель физических сочленений роботов 6, 8. Математически, погрешность вычисляется в модели размыканием цепи с последующим вычислением расхождения двух концов сочленения, см. иллюстрацию на фиг. 6. Для определения погрешности роботы физически не разъединяют - это чисто математический прием. Процесс регулировки кинематических моделей осуществляется согласно подходу Ньютона-Рафсона посредством сбора достаточного количества наблюдений роботов 6, 8 для описания полного рабочего пространства в системе уравнений, приводящей решатель к правильному решению. Предпочтительно, собирают столько наблюдений - информации датчиков - чтобы получить переопределенную систему уравнений, добиваясь тем самым устойчивой сходимости к правильному решению.
Функция наименьших квадратов
Систему уравнений - предпочтительно переопределенную - решают, используя функцию наименьших квадратов, дающую квадратичную погрешность. В уравнении 3 преобразование представляет погрешность (Error) для сочленений в разомкнутой цепи, как показано на фиг. 7:
Погрешность положения учитывают, рассчитывая квадратичную длину части перемещения погрешности Error, см. уравнение 4:
st
Погрешность вращения рассчитывают по углу осей, обозначенному АА (ср. R.J. Schilling. "Fundamentals of Robotics: Analysis and Control". (Основы робототехники. Анализ и управление.) Simon & Schuster Trade, 1 ed. 1996). Погрешность угла находят, рассчитывая АА из части вращения погрешности Error, см. уравнение 5:
Получаемое в итоге уравнение для наименьших квадратов представляет собой сумму квадратов уравнений 4 и 5 для N наблюдений, см. уравнение 6:
,
представляющее погрешность зазора между концами цепи, как показано на фиг. 6.
Ограничения
Для надлежащего масштабирования модели необходимо иметь в модели известное расстояние или изменение расстояния. Это можно проиллюстрировать тригонометрическим чертежом фиг. 7, на котором углы треугольников одни и те же, но масштабы различны. Подход для оценки масштабного коэффициента модели состоит в реализации модели, в которой можно определить и зафиксировать известное расстояние. Или в построении расстояния, которое можно зафиксировать в используемой модели. Другой возможностью корректировки оценок масштаба является использование статистической информации относительно ожидаемых размеров роботов. Это может быть выполнено, например, регуляризацией по Тихонову.
Сбор наблюдений
Для применения вышеописанного способа необходимо собрать и сохранить наблюдения от физической цепи, чтобы имитировать ее в математическом представлении. Эти наблюдения можно собирать как вручную при участии оператора, так и автоматически в процессе автономного движения робота в рабочем пространстве. Необходимо набрать достаточное количество измерений, распределенных в полном рабочем пространств. Это связано с тем, что калибровка может считаться выполненной только для использованного рабочего пространства. Поскольку роботы 6, 8 должны быть соединены и должны следовать друг за другом, предпочтительно, далее, чтобы регуляторы положения некоторых сочленений можно было отключать, и чтобы эти сочленения становились ведомыми. Необходимо воздействовать на цепь роботов 6, 8 без какого-либо использования обратной кинематики, так как эта кинематика неизвестна из-за отсутствия калибровки.
Оценка
В надежной оценке окончательной калибровки используется оцененная математическая модель, которая сравнивается с наблюдениями. Важно, чтобы эти наблюдения были независимы от тех, которые используются в процедуре калибровки, и были распределены по полным рабочим пространствам роботов. Если наблюдения из калибровки используются для оценки калибровки, то результат будет недостоверен, так как для обоснования результата не было добавлено новой информации. Другой надежный индикатор качества результатов состоит в регулировании по ее результатам известных физических параметров и последующем сравнении отрегулированных величин с известными значениями.
Соединение сочленений роботов 6, 8 в замкнутую цепь открывает возможность для корректировки других параметров, кроме тех, которые относятся к определению положения. Примером может быть корректировка параметров, которые относятся к силам в цепи.
Пример калибровки
Целью этого примера является иллюстрация и объяснение того, как способ согласно настоящему изобретению может быть применен к конкретным роботам производства компании-заявителя Universal Robots. Установка содержит два серийных промышленных робота 6, 8 типа UR-6-85-5-A и два цельных пассивных переходника для соединения инструментальных и базовых фланцев. На фиг. 8 показан только цельный переходник 2, используемый для соединения инструментальных фланцев. Этот конкретный тип роботов 6, 8 имеет шесть степеней свободы, распределенных на два шарнирных сочленения, параллельных предыдущей оси вращения, и четыре перпендикулярных ей. Для проведения чисто статической кинематической калибровки двух роботов 6, 8 необходимо установить их в фиксированном положении относительно друг друга. Переходники 2, замыкающие цепь, выполнены так, чтобы соединенные концевые сочленения не имели общей оси вращения, так как это ввело бы в модель некоторые нежелательные зависимости между сочленениями. В данном примере инструментальные и базовые фланцы соединены с известным смещением и поворотом на 90 градусов для оптимизации установки под представление DH Шиллинга. Для определения масштаба модели замкнутой цепи возможно использовать статистическую информацию по роботам или фиксированный размер в модели. В этом варианте осуществления было выбрано использование фиксированного известного размера. Таким известным размером является длина общей нормали 16 к двум осям вращения 18, 20. Длина этой нормали непосредственно представлена параметром DH "а" и может поэтому быть определена и зафиксирована (см. фиг. 8).
Представление
Модель замкнутой цепи содержит преобразование каждого сочленения, как показано на фиг. 9. Чтобы использовать одно и то же представление для обоих роботов, расчет погрешности приходится изменять, но тем не менее рассчитывают ту же погрешность, что и в уравнении 7 ниже:
Соединение роботов можно представить с использованием расширенной версии DH (см. уравнения 8 и 9 ниже). Это представление позволяет отобразить любое преобразование в виде, аналогичном DH и дающем те же преимущества.
Параметры каждого преобразования модели замкнутой цепи приведены в таблице 1 ниже. Фиксированные расстояния представлены в модели параметром "а" (см. таблицу 1). Для обоих соединений применен один и тот же конструктивный прием; и инструментальные, и базовые фланцы могут быть зафиксированы с известной длиной нормали. Как было упомянуто выше, предпочтительно - но не необходимо - иметь несколько заранее известных параметров в системе. Это позволяет включать один из них как проверочный образец для оценки результата калибровки.
Таблица 1. Таблица, описывающая регулируемые и фиксированные (параметр "а") параметры представления модели для установки, в которой роботы 6, 8 смещены на 90 градусов
Для использования откалиброванной модели в контроллере роботов 6, 8 необходимо пересчитать преобразования в нужный формат, включая извлечение полезной информации из  и . В данном случае это представление Шиллинга параметров DH.
1
j
m
i
j
m
i
j
Фиг. 10 изображает блок-схему, иллюстрирующую вариант осуществления способа калибровки R роботов, где R - натуральное число, равное 2 или большее, чем 2. Проиллюстрированный вариант осуществления содержит следующие шаги. Обеспечивают R роботов, содержащих несколько сочленений, базовый фланец и инструментальный фланец. На шаге 22 из R роботов образуют замкнутую цепь. Затем на шаге 28 собирают соответствующие пары положений (<RQ, RQ>). Далее на шаге 30 оценивают, достаточно ли данных собрано для того, чтобы оценить модели. Если это не так, переходят к шагу 26, изменяют положения сочленений роботов и собирают соответствующие пары положений (<RQ, RQ>), как указано в блоке 28. Далее вновь на шаге 30 оценивают, достаточно ли данных собрано. Если нет, то шаги 26 и 28 повторяют, как указано стрелкой 29. Однако, если были собраны достаточные данные, то модели обновляют или уточняют или оценивают, используя информацию собранных наборов <RQ, RQ> данных о парах положений, как указано на шаге 32. Эти обновленные модели затем сохраняют на шаге 34, на этом калибровка заканчивается, как указано на шаге 36.
Фиг. 11 изображает верхний уровень общего варианта осуществления способа калибровки роботов согласно настоящему изобретению. На шаге 38 способ начинают, затем на шаге 40 роботы устанавливают в замкнутую кинематическую цепь, и затем на шаге 42 цикл калибровки согласно варианту осуществления настоящего изобретения выполняют для параметров с высокой неопределенностью, проводя полную калибровку с начальной точки. Если этот цикл успешен, далее на шаге 44 определяют полную модель. Если это удается, то калибровка выполнена, как указано в блоке 46. Но если какой-либо из шагов 42 или 44 не удается, как указано стрелками 50 и 52, соответственно, то и калибровка не удается, как указано в блоке 48.
На фиг. 12 и 13 преставлены два альтернативных способа реализации блоков 42 и 44, показанных в блок-схеме фиг. 12.
Фиг. 12 иллюстрирует вариант осуществления автоматической версии цикла 42 и 44 калибровки на фиг. 11. На шаге 54 генерируют или загружают углы следующего целевого сочленения, затем на шаге 56 все роботы, кроме одного, устанавливают с силовым контролем на направления под целевыми углами. Далее на шаге 58 последний оставшийся робот устанавливают на направления под целевыми углами с позиционным контролем. Затем на шаге 60 оценивают, превышает ли изменение информации датчиков надлежащим образом выбранное пороговое значение, чтобы избежать идентичных или почти идентичных измерений. Если это так, то информацию датчиков сохраняют, как указано на шаге 62. С другой стороны, если изменение информации датчиков ниже указанного надлежащим образом выбранного порога, то на следующем шаге 64 оценивают, достаточно ли данных собрано для продолжения калибровки. Если это так, то движение роботов останавливают, как указано на шаге 66, и калибровка выполнена, т.е. модели уточнены, как указано на шаге 68. Затем на шаге 70 оценивают, верна ли калибровка. Если это так, то цикл калибровки завершен, как указано на шаге 72. Если оценка на шаге 64 показывает, что данных для завершения калибровки собрано недостаточно, то далее на шаге 74 проверяют, движутся ли еще роботы, и, при подтверждении, повторяют шаги 60-64. Если роботы не движутся, то на шаге 76 уточняют, была ли остановка роботов неожиданной; если это так, то на шаге 80 выполняют проверку ошибок для выявления физических помех, например, столкновений роботов с элементами окружения или между собой. Если результат оценки на шаге 76 отрицательный, то повторяют шаги, начиная с шага 54.
Фиг. 13 иллюстрирует вариант осуществления ручной версии цикла калибровки 42 и 44 на ФИГ. 11. Так как многие из шагов в настоящем способе аналогичны шагам способа, проиллюстрированного на фиг. 12, далее будут объяснены только различия. Основное отличие состоит в том, что на шаге 81 все роботы устанавливают с силовым контролем, и затем на шаге 82 манипулируют вручную углами сочленений до шага 60.
На фиг. 14 и фиг. 15 показаны блок-схемы сохранения информации датчиков, как указано на шаге 62 на фиг. 12 и 13. Фиг. 14 изображает блок-схему сохранения информация датчиков несинхронизированных роботов, а фиг. 15 изображает то же самое для синхронизированных роботов. На первом шаге 84 на фиг. 14 движение роботов приостанавливают, затем на шаге 86 оценивают, остановились ли роботы, и, если ответ утвердительный, то информацию датчиков, например, углы сочленений, сохраняют на шаге 88, после чего на шаге 90 продолжают движение роботов. Однако, если роботы синхронизированы, то информацию датчиков сохраняют непосредственно, как указано этапом 88 в блок-схеме на фиг. 15. Это возможно, так как синхронизация обеспечивает одновременность сбора информации от всех датчиков. Если сбор выполняется не одновременно, собранный набор данных не описывает замкнутой цепи, и измерения будут в этом случае непригодны для использования. Если роботы не синхронизированы, необходимо остановить их до сбора пар положений, чтобы обеспечить согласование.
Пример дублирования программы
Этот раздел дается в качестве примера того, как способ замкнутой цепи может использоваться при дублировании рабочей программы одного робота для другого, когда один или оба робота не откалиброваны. Пример использует программу, которая должна быть продублирована. Программа, которая должна быть продублирована, содержит реперные точки конфигураций робота. Здесь замкнутую цепь получают с использованием реперных точек, представляющих первую часть цепи, и затем - математически - замыкают цепь, повторно программируя в режиме обучения те же реперные точки на новом роботе, предназначенном для выполнения задач первого робота. См. фиг. 16, на которой новый робот 6 показан вместе с воображаемым изображением старого робота 8.
Данные
Генерируемые реперные данные основаны на программе робота, которая должна быть продублирована. Данные собирают вручную повторным обучающим программированием ключевых положений реперных точек, являющихся основными для задачи программы. Точность этих основных положений может изменяться в зависимости от программы, но в большинстве случаев это будут наиболее явно выраженные и легче всего копируемые положения. Повторным обучающим программированием этих существенных положений достигается также совпадение получаемой в итоге программы нового робота в этих ключевых положениях. Если несколько программ дублируется между одними и теми же двумя роботами, то указанные ключевые положения можно использовать повторно, повышая тем самым уровень соответствия программ. В зависимости от задачи и инструмента робота, может быть затруднительным определить правильные положение и поворот. В особенности может быть трудно правильно скопировать повороты, если инструмент независим от поворотов. Соответственно, это может понизить уровень знаний, но они все же могут быть использованы, так как повороты в этих задачах не столь важны в силу независимости от поворотов. В зависимости от задач роботов, собранные данные в типовом случае объединяются в группы по принципу выполнения существенных действий робота. Это означает, что взаимосвязь рабочих пространств двух роботов известна только частично, и что правильные соответствующие конфигурации могут быть обеспечены только вблизи ключевых положений. Однако, поскольку другие реперные точки не существенны для задач робота, такого соответствия в большинстве случаев вполне достаточно для выполнения роботом задач программы. Если программу необходимо продублировать обратно на исходный робот, то могут быть повторно использованы те же соответствующие ключевые положения. Это позволяет исходную программу, равно как и изменения в ней, перенести обратно на исходный робот. Это особенно интересно, если та же программа применяется в сходных роботизированных гибких производственных ячейках, что позволяет дублированием программ масштабировать производство «вверх» без потери гибкости.
Представление базы робота
В настоящем примере предполагается, что на обоих роботах 6, 8 устанавлен один и тот же инструмент, и что положение центральной точки инструмента одно и то же (см. фиг. 16). Модуляция преобразования между двумя центрами вращения баз роботов 6, 8 осуществляется с помощью углов Эйлера, параметров RPY и трехмерных векторов положения. При использовании углов Эйлера достигается представление с минимально возможным числом параметров, свободное от сингулярностей для умеренной или отсутствующей регулировки поворота смещения роботов, и устраняется необходимость использования алгоритма ограниченной оптимизации. Выбранное представление определено ниже в уравнении 10:
Представление робота
Роботы 6, 8 модулируют по трем типам параметров Денавита-Хартенберга. Два первых типа являются теми же, что используются при калибровке в вышеприведенном примере. Но для модуляции последнего сочленения выбрано представление RPY, чтобы обеспечить возможность модуляции любого положения и поворота (см. ниже уравнение 11). Это представление применяется потому, что никакое другое представление DH не может представить любое преобразование, требуемое для модуляции любого преобразования инструментального фланца. Как и в представлении базы, RPY является хорошим выбором, поскольку требуется моделировать только умеренные или отсутствующие повороты. Выбор правильного представления для каждого сочленения в итоге дает представление робота без каких-либо сингулярностей параметров:
Представление инструмента
Преобразование, определяющее расположение центральной точки инструмента относительно инструментального фланца робота, обозначается .
Это преобразование является фиксированным вследствие предположения о том, что на обоих роботах 6, 8 установлены идентичные инструменты. Далее, любое малое регулирование, какое потребуется, можно получить, пользуясь параметрами последнего сочленения. В данном примере масштаб модели не важен, если относительные масштабы роботов те же, что и масштабы физических роботов 6, 8. Это справедливо, если на входе и на выходе способа только углы, так как углы не зависят от масштаба объектов, как показано на фиг. 7.
Полная модель
Представление модели проиллюстрировано ниже, в таблице 2. Чтобы избежать линейно зависимых параметров в модели, некоторые из них фиксированы. Параметры θ и d для базовых сочленений обоих роботов фиксированы, поскольку ту же регулировку можно выполнить через представление . Одно из преобразований  последнего сочленения роботов фиксировано, так как у обоих роботов общая центральная точка  инструмента, и любое малое регулирование можно выполнить через оба представления сочленений. Соответственно, упомянутые параметры зависят друг от друга. Так как на входе способа имеется только информация по углам сочленений, необходимо зафиксировать некую физическую длину, чтобы избежать линейной зависимости, относящейся к масштабу модели, или использовать статистическую информацию. В данном случае было выбрано использование статистической информации для корректировки способа оптимизации, так как это делает способ применимым, даже когда задача некорректно поставлена/неопределенна. Выбранный способ корректировки основан на регуляризации по Тихонову для некорректно составленных уравнений. Это позволяет провести оптимизацию методом наименьших квадратов для выбора решения, ближайшего к ожидаемому значению из бесконечного числа возможных.
Количество N регулируемых параметров для каждого робота удовлетворяет нижеприведенному уравнению для минимального и полного представления, поскольку  и  повторно используются для обоих роботов. R = количество шарнирных сочленений. Т = количество призматических сочленений. N=4R+2Т+6. В данном примере R=6 и Т=0, что дает N=30.
Таблица 2, описывающая регулируемые и фиксированные параметры представления модели
На фиг. 17 приведена схематическая иллюстрация, показывающая, где в системе происходят преобразования, указанные в таблице 2.
i
i
i
i
i
m
i
j
i
m
i
j
m
i
j
На фиг. 18 показан вариант осуществления согласно блок-схеме сбора пар положений для использования в преобразовании программы, как показано на фиг. 19. В дальнейшем изложении предполагается, что робот j замещен роботом i. Каждый робот имеет несколько сочленений, базовый фланец и инструментальный фланец. На первом шаге 92 загружают набор программ RP, а затем на следующем шаге 94 выбирают ряд положений или углов RQ соответственно рабочей программе RP. Эти положения, а тем самым и соответствующие углы RQ предпочтительно являются основными реперными точками запрограммированной задачи. Затем на шаге 96 для всех RQ в списке RQ выполняют шаг 98. На шаге 98 робот R перемещают в те положения, соответствующие положениям RQ, которые затем на шаге 100 сохраняют в качестве набора <RQ, RQ> пар положений или углов. Как указано в блоке 102, шаги 96-100 повторяют, если цикл не завершен. Но когда цикл завершен, в результате получают набор <RQ, RQ> данных о парах положений или углов, как указано в блоке 104.
i
i
j
i
j
base
tcp
i
j
i
i
i
i
i
j
j
i
i
j
j
На фиг. 19 показан вариант осуществления согласно блок-схеме преобразования программы, т.е. копирования рабочей программы робота i для робота j с использованием вышеупомянутого собранного набора данных. На шаге 92 загружают программу RP. Затем на шаге 106 загружают соответствующий набор <RQ, RQ> данных о парах положений или углов. Далее на шаге 108 оценивают кинематические модели M, M, T и T, используя собранный набор <RQ, RQ> данных о парах положений или углов и правило замкнутой цепи. Затем на шаге 110 применяют прямую кинематическую задачу ко всем RQ в RP с M, получая тем самым RK. После чего на шаге 112 применяют обратную кинематическую задачу ко всем RK с M, получая тем самым RQ. Затем на шаге 114 все RQ в RP заменяют соответствующими RQ, получая RP и завершая этим преобразование программы, как указано в блоке 116.
Фиг. 20 показывает верхний уровень блок-схемы коррекции программы. Начальная точка представляет собой рабочую установку робота, выполняющего задачу, описанную в его программах, как указано на шаге 188. Затем на шаге 120 выполняют изменение в установке, например, в случае механической поломки. Это может быть изменение робота, например, замена его сочленения, как указано в блоке 122, или замена робота, как указано в блоке 124, или какое-либо другое изменение в установке, как указано в блоке 126. Затем на следующем шаге 128, используя новую часть робота (например, полностью новый робот), определяют новые соответствующие углы сочленений для некоторых из старых важных положений в программе. Тем самым определяют данные о парах углов сочленений старого и нового робота. Эти данные затем на шаге 130 используют для уточнения кинематических моделей старого и нового роботов, используя свойства замкнутой цепи. После чего на шаге 132 выполняют преобразование программы, как указано выше. Если коррекция программы не удается, то шаги 128-132 повторяют. Но если коррекция программы прошла успешно, то на шаге 134 определяют, пригодна ли программа для использования, например прогнав ее на новом роботе. Это может, например, быть выполнено посредством оценки, может ли программа работать на втором роботе в надлежащим образом выбранных допусках.
Если программа пригодна для использования, то на следующем шаге - опциональном шаге 136 - оценивают, нужны ли преобразования еще каких-то программ, и, если ответ утвердительный, то выполняют шаги 132-136, на которых могут быть отрегулированы определенные пары углов или добавлены дополнительные. Если же ответ отрицательный, то программа готова к использованию, как указано в блоке 138 на приведенной блок-схеме.
Фиг. 21 представляет блок-схему, подробнее показывающую возможный вариант реализации шага 128 вышеописанной блок-схемы, показанной на фиг. 20. Представленный способ является итерационным. Вначале на шаге 140 используют одну важную реперную точку программы, затем, на шаге 142 определяют новый набор углов сочленений нового робота перемещением его в правильное положение. Далее на шаге 144 оба набора углов сочленений, старый и новый, сохраняют в виде соответствующей пары. Затем, на последнем шаге 146 определяют, должны ли быть определены другие важные реперные точки. Если да, то шаги 140-146 повторяют. Если нет, то пары углов используют на следующем шаге обновления моделей (см. шаг 130 на фиг. 20).
На фиг. 22 показан подробнее возможный вариант реализации шага 132 корректировки/преобразования программы. Как показано, на первом шаге 148 загружают корректируемую программу и затем на следующем шаге определяют первую реперную точку. На шаге 152 оценивают, определено ли уже соответствующее положение на шаге 128. Если нет, то на шаге 154 применяют прямую кинематическую задачу, используя модель, представляющую старый робот, и получают тем самым результат, по которому рассчитывают окончательную обратную кинематическую задачу, используя модель, представляющую новый робот, как указано на шаге 156. Затем на шаге 158 оценивают, успешны ли вычисления. Если да, то на шаге 160 выбирают наилучшее приближение, которое получено, решая обратную кинематическую задачу. Далее, на следующем шаге 162 старую реперную точку заменяют новой рассчитанной точкой. Наконец, на шаге 164 оценивают, нужно ли больше реперных точек, и если да, то выполняют шаги 150-164. Если результат оценки на шаге 152 утвердительный, то используют уже определенные соответствующие углы сочленений, как указано на шаге 166.
Как показано, настоящее изобретение позволяет выполнять преобразования программ одного робота для другого, когда оба робота не откалиброваны.
Перечень ссылочных обозначений
Ниже дан список номеров позиций для ссылок, использованных в подробном описании настоящего изобретения:
2 - переходник инструментального фланца
4 - переходник базового фланца
6, 8 - роботы
10 - базовые фланцы
16 - общая нормаль к осям вращения
16, 20 - оси вращения
22-36 - шаги способа, калибровка
38-52 - шаги способа, калибровка
54-82 - шаги способа, автоматический и ручной циклы калибровки
84-90 - шаги способа, сохранение информации датчиков
92-104 - шаги способа, сбор данных о парах углов
106-116 - шаги способа, преобразование программы
118-138 - шаги способа, коррекция программы
140-146 - шаги способа, определение углов сочленений
148-166 - шаги способа, коррекция программы.