СПОСОБ И СРЕДСТВО УПРАВЛЕНИЯ РОБОТОМ
METHOD AND DEVICE TO CONTROL ROBOT

Область техники, к которой относится изобретение
Настоящее изобретение, в общем, относится к области программируемых роботов, и, в частности, к способам программирования таких роботов.
Уровень техники
Потребители, покупающие промышленные роботы, обычно хотят иметь возможность управлять или манипулировать роботом и программировать робот относительно различных объектов и границ в окружении робота, таких как машины, детали или заготовки, крепления, транспортеры, стеллажи или системы наблюдения. Традиционно это делается посредством определения «фреймов» (систем координат), которые связывают внутреннюю систему координат робота (базовую систему координат) с системой координат соответствующего объекта. Отсчеты могут производиться как в «инструментальных координатах», так и в «базовых координатах» робота.
Недостатком подобных фреймов является то, что для определения таких систем координат требуется определенный уровень математических знаний, а также то, что выполнение этой задачи требует значительного времени даже от специалиста в области программирования и установки роботов. Часто эта задача требует расчета матриц 4×4. В частности, представление ориентации сложно для работника, не имеющего необходимого опыта в решении такой задачи.
Потребители часто задают такие, например, вопросы:
(i) «Можно ли будет отодвинуть робот на 4 см от патрона моего станка с числовым программным управлением (ЧПУ)?»
(ii) «Можно ли повернуть инструмент робота на 45 градусов относительно стола?»
(iii) «Сможем ли мы заставить робот переместиться вертикально вниз с объектом, выпустить объект и затем подняться назад вертикально вверх?»
Смысл таких и подобных им вопросов очень прост для среднего потребителя, который намерен использовать робот, например на различных рабочих местах производственного предприятия, и потребитель может испытать разочарование и недоумение, услышав, что на такие естественные вопросы может не быть простых ответов. Вот некоторые из причин, по которым трудно дать простые ответы на такие вопросы:
(i) Нет четкого определения того, как система координат станка с ЧПУ расположена и ориентирована относительно робота.
(ii) Не вполне определено, что понимается под данным поворотом, например, «45 градусов». Поворот может быть определен относительно некоторой оси вращения, а эта ось может быть ориентирована в пространстве в бесконечном числе направлений. И начальная точка поворота (соответствующая, например, 0 градусов) может располагаться в любом направлении в диапазоне 360 градусов.
(iii) Значение термина «вертикально» не вполне определено, так как зависит от положения робота. Так, этот термин может, например, означать «перпендикулярно к столу, на котором располагается объект, предназначенный для перемещения роботом».
В документе US 4744039 описана система управления роботом, включающим манипулятор, перемещаемый в плоскости согласно данным позиционирования, определенным в абсолютной системе координат, которая связана с плоскостью воздействия на деталь, расположенную произвольно в этой плоскости и снабженную линейным опорным рисунком. Манипулятор робота качается около заранее заданного места на плоскости в соответствии с программными данными позиционирования для определения положения детали. Датчик, установленный на манипуляторе, движется относительно плоскости вместе с манипулятором для обнаружения линейного опорного рисунка всякий раз, когда манипулятор пересекает этот линейный опорный рисунок в процессе колебательного движения манипулятора, и выдает соответствующий сигнал обнаружения. По этому сигналу обнаружения срабатывает считывающий контур для считывания данных положения, представляющих несколько точек пересечения линейным опорным рисунком заданного места в абсолютной системе координат, и процессор обрабатывает считанные данные положения для определения положения детали относительно плоскости.
Несколько вышеприведенных примеров показывают, что существует потребность в способе, с помощью которого пользователь может задать движение робота, не имея знаний о системах координат, матрицах вращения, матрицах преобразования и т.п. и используя свои собственные термины пользователя, которые оператору кажутся ясными и вполне определенными.
Раскрытие изобретения
Вышеупомянутые и другие задачи решаются и преимущества достигаются предложением программируемого робота, обладающего той уникальной особенностью, что он может программироваться ручным перемещением определенной части или точки Р на роботе, например, на манипуляторе робота (в частности, на той части манипулятора, к которой должен крепиться инструмент), в различные положения в окружении робота, соответствующие ближайшей конкретной задаче. Эта особенность очень существенна для возможности программирования робота пользователем, не являющимся специалистом, для выполнения даже очень сложных задач. Согласно настоящему изобретению эта особенность используется для того, чтобы позволить пользователю определять «геометрические признаки» или «геометрическую информацию», относящуюся к непосредственному окружению робота. Определение таких геометрических признаков может быть выполнено, например, так:
a) Перемещают точку Р на манипуляторе робота в первую точку А окружения и регистрируют пространственное положение этой точки, затем перемещают точку Р во вторую точку В окружения и регистрируют ее пространственное положение. Теперь эти две точки, А и В, т.е. их относительные пространственные положения, определяют ось АВ, и можно затем дать роботу команду переместить точку Р (например, захватное устройство) вдоль этой оси в направлении от А к В или от В к А.
b) Определяют ось, как описано выше, например на столе, и затем дают роботу команду повернуть точку Р вокруг этой оси.
c) Перемещают точку Р в три точки, например на столе, и таким образом определяют плоскость, проходящую через эти три точки. Затем дают роботу команду переместить точку Р по линии, перпендикулярной к этой плоскости, и, следовательно, к поверхности стола.
Геометрические признаки, определенные, как описано в вышеприведенных примерах, могут быть сохранены для последующего использования в запоминающем устройстве, включенном в робот или соединенном с роботом. Далее, согласно настоящему изобретению имеется возможность комбинировать геометрические признаки для определения более сложных геометрических признаков, которые, в свою очередь, могут быть использованы для создания еще более сложных геометрических признаков. Таким образом, согласно настоящему изобретению сам робот может быть использован для определения иерархии геометрических признаков, первый уровень которой включает простые базовые признаки, например линии и плоскости, а второй и более высокие уровни признаков включают, например, различные 3D-объекты в пространстве. Также возможно - и часто действительно необходимо - задавать ориентацию таких признаков, например, положительное направление на линии, положительное направление вращения вокруг оси, положительный нормальный вектор к плоскости и т.п.
Таким образом, согласно первому аспекту настоящего изобретения предлагается способ программирования робота, включающий следующие шаги: (i) используют часть или точку Р робота для определения одного или нескольких геометрических признаков относительно окружения робота, (ii) обозначают такие признаки соответственными именами или метками и сохраняют эти признаки в запоминающем устройстве для последующего извлечения и (iii) устанавливают связь между указанными геометрическими признаками и связанной с роботом системой координат, причем роботу затем может быть выдана команда выполнить перемещения заданных частей робота относительно указанного окружения посредством ссылки на указанные один или несколько геометрических признаков.
В одном из предпочтительных вариантов осуществления способа согласно настоящему изобретению вышеупомянутые геометрические признаки, определенные описанным перемещением робота, могут рассматриваться (а также маркироваться и запоминаться) в качестве «простых» или «низкоуровневых» признаков.
0
Согласно второму аспекту настоящего изобретения предлагается способ управления программируемым роботом, включающий следующие шаги: (i) помещают робот в заранее заданное положение Р в области рабочего места, причем в то заранее заданное положение, которое ранее использовалось для определения геометрических признаков, характеризующих перемещение точки Р на роботе и/или объекты окружения, относящиеся к выполняемой операции, и (ii) выдают роботу команду, относящуюся к его перемещениям в окружении, посредством ссылки на указанные геометрические признаки.
В одном из вариантов осуществления настоящего изобретения указанные геометрические признаки в процессе выдачи команды роботу извлекаются из запоминающего устройства робота или связанного с роботом. Согласно своей второй особенности настоящее изобретение относится к использованию робота для определения объектов в его окружении и одной или нескольких траекторий перемещения, по меньшей мере, одной заданной точки на роботе, а также для описания этих объектов и траекторий геометрическими признаками, которые запоминаются и затем используются при программировании робота для задания перемещения робота и соответствующих объектов в его окружении.
Согласно третьему аспекту настоящего изобретения предлагается программируемый робот, включающий средства определения геометрических признаков и, опционно, комбинирования таких признаков для определения более сложных геометрических признаков и для преобразования таких признаков в информацию, которая может быть использована системой управления роботом для управления перемещением робота.
В способе/роботе согласно настоящему изобретению предпочтительно применять те же датчики, которые использовались для управления сочленениями двигатели-робот при определении геометрических признаков. Альтернативно, для определения геометрических признаков могут использоваться один или несколько специализированных датчиков.
0
Резюмируем: в первом аспекте настоящее изобретение относится к способу программирования робота, включающему следующие шаги: помещают робот в некоторое заданное положение Р в окружении робота, используют часть или точку Р робота для определения одного или нескольких геометрических признаков, относящихся к объектам в окружении робота, и устанавливают связь между указанными геометрическими признаками и первыми координатами связанной с роботом системы координат, причем роботу затем может быть выдана команда выполнить перемещения заданных частей робота относительно указанного окружения посредством ссылки на указанные один или несколько геометрических признаков.
В одном из вариантов осуществления настоящего изобретения робот включает шарнирный манипулятор, при этом указанная часть или точка Р расположена на шарнирном манипуляторе. В другом варианте осуществления робот включает одно звено или несколько звеньев, которые могут перемещаться поступательно.
В одном из вариантов осуществления настоящего изобретения упомянутые первые координаты преобразуются во вторые координаты системы координат, связанной с окружением, в которое помещен робот.
В одном из вариантов осуществления настоящего изобретения предлагаемый способ включает следующие шаги:
(i) определяют несколько точек в окружении робота с помощью шарнирного манипулятора робота, при этом каждой из упомянутых нескольких точек робот автоматически приписывает координаты;
(ii) обозначают каждую из упомянутых точек - и набор соответственно приписанных ей координат - именем или меткой, характеризующей эту точку, и запоминают каждую точку, т.е. соответствующие координаты и имя или метку, в качестве низкоуровневого признака в записи в запоминающем устройстве так, что упомянутые низкоуровневые признаки могут быть впоследствии извлечены из запоминающего устройства.
В одном из вариантов осуществления настоящего изобретения на шаге (i) предлагаемого способа упомянутые два или несколько из упомянутых сохраненных низкоуровневых геометрических признаков извлекают из упомянутого запоминающего устройства и, по меньшей мере, два из упомянутых низкоуровневых геометрических признаков комбинируют для формирования геометрических признаков более высокого уровня, причем такие признаки характеризуются соответственными координатами соответствующих низкоуровневых признаков; после этого первого шага каждый из определенных таким образом геометрических признаков более высокого уровня на втором шаге (ii) обозначают именем или меткой, характеризующими признак, после чего следует шаг (iii), на котором запоминают каждый из соответствующих геометрических признаков более высокого уровня, т.е. соответствующий набор координат и соответствующее имя или метку в записи в запоминающем устройстве так, что эти геометрические признаки более высокого уровня могут быть впоследствии извлечены из запоминающего устройства.
В одном из вариантов осуществления способа согласно настоящему изобретению сохраненные геометрические признаки могут быть извлечены из запоминающего устройства и использованы для формирования представления робота и его окружения, например, представления пользовательского интерфейса, включающего графическое изображение траектории перемещения точки Р на роботе сквозь окружение и изображение объектов окружения.
В одном из вариантов осуществления способа согласно настоящему изобретению сохраненные геометрические признаки могут быть извлечены из запоминающего устройства и модифицированы преобразованием координат, представляющих различные извлеченные геометрические признаки, причем могут быть модифицированы, например траектория перемещения точки Р на роботе и геометрические характеристики - например размер, форма, ориентация - объектов, представленных сохраненными геометрическими признаками.
Во втором аспекте настоящее изобретение относится к способу управления роботом, включающему следующие шаги:
0
(i) помещают робот в заранее заданное положение Р в области рабочего места, причем в то заранее заданное положение, которое ранее использовалось для определения геометрических признаков, характеризующих перемещение точки Р на роботе и/или объекты окружения, относящиеся к выполняемой операции, и
(ii) выдают роботу команду, относящуюся к его перемещениям в окружении, посредством ссылки на указанные геометрические признаки.
В одном из вариантов осуществления предлагаемого способа управления указанные геометрические признаки в процессе выдачи команды роботу извлекают из запоминающего устройства, включенного в робот или связанного с роботом.
В третьем аспекте изобретение относится к программируемому роботу, оснащенному средствами реализации способа согласно настоящему изобретению, описанного выше, причем робот включает сенсорные средства определения геометрических признаков для использования в процессе программирования робота и для последующего управления роботом в процессе его работы.
В одном из предпочтительных вариантов осуществления робота согласно настоящему изобретению упомянутые сенсорные средства включают датчики, которые используются для управления двигателями/сочленениями робота.
В одном из специальных вариантов осуществления настоящего изобретения программируемый робот включает основание, несколько звеньев манипулятора, причем два соседних звена манипулятора соединены шарниром, и сенсорные средства, которыми соответственно снабжен каждый шарнир, чтобы чувствовать вращение соответствующего шарнира; кроме того, робот включает - или включен в - цепь передачи данных, содержащую средства определения и именования геометрических признаков на основе сигналов упомянутых сенсорных средств, а кроме того, робот включает - или включен в - цепь передачи данных, содержащую запоминающее устройство для сохранения соответствующих геометрических признаков, например, в записях данных, включающих один или несколько наборов координат, характеризующих соответствующие геометрические признаки, и сопряженное имя или метку, обозначающую соответствующий геометрический признак.
Кроме того, робот оснащен системой управления, способной на основе геометрических признаков, извлеченных из упомянутого запоминающего устройства, управлять перемещением робота посредством выдачи управляющих сигналов средствам привода упомянутых шарниров робота.
В одном из вариантов осуществления настоящего изобретения робот, кроме того, включает - или включен в - цепь передачи данных, связанную с пользовательским интерфейсом, оснащенным монитором, на который могут быть выведены, по меньшей мере, упомянутые геометрические признаки.
В четвертом аспекте изобретение относится к применению робота для определения объектов в его окружении и одной или нескольких траекторий перемещения, по меньшей мере, одной заданной точки робота, а также для описания этих объектов и траекторий геометрическими признаками, которые запоминаются и впоследствии используются при программировании робота для задания перемещения робота и соответствующих объектов в его окружении.
Краткое описание графических материалов
Для того, чтобы можно было лучше понять настоящее изобретение, ниже будет подробно описан один вариант его осуществления со ссылками на сопроводительные чертежи, на которых представлены:
на ФИГ.1 дано схематическое изображение программируемого робота согласно настоящему изобретению и представлены основные функциональные блоки, используемые в процессах определения геометрических признаков, программирования робота и управления роботом в ходе его реальной эксплуатации.
Осуществление изобретения
Ниже будет дано подробное описание конкретного варианта осуществления настоящего изобретения, включающего робот с кодирующими устройствами на двигателе каждого шарнира, причем робот может быть обучен занимать определенное положение ручным перемещением выбранной части робота, например, узла крепления инструмента, или толчковым переводом робота в другие положения. Робот использует свои кодирующие устройства шарниров для измерения углов шарниров в различных положениях, и управляющее программное обеспечение использует кинематическую модель робота для преобразования этих углов шарниров в позицию. Затем робот может быть запрограммирован на последовательное перемещение между этими позициями, причем для достижения запрограммированных позиций робот использует те же самые кодирующие устройства, которые использовались при замере этих позиций.
Обратимся к ФИГ.1, на ней представлено схематическое изображение программируемого робота согласно одному из вариантов осуществления изобретения и показаны основные функциональные блоки, используемые в процессах определения геометрических признаков, программирования робота и управления роботом в ходе его реальной эксплуатации.
На ФИГ.1 изображен робот 1, помещенный в начало трехмерной системы координат, используемой для определения окружения и перемещения точки Р на роботе (например, точки робота, в которой расположен инструмент) относительно окружения. В изображенном примере робот включает основание 2, звенья 3, 4, 5 манипулятора и шарниры 6. 7, 8, соединяющие смежные звенья манипулятора. Инструмент (не показан) может быть прикреплен к конечному звену 9 робота. В окружении робота показаны для примера стол 10 и контейнер 11.
Функциональные блоки и линии связи, показанные между парами функциональных блоков и между функциональными блоками и элементами робота 1, описывают лишь один из вариантов осуществления изобретения, так что общая архитектура системы программирования и управления на практике может быть реализована иначе. Кроме того, такие функциональные особенности, как наименование геометрических признаков (ссылочные позиции 20, 21 и 22), показаны как отдельные функциональные блоки, но они могут также быть встроены в блок 24 системы управления или в блок пользовательского интерфейса 25. При практической реализации различные программные функции, соответствующие отдельным функциональным блокам, показанным на ФИГ. 1, вероятно будут встроены в одну общую программную функцию, включающую также запоминающее устройство, обозначенное как блок 23 на ФИГ. 1, хотя, разумеется, может быть использовано и отдельное запоминающее устройство.
Вариант осуществления, показанный на ФИГ. 1, включает робот 1, состав которого описан выше. Соответствующие шарниры 6. 7, 8 включают отдельные приводные двигатели и датчики, используемые для отслеживания вращения шарнира, т.е. угла между смежными звеньями манипулятора, соединенными конкретным шарниром. Эти датчики (которые на чертеже не показаны) могут служить двум целям: управления роботом и выдачи информации от робота средствам 16 преобразования, преобразующим координаты робота в координаты, используемые в окружении, например, в трехмерные координаты, с помощью которых могут быть заданы точка, линия или плоскость. Эта двойная функция датчиков изображена линиями с двумя стрелками 12, 13, 14, 15, соединяющими робот со средствами 16 преобразования координат.
Геометрический признак - Точка А - может быть определен перемещением точки Р на роботе в Точку А окружения, которая в данном примере соответствует одному из углов стола 10. Когда робот смонтирован в конкретном месте окружения - в показанном примере это начало трехмерной системы координат - позиционирование точки Р на роботе в точке А приводит к тому, что датчики робота регистрируют определенные значения в системе координат робота, и эти координаты робота преобразуются в трехмерные координаты средствами 16 преобразования. Заданные трехмерные координаты Точки А по линии 39 передаются в функциональный блок 17, где определяется низкоуровневый геометрический признак «Точка А», с которым функция наименования 20 связывает соответствующее имя или метку. Как показано линией 32, этот низкоуровневый признак может быть сохранен в запоминающем устройстве 23 в виде записи, включающей его имя и координаты. Следует заметить, что если положение и ориентация робота относительно окружения известны априори, то можно просто сохранить координаты робота вместе с именем признака в запоминающем устройстве и, таким образом, обойтись без средств 16 преобразования координат.
Далее на ФИГ. 1 показано подразделение геометрических признаков на два уровня, на признаки среднего и высокого уровня, но следует понимать, что могут также быть использованы альтернативные подразделения. Возможно также и совсем отказаться от подразделения геометрических признаков - без отступления от основных идей настоящего изобретения. Каждому из признаков низкого, среднего и высокого уровня могут быть даны имена, как это показано функциональными блоками 20, 21 и 22, и признаки могут быть сохранены в соответствующих записях в запоминающем устройстве 23.
Кроме того, робот оснащен системой управления 24, которая управляет роботом (как схематически обозначено линией 27) и взаимодействует с пользовательским интерфейсом 25. По линии 26 система управления 24 может извлекать данные из запоминающего устройства 23 и загружать данные в него. Хотя это не показано на ФИГ.1, система управления может взаимодействовать с другими функциональными блоками, и при практической реализации некоторые из них - или все - могут в действительности входить составной частью в систему управления.
Реально в процессе эксплуатации робота могут определяться и использоваться различные уровни геометрических признаков:
А,
A,
A
A,
А,
а
(a) Простые (низкоуровневые) геометрические признаки, включающие просто точки (А, В, С, …) в пространстве, обозначенные с помощью перемещения точки Р на роботе в указанную точку в пространстве. Эти точки соответственно маркируются метками (например: А, В, С, …), или именами (например: «точка захвата», «промежуточная остановка», «точка приемника», …), или, возможно, координатами точек ((Х Y Z) или (R θ Ф), …). Отмаркированные точки могут быть затем сохранены в запоминающем устройстве, включенном в робот или соединенном с роботом.
(b) Более сложные геометрические признаки (среднего уровня), определяемые либо с использованием самого робота, либо с помощью ранее сохраненных геометрических признаков; эти более сложные геометрические признаки определяют, например, прямую линию в пространстве с помощью перемещения точки Р на роботе из одной точки А на этой линии в другую точку В на этой линии, с последующим присвоением определенной таким образом линии АВ соответствующего имени и сохранением этой определенной линии АВ в запоминающем устройстве, как описано выше. Таким образом может быть определена линия конечной длины АВ, но возможно также определить полубесконечную или бесконечную линии (от А до ∞, от - ∞ до А или от - ∞ до + ∞), рассматривая АВ как вектор на указанной линии. Таким образом могут быть также определены и другие сравнительно простые геометрические признаки, например плоскость (конечной или бесконечной протяженности).
(с) Еще более сложные геометрические признаки (высокого уровня); при желании сохраненные низкоуровневые геометрические признаки могут быть извлечены из памяти и использованы для определения сложных геометрических признаков (высокоуровневых признаков) или некоторой комбинации таких сохраненных ранее признаков низкого и/или высокого уровня, и новозамеренные признаки могут быть использованы для определения указанных сложных признаков, с последующим формированием определенного высокоуровневого признака с именем и сохранением этих признаков в запоминающем устройстве, включенном в робот или соединенном с роботом. Так, например, ящик (представляющий, к примеру, контейнер для определенных изделий в поточной линии) может быть определен с использованием пяти ранее определенных и сохраненных плоскостей.
Базовое программное обеспечение, используемое в роботе или связанное с роботом согласно настоящему изобретению, по меньшей мере, включает:
программное обеспечение, способное связывать имена с сохраненными позициями;
программное обеспечение, способное строить признаки из этих поименованных позиций. Две позиции определяют линию или вектор. Три позиции могут образовать плоскость;
программное обеспечение, способное после получения соответствующей команды от пользователя переместить робот относительно этих геометрических признаков.
В качестве примера рассмотрим стол 10. Робот (например, точка Р на роботе) может быть перемещен к одному углу стола, в позицию «А», координаты которой регистрируются роботом и затем именуются пользователем. После этого Р перемещают к следующему углу стола, эта позиция обозначается «В». Теперь можно составить геометрический признак среднего уровня - вектор АВ, который может быть назван «короткая сторона». Программное обеспечение робота согласно настоящему изобретению обеспечивает теперь больше возможностей для управления роботом. Оператор может теперь дать роботу команду переместиться, например, на 20 мм вдоль «короткой_стороны» стола, или «проталкивать» робот относительно этого вектора, выбрав признак «короткая_сторона» на пользовательском интерфейсе, например, на интерфейсе пульта обучения с толчковым режимом работы.
Аналогично, точка Р на роботе может быть помещена у третьего угла стола, этот угол может быть отмаркирован «С», и затем может быть определен признак среднего уровня «длинная_сторона», определяемый вектором АС. Теперь программное обеспечение робота согласно настоящему изобретению позволяет оператору определить плоскость, которая в данном примере может рассматриваться как геометрический признак высокого уровня, эта плоскость задается точками «АВС». Плоскость ABC может, например, быть названа «плоскость_стола».
На пульте пользовательского интерфейса (с толчковым режимом работы) теперь имеется несколько возможностей перемещения робота. Пользователь может выбрать «короткую_сторону», «длинную_сторону» или «плоскость_стола». Если выбрана «плоскость_стола», то появляется возможность переместить робот, например, на 2 мм по направлению к столу или может быть выбрано перемещение робота к ближайшей позиции точно в 30 мм от плоскости стола, например, как обозначено точками D и Е на ФИГ.1. Роботу может быть также дана команда переместить инструмент на роботе из точки Е в плоскости, параллельной плоскости стола, в точку F непосредственно над контейнером 11, например, в ходе перегрузочной операции.
Этот вид программирования имеет две уникальные особенности:
- программирующему/оператору нет необходимости знать что-либо о матрицах 4×4 или других типах позиционных преобразований, которые часто требуются для программирования робота;
- кодирующие устройства, используемые для измерения позиций, могут использоваться и, предпочтительно, используются также и для перемещения робота. Это устраняет необходимость калибровочного сопоставления пространства признаков и рабочего пространства робота.