Способ калибровки и программирования робота
Иллюстрации
Показать всеИзобретение относится к способу калибровки роботов без использования внешнего измерительного оборудования. При осуществлении способа обеспечивают, по меньшей мере, два робота, каждый из которых содержит сочленения и/или звенья, соединяющие базовый фланец и инструментальный фланец, формируют замкнутую цепь из, по меньшей мере, двух роботов, причем соединяющиеся фланцы, по меньшей мере, двух роботов не имеют общей оси вращения, воздействуют на, по меньшей мере, одно звено или сочленение в цепи, обеспечивая тем самым воздействие на другие звенья или сочленения в цепи, и затем оценивают кинематические модели для каждого робота на основе информации датчиков, связанной с сочленениями каждого из, по меньшей мере, двух роботов. Изобретение позволяет одновременно калибровать несколько роботов без использования измерительного оборудования помимо самих роботов. Сравнивая модельное представление замкнутой цепи с многочисленными физическими наблюдениями, возможно уточнение параметров модели и тем самым проведение калибровки. 14 з.п. ф-лы, 22 ил., 2 табл.
Реферат
Область техники
Настоящее изобретение относится к способу калибровки роботов и к способу программирования роботов.
Уровень техники
В области промышленной робототехники знание физических характеристик робота важно для расчета точного положения робота. Эти характеристики могут быть определены схемой конструкции робота, но они будут изменяться в зависимости от процесса сборки робота и допусков его компонентов. Для того чтобы уточнить знания и тем самым повысить точность робота, необходимо откалибровать описывающую его модель.
В патентной литературе предложены несколько способов и устройств программирования роботов. В документе 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 раскрыт способ преобразования рабочей программы первого робота в программу для второго робота, причем каждый из упомянутых роботов содержит два фланца, при этом способ включает шаг замещения первого робота вторым роботом и выполнение преобразования программы.
Раскрытие изобретения
Таким образом, целью настоящего изобретения является предложение усовершенствованного способа калибровки многозвенного робота с использованием замкнутой цепи, который при этом будет легким для внедрения и не будет требовать использования внешнего активного измерительного оборудования.
Еще одной целью настоящего изобретения является предложение способа дублирования рабочей программы между неоткалиброванными роботами.
Согласно настоящему изобретению вышеуказанные и другие цели достигаются способом калибровки роботов, включающим следующие шаги:
(a) обеспечивают, по меньшей мере, два робота (R1 и R2), причем каждый робот (R1, R2) содержит сочленения и/или звенья, соединяющие два фланца: базовый фланец и инструментальный фланец,
(b) формируют замкнутую цепь из, по меньшей мере, двух роботов (R1, R2),
(c) воздействуют на, по меньшей мере, одно звено или сочленение в цепи, обеспечивая тем воздействие на какие-либо другие звенья или сочленения в цепи, и затем
(d) оценивают кинематические модели (М1, М2) для каждого робота (R1, R2) на основе информации датчиков, связанной с сочленениями каждого из, по меньшей мере, двух роботов (R1, R2).
Это дает способ калибровки, не зависящий от точности внешнего активного измерительного оборудования - используются только сами роботы. В предложенном способе роботы объединяются в замкнутую цепь для получения информации, которая затем используется для корректировки кинематических параметров роботов, т.е. используется для того, чтобы обновить кинематические модели роботов; и, тем самым, откалибровать роботы. Информация, необходимая для использования в процессе калибровки, генерируется путем модуляции цепи в различные конфигурации, распределенные по доступному рабочему пространству, т.е. путем воздействия на, по меньшей мере, одно из сочленений, по меньшей мере, двух роботов в цепи, вызывая тем самым воздействие на какие-либо другие звенья и/или сочленения в цепи. Калибровка, т.е. оценка математических кинематических моделей, тогда выполняется с использованием свойств замкнутой цепи и информации от звеньев и/или сочленений в различных конфигурациях цепи. Для определения масштаба размеров цепи должно быть известно, по меньшей мере, одно расстояние или изменение расстояния. Использованные звенья и/или сочленения в цепи выражаются системой уравнений, которая может быть решена, тем самым осуществляя калибровку роботов. Таким образом, используя принцип замкнутой цепи, можно исследовать большие зоны рабочего пространства роботов, и поэтому результат этого способа калибровки в высокой степени представляет все рабочее пространство указанных роботов. Это позволяет одновременно калибровать несколько роботов, не используя какого-либо измерительного оборудования помимо самих роботов. Сравнивая модельное представление замкнутой цепи с многочисленными физическими наблюдениями, можно уточнить параметры модели и тем самым провести калибровку.
Здесь используется тот факт, что в замкнутой цепи каждое звено связано своими собственными ограничениями, чтобы удовлетворить ограничениям всей замкнутой цепи. Это справедливо для положений, скоростей, ускорений, сил и т.д. в цепи. Используя это свойство, можно оценить кинематические свойства каждого звена и тем самым откалибровать кинематику робота.
Следует понимать, что в контексте настоящего патентного описания термины «сочленение» или «сочленения» могут использоваться для обозначения шарнирного сочленения, призматического сочленения или шарового сочленения (шарнира). В зависимости от типа, сочленение может регулировать и регистрировать вращение и/или положение. Далее понятие "положение" используется для описания как вращения, так и/или положения. Следует, далее, понимать, что цепь может включать звенья, не являющиеся сочленениями, и звенья, являющиеся сочленениями.
В одном из вариантов осуществления способа согласно настоящему изобретению шаг (а), на котором обеспечивают, по меньшей мере, два робота, можно выполнить, обеспечив наличие единственного робота, содержащего, по меньшей мере, два манипулятора и затем рассматривая каждый из указанных манипуляторов как один робот. У роботов этого типа число базовых фланцев не равно числу инструментальных фланцев.
В следующем варианте осуществления способа калибровки роботов информацию датчиков получают от тех же датчиков, которые используются для привода сочленений и/или звеньев робота.
В следующем варианте осуществления способа калибровки роботов информацию датчиков получают только от тех же датчиков, которые используются для привода сочленений и/или звеньев робота.
В следующем варианте осуществления способа калибровки роботов шаг (с) содержит такие этапы:
- изменяют положения сочленений и, тем самым, положение (Q) сочленений каждого из, по меньшей мере, двух роботов (R1, R2) и
- собирают соответствующие пары положений (<R1Q, R2Q>m).
В следующем варианте осуществления способа калибровки роботов информация датчиков представляет собой информацию о положении (Q) сочленений, причем шаг (d) содержит оценку кинематических моделей (М1, М2) на основе собранных пар положений (<R1Q, R2Q>m).
В следующем варианте осуществления способа калибровки роботов информация датчиков содержит любые параметры из нижеследующих и/или изменения любых параметров из нижеследующих: углы, координаты положений или их производные.
В следующем варианте осуществления способа калибровки роботов информация датчиков содержит любые параметры из нижеследующих и/или изменения любых параметров из нижеследующих: сила, крутящий момент или их производные.
В следующем варианте осуществления способа калибровки роботов шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов (R1, R2) выполняют путем физического соединения указанных, по меньшей мере, двух роботов (R1, R2), по меньшей мере, их базовыми фланцами и/или их инструментальными фланцами.
В следующем варианте осуществления способа калибровки роботов шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов (R1, R2) дополнительно включает шаг, на котором фиксируют, по меньшей мере, одно расстояние между, по меньшей мере, двумя роботами (R1, R2).
В следующем варианте осуществления способа калибровки роботов шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов (R1, R2) дополнительно включает шаг, на котором фиксируют, по меньшей мере, одно направление соединения между, по меньшей мере, двумя роботами (R1, R2).
В следующем варианте осуществления способа калибровки роботов шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов (R1, R2) содержит шаг, на котором используют измерительное оборудование для измерения относительного положения, по меньшей мере, двух роботов (R1, R2).
В следующем варианте осуществления способа калибровки роботов измерительное оборудование выполнено с возможностью измерения расстояния между частями, по меньшей мере, двух роботов (R1, R2).
В следующем варианте осуществления способа калибровки роботов измерительное оборудование выполнено с возможностью определения направления между частями, по меньшей мере, двух роботов (R1, R2).
В следующем варианте осуществления способа калибровки роботов измерительное оборудование представляет собой, по меньшей мере, один шариковый измерительный наконечник, соединяющий, по меньшей мере, два робота (R1, R2).
В следующем варианте осуществления информация датчиков содержит любую информацию, поступающую от звена в замкнутой цепи, чтобы удовлетворить модели как в статической, так и в динамической части калибровки. Например, но не ограничиваясь этим, информацию о положении и силе и их производных.
Использование углов является очень практичным способом представления положений сочленений роботов с шарнирами, в то же время следует понимать, что могут быть использованы и другие виды информации датчиков. Согласно предлагаемому способу могут калиброваться не только размеры роботов, но также замеры/оценки сил и крутящего момента и/или расчетные импульсы.
Необходимость физически соединять друг с другом роботы не является ограничением, если обеспечивается информация по замыканию цепи. Поэтому в следующем предпочтительном варианте осуществления шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов содержит следующие шаги, по меньшей мере, два робота соединяют друг с другом их базовыми фланцами и/или их инструментальными фланцами. Это дает два хорошо определенных расстояния, по которым можно масштабировать модели. Другой возможностью является использование статистической информации роботов для масштабирования модели (например, регуляризацией по Тихонову). Эта статистическая информация может быть получена на нескольких роботах одного типа и/или технических чертежей самого робота.
В следующем варианте осуществления шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов содержит следующие шаги: используют дополнительные звенья в цепи, которые обеспечивают информацию или свойства, дополняющие те, что использовались для замыкания цепи. Например, шариковый измерительный наконечник может фиксировать или измерять длину звена, соединяющего роботы, что дает характеристику, по меньшей мере, одного расстояния, которое можно модулировать для использования в калибровке.
В следующем варианте осуществления шаг (b) формирования замкнутой цепи из, по меньшей мере, двух роботов содержит шаги использования измерительного оборудования для измерения относительных положений, по меньшей мере, двух роботов. Например, измерительным оборудованием может быть шариковый измерительный наконечник, измеряющий расстояния между фланцами роботов.
Согласно настоящему изобретению базовый и инструментальный фланцы, по меньшей мере, двух роботов не имеют общей оси вращения для того, чтобы снизить зависимости между соединенными сочленениями роботов. Это снижает возможность калибровки всех звеньев, но тем не менее применимо, так как позволяет оценить кинематические свойства, необходимые для моделирования замкнутой цепи.
В следующем варианте осуществления шаг (d), на котором оценивают кинематические модели, дополнительно основан на оценке или измерении смещения между, по меньшей мере, двумя роботами на их базовых фланцах и инструментальных фланцах. Это дает возможность использовать одно или оба эти расстояния для масштабирования размеров моделей. Альтернативной возможностью является использование статистической информации роботов для масштабирования модели (например, регуляризацией по Тихонову).
В следующем варианте осуществления шаг (d), на котором оценивают кинематические модели (M1, М2), дополнительно основан на статистической информации о, по меньшей мере, одной части цепи.
В следующем варианте осуществления статистическую информацию используют для оценки моделей (М1, М2) на основе информации датчиков, число которых превосходит количество подлежащих решению уравнений без статистической информации.
В еще одном предпочтительном варианте осуществления предлагаемый способ дополнительно включает шаг, на котором оценивают, достаточная ли информация датчиков, связанная с сочленениями каждого из, по меньшей мере, двух роботов, получена после шага (d), но до шага (е). Благодаря этому количество неизвестных не превосходит количества подлежащих решению уравнений.
Следующий предпочтительный вариант осуществления способа дополнительно включает шаг, на котором оценивают, достаточно ли данных о парах положений (<R1Q, R2Q>m) получено после шага (d), но до шага (е), и затем
- повторяют шаг (d), если получено недостаточно данных о парах положений (<R1Q, R2Q>m) для того, чтобы оценить кинематические модели, или
- выполняют шаг (е), если получено достаточно данных о парах положений (<R1Q, R2Q>m) для того, чтобы оценить кинематические модели.
В следующем варианте осуществления настоящего изобретения способ содержит шаг, на котором, собирают избыточную часть (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%.
В одном из вариантов осуществления способ дополнительно включает шаг, на котором сохраняют обновленные кинематические модели в устройстве хранения данных, которое может находиться в контроллере робота, функционально соединенном с роботом, или в другом устройстве.
В следующем варианте осуществления шаг (с), на котором воздействуют на, по меньшей мере, одно звено и/или сочленение, по меньшей мере, одного робота в цепи, выполняют, отключая, по меньшей мере, один из регуляторов положения сочленений одного из указанных двух роботов и позволяя вести его другому роботу.
В следующем варианте осуществления шаг (с), на котором воздействуют на, по меньшей мере, одно сочленение, по меньшей мере, одного робота в цепи, охватывая, по меньшей мере, часть полного рабочего пространства роботов, выполняют, отключая, по меньшей мере, один, например, все регуляторы положения сочленений каждого из указанных двух роботов, и изменяя положения сочленений за счет внешнего воздействия, например, вручную оператором.
В еще одном варианте осуществления шаг (с), на котором воздействуют на, по меньшей мере, одно сочленение, по меньшей мере, одного робота (R1, R2) в цепи, выполняют, отключая, по меньшей мере, один из регуляторов положения сочленений каждого из указанных двух роботов (R1, R2), и изменяют положение сочленений вручную.
В следующем варианте осуществления кинематические модели (M1, М2) определяют посредством параметров, задающих преобразования.
В следующем варианте осуществления параметры представляют собой два типа параметров Денавита-Хартенберга. Эти два типа параметров Денавита-Хартенберга могут быть представлены параметрами Шиллинга и параметрами параллельного варианта, соответственно.
В еще одном варианте осуществления настоящего изобретения способ дополнительно включает шаг, на котором регулируют силу, которую прилагают, по меньшей мере, два робота (R1, R2). В следующем варианте осуществления каждая из моделей (М1, М2) содержит преобразование каждого сочленения.
Как было упомянуто, кинематические модели, по меньшей мере, двух роботов предпочтительно определяются двумя типами параметров Денавита-Хартенберга. Эти два типа параметров Денавита-Хартенберга могут быть представлены параметрами Шиллинга, и вариацией, построенной для параллельной оси вращения, соответственно. Далее эта вариация называется параллельным параметром (DH). Выбранные представления с 4 параметрами обеспечивают и минимальный, и полный способ описания преобразования осей вращения. Однако могут также использоваться и другие представления.
В следующем варианте осуществления способ может дополнительно включать шаг, на котором регулируют силу, которую прилагают, по меньшей мере, два робота. Предпочтительно, каждая из моделей содержит преобразование каждого сочленения каждого из, по меньшей мере, двух роботов.
Раскрытый выше способ можно распространить на случай более чем двух роботов. Поэтому в следующем варианте осуществления способ дополнительно включает шаги, на которых соединяют N дополнительных роботов параллельно или последовательно с, по меньшей мере, двумя роботами, где N - натуральное число, и выполняют шаги предлагаемого способа для каждого из дополнительных N роботов.
В следующем варианте осуществления указанные, по меньшей мере, два робота (R1, R2) представляют собой два манипулятора одного робота. В следующем варианте осуществления, по меньшей мере, один из указанных манипуляторов может представлять собой шарнирно-сочлененный манипулятор робота. Далее, по меньшей мере, один из указанных манипуляторов может содержать призматическое сочленение. Указанный один робот содержит, по меньшей мере, один базовый фланец и, по меньшей мере, два инструментальных фланца, и в любом случае, больше инструментальных фланцев, чем базовых фланцев.
Для непосредственного использования рабочей программы от другого робота необходимо, чтобы пропорции обоих роботов были идентичны, и чтобы датчики положения были одинаково отрегулированы. Так как этого очень трудно достичь, может оказаться затруднительным продублировать программу между роботами. Поэтому следующей целью настоящего изобретения является предложение способа дублирования программы между - возможно, неоткалиброванными - роботами.
Эта и другие цели достигаются благодаря второму аспекту настоящего изобретения, относящемуся к способу преобразования рабочей программы первого робота R1 для второго робота R2, при этом каждый робот (R1, R2) содержит сочленения, соединяющие два фланца: базовый фланец и инструментальный фланец, включающему следующие шаги:
(a) замещают первый робот R1 вторым роботом R2,
(b) обеспечивают рабочую программу R1P, связанную с первым роботом R1,
(c) выбирают ряд положений или углов согласно рабочей программе R1P и переводят второй робот R2 в эти положения, обеспечивая тем самым набор <R1Q, R2Q> данных о парах положений или углов,
(d) оценивают кинематические модели (М1, М2) указанных, по меньшей мере, двух роботов, смещение (Tbase) базового фланца и смещение (Ttcp) центральной точки инструмента, используя набор <R1Q, R2Q> данных о парах положений, и затем
(e) выполняют преобразование рабочей программы на основе указанных оцененных кинематических моделей (М1, М2).
Часто возникает необходимость заменить один робот другим, новым. Однако вместо выполнения калибровки нового робота, углы сочленений «старого» робота могут использоваться как одна половина цепи в математической модели, а соответствующие углы «нового» робота - как вторая половина цепи. Этим, как было упомянуто выше в шаге (с), достигается получение набора данных о парах углов, используемых для того, чтобы обновить кинематические модели роботов.
Один из вариантов осуществления второго аспекта настоящего изобретения дополнительно включает шаг, на котором оценивают, может ли программа выполняться на втором роботе в надлежащим образом выбранных допусках.
Следующий вариант осуществления второго аспекта настоящего изобретения дополнительно включает шаг, на котором выбирают дополнительный ряд положений согласно рабочей программе R1P и переводят второй робот R2 в эти дополнительные положения, обеспечивая тем самым расширенный набор данных о парах положений, а затем выполняют шаги (d) и (е), используя этот расширенный набор данных о парах положений, если программа не может выполняться на втором роботе в надлежащим образом выбранных допусках.
Следующий вариант осуществления второго аспекта настоящего изобретения дополнительно включает шаги преобразования другой рабочей программы на основе оцененных кинематических моделей (М1, М2).
Следующий вариант осуществления второго аспекта настоящего изобретения дополнительно включает шаг (е) выполнения преобразования рабочей программы на основе указанных оцененных кинематических моделей, причем шаг включает следующие этапы:
- применяют прямую кинематическую задачу ко всем R1Q в R1P с оцененной кинематической моделью M1, связанной с первым роботом R1, получая программу R1K,
- применяют обратную кинематическую задачу к R1K с оцененной кинематической моделью М2 для второго робота R2, задавая тем самым положения R2Q, и затем
- заменяют R1Q в программе R1P соответствующим R2Q, задавая тем самым рабочую программу R2P, связанную со вторым роботом R2, и завершая этим преобразование программы.
В следующем варианте осуществления второго аспекта настоящего изобретения кинематические модели (М1, М2) определяют посредством параметров, задающих преобразования.
В следующем варианте осуществления второго аспекта настоящего изобретения кинематические модели (М1, М2) определяют тремя типами параметров Денавита-Хартенберга.
В следующем варианте осуществления способа согласно второму аспекту настоящего изобретения три типа параметров Денавита-Хартенберга представлены параметрами Шиллинга, параметрами параллельного варианта (DH) и параметрами вращения по осям Крена-Тангажа-Рыскания со смещением, далее обозначаемыми RPY (Roll-Pitch-Yaw).
В одном из вариантов осуществления способа согласно второму аспекту настоящего изобретения параметры RPY используют для модуляции последнего сочленения робота. Для модулирования полного вращения и перемещения могут также использоваться другие представления. Однако представление RPY представляет собой минимальное и полное представление 6 параметров для малых изменений вращения.
В следующем варианте осуществления второго аспекта настоящего изобретения кинематические модели (M1, М2) оценивают с использованием заранее заданных моделей в качестве начальной точки. Эти заранее заданные модели могут быть приближенными моделями, например, определенными с использованием статистической информации вышеупомянутого вида.
Краткое описание чертежей
Более глубокое понимание сущности и преимуществ настоящего изобретения может быть достигнуто обращением к оставшимся частям настоящего описания и чертежам. Далее подробнее объясняются предпочтительные варианты осуществления настоящего изобретения со ссылкой на чертежи, на которых:
ФИГ. 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 изображает блок-схему варианта осуществления способа выполнения преобразования программы одного из неоткалиброванных роботов для другого.
Осуществление изобретения
Настоящее изобретение будет теперь раскрыто более полно со ссылкой на сопроводительные чертежи, на которых представлены в качестве примеров варианты осуществления настоящего изобретения. Настоящее изобретение может, однако быть осуществлено в различных формах и не должно толковаться как ограниченное вариантами осуществления, предложенными в настоящем документе. Скорее, эти варианты осуществления приведены для того, чтобы данное описание было основательным и полным, позволяя специалистам вполне уяснить объем настоящего изобретения. Во всем тексте одни и те же ссылочные обозначения относятся к одним и тем же элементам. Поэтому аналогичные элементы не будут подробно объясняться в описании каждой фигуры.
Для моделирования роботов применяется классическая кинематика. Это позволяет переводить информацию от сочленений робота в декартову систему координат, для того чтобы сделать сочленения робота сравнимыми.
Представление
Используется следующее представление:
Tc(θ)r,
однородное преобразование вращения на угол (по часовой стрелке вокруг оси с, где с это x, y или z.
Tc(s)t,
однородное преобразование перемещения (трансляции) на расстояние s вдоль оси с, где с это x, y или z.
T j i ,
однородное преобразование от i к j.
Z j i ,
единичный вектор вдоль оси z для однородного преобразования от i к j.
P j i ,
положения от i к j.
Представление робота
Роботы моделируются двумя типами параметров Денавита-Хартенберга, (Denavit-Hartenberg, DH). В первом типе параметров DH используется представление Шиллинга (ср. R.J. Schilling. "Fundamentals of Robotics: Analysis and Control". (Основы робототехники. Анализ и управление.) Simon & Schuster Trade, 1st ed. 1996) для описания преобразования между двумя непараллельными осями z, так как в этом представлении возникает сингулярность, когда оси z параллельны (см. ниже уравнение 1).
Во втором типе используется параллельной вариант параметров DH, чтобы избежать этой сингулярности (см. ниже уравнение 2). В параллельном варианте DH используются те же принципы, что и в исходном DH, но в параллельном варианте сингулярность, возникает, когда параллельны первая ось у и следующая ось z. Сингулярность параметров DH Шиллинга определяется нормалью между первой и следующей осью z, так как расстояние до пересечения нормали с первой осью z используется как параметр, см. иллюстрацию на фиг. 1. Сингулярность параллельного варианта DH определяется аналогично представлению Шиллинга, но сингулярность смещена с использованием нормали между первой осью y и следующей осью z, см. фиг. 2.
Выб