[go: up one dir, main page]

RU2814357C2 - Распределение движений в роботизированных системах - Google Patents

Распределение движений в роботизированных системах Download PDF

Info

Publication number
RU2814357C2
RU2814357C2 RU2021126582A RU2021126582A RU2814357C2 RU 2814357 C2 RU2814357 C2 RU 2814357C2 RU 2021126582 A RU2021126582 A RU 2021126582A RU 2021126582 A RU2021126582 A RU 2021126582A RU 2814357 C2 RU2814357 C2 RU 2814357C2
Authority
RU
Russia
Prior art keywords
manipulator
manipulators
rotation
axis
tool
Prior art date
Application number
RU2021126582A
Other languages
English (en)
Other versions
RU2021126582A (ru
Inventor
Мохаммад КЕШМИРИ
Васим КХАН
Корхан ТУРКЕР
Original Assignee
Хайпертерм, Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Хайпертерм, Инк. filed Critical Хайпертерм, Инк.
Publication of RU2021126582A publication Critical patent/RU2021126582A/ru
Application granted granted Critical
Publication of RU2814357C2 publication Critical patent/RU2814357C2/ru

Links

Abstract

Группа изобретений относится к области робототехники и может быть использована для регулируемого распределения движений между двумя манипуляторами, осуществляющими совместную обработку детали, причем один из манипуляторов удерживает инструмент, а другой манипулятор удерживает деталь, которая обрабатывается этим инструментом. Предложены способы для такого распределения движений, соответствующая компьютерная система и машиночитаемое устройство хранения данных для этой системы. Способ включает в себя прием посредством вычислительного устройства данных для манипуляторов и данных технологического процесса, который должен выполняться посредством инструмента. При этом данные для одного из манипуляторов содержат весовой коэффициент, регулируемый пользователем таким образом, чтобы указывать, по меньшей мере, процентную долю от движения для соответствующего манипулятора. Способ также включает формирование функции относительной трансформации для задания пути технологического процесса и распределения движений между первым и вторым манипуляторами, чтобы завершать путь технологического процесса на основе по меньшей одного весового коэффициента. После чего манипуляторы приводятся в действие в соответствии с вычисленными движениями. Использование изобретений позволяет более рационально осуществлять движения сочленений манипуляторов и более эффективно производить обработку детали. 4 н. и 31 з.п. ф-лы, 29 ил.

Description

Область техники
Настоящее изобретение, в целом, относится к реализуемым компьютером системам и способам для регулируемого распределения совместного движения между роботизированными манипуляторами в производственной технологической системе.
Уровень техники
Планирование роботизированных путей используется во множестве отраслей промышленности для того, повышать производительность. Например, в производственном технологическом оборудовании, роботизированная система может использоваться для того, чтобы автоматизировать обработку (например, нагрев, резку, выдалбливание и маркировку) обрабатываемых деталей посредством одной или более горелок для термической обработки (например, плазменных дуговых горелок) или режущих инструментов. В частности, производственные помещения могут включать в себя компьютерный числовой контроллер (CNC), используемый оператором для того, чтобы вводить информацию, указывающую различные рабочие параметры. CNC может поддерживать электрическую связь с одним или более роботов либо с комбинацией отдельных осей (например, рельсов и вращательных элементов) производственного технологического оборудования, которые далее, в общем, называются "манипуляторами". В общем, робот-манипулятор имеет шесть степеней свободы с точки зрения перемещения, тогда как рельсовый или вращательный манипулятор имеет одну степень свободы.
В примерной компоновке, один манипулятор может программироваться через CNC, чтобы выполнять операцию обработки для обрабатываемой детали, которая расположена на земле или на приспособлении. В этом случае, манипулятор переносит оснащение на своих концевых рабочих органах с инструментом, смонтированным на оснащении. Сочленения манипулятора могут приводиться в действие посредством CNC таким образом, что инструмент придерживается запланированного пути относительно стационарной обрабатываемой детали. Если обработка является сложной, манипулятор, удерживающий инструмент, возможно, должен работать вокруг обрабатываемой детали, либо если обрабатываемая деталь является большой, манипулятор, возможно, должен работать близко к своим границам рабочего пространства. Таким образом, в производственной технологической среде, компоновка более чем с одним манипулятором обычно используется для того, чтобы выполнять сложные и/или крупномасштабные задачи. В таких крупномасштабных системах, один манипулятор может быть выполнен с возможностью удерживать обрабатываемую деталь (далее называется "удерживающим манипулятором), и другой манипулятор может быть выполнен с возможностью удерживать инструмент, чтобы обрабатывать обрабатываемую деталь (далее называется "рабочим манипулятором"). CNC может поддерживать электрическую связь с удерживающим и рабочим манипуляторами, чтобы автоматизировать обработку обрабатываемой детали посредством инструмента вдоль запланированного пути. Тем не менее, непростым является разрешение избыточностей движения между двумя манипуляторами, которые могут возникать, когда манипулятор имеет больше степеней свободы, чем требуется для того, чтобы выполнять данную задачу. В частности, данная задача может иметь шесть степеней свободы в пространстве, которые включают в себя три линейных и три вращательных свободы. Тем не менее, когда технологическая система включает в себя два или более манипуляторов, предусмотрено более шести степеней свободы. Следовательно, предусмотрено более одного способа выполнять данную задачу в некоторых или всех степенях свободы задачи. Например, если задача монтируется на рельсовом манипуляторе, который предоставляет линейную степень свободы, и задача обрабатывается посредством робота-манипулятора, который имеет шесть степеней свободы, задача может завершаться более чем одним способом в направлении степени свободы, которую предоставляет рельсовый манипулятор. Эта дополнительная степень свободы называется "избыточностью системы". В качестве другого примера, система включает в себя два робота-манипулятора, причем один из них удерживает обрабатываемую деталь, а другой удерживает инструмент, чтобы обрабатывать обрабатываемую деталь. Поскольку каждый робот-манипулятор предлагает шесть степеней свободы системе, система имеет двенадцать степеней свободы и шесть степеней избыточности в пространстве для выполнения задач.
Следовательно, введение удерживающего манипулятора в дополнение к рабочему манипулятору генерирует избыточность движения в некоторых или всех степенях свободы пространства для выполнения задач. В качестве примера, обрабатываемая деталь может монтироваться на удерживающем манипуляторе, содержащем рельс, причем удерживающий манипулятор выполнен с возможностью перемещаться вдоль оси X рамки пользователя, которая представляет собой рамку, относительно которой проводятся все измерения в пространстве для выполнения задач. Рабочий манипулятор также может перемещать инструмент вдоль оси X рамки пользователя. Следовательно, любая часть запланированного пути, который первоначально требует от рабочего манипулятора перемещаться в направлении по оси X, теперь также и/или вместо этого может осуществляться посредством перемещения удерживающего манипулятора в направлении по оси X, противоположном по отношению к направлению для рабочего манипулятора. Таким образом, движения вдоль оси X, чтобы завершать запланированный путь, могут завершаться посредством только удерживающего манипулятора, только рабочего манипулятора либо как рабочего, так и удерживающего манипулятора совместно. В качестве другого примера, вместо того, что удерживающий манипулятор представляет собой рельс, он представляет собой робот. Такая компоновка создает избыточность во всех шести степенях свободы пространства для выполнения задач. Эта избыточность может использоваться для того, чтобы уменьшать/оптимизировать некоторые критерии, такие как ход сочленений манипулятора, регистрирующее скручивание робота, риск столкновения и т.д.
Предпринимаются некоторые усилия для разрешения задача обработки избыточных степеней свободы в роботизированной системе. Тем не менее, текущие подходы и технологии имеют несколько недоработок и недостатков. В настоящее время, движение для избыточных степеней свободы типично определяется с использованием задачи непрерывной оптимизации, в которой предпринимается попытка минимизации функции затрат (например, движения сочленений). Эта технология может быть всеобъемлющей за счет включения ограничений в отношении столкновений в среде и нахождения решения на основе минимального времени. Тем не менее, такие технологии имеют подвержены необходимости соблюдения локальных минимумов и представляют собой решаемые за полиномиальное время на недетерминированной машине трудные (NP) задачи, для которых время для того, чтобы генерировать решение, не является надежным и зачастую является достаточно длительным. Использование процессора для решения этой NP-трудной задачи может быть интенсивным. Кроме того, эти технологии большей частью являются академическими и не принимают во внимание практические потребности и/или желания конечных пользователей в реальной производственной среде.
Сущность изобретения
Настоящее изобретение содержит системы и способы для распределения операции обработки, к такой как плазменная дуговая резка, окрашивание, нанесение покрытия распылением, клепание и т.д., между двумя манипуляторами на основе пользовательских вводов. В частности, системы и способы настоящего изобретения разрешают избыточную компоновку выполнения задач между парой манипуляторов за счет распределения движений между ними и потенциального улучшения движений сочленений манипуляторов.
Настоящее изобретение, в одном аспекте, содержит реализуемый компьютером способ для регулируемого распределения совместного движения между первым манипулятором и вторым манипулятором в производственной технологической системе. Реализуемый компьютером способ включает в себя прием, посредством вычислительного устройства, данных для первого манипулятора, выполненного с возможностью удерживать инструмент, данных для второго манипулятора, выполненного с возможностью удерживать обрабатываемую деталь, и данных технологического процесса, задающих технологический процесс, который должен выполняться посредством инструмента для, по меньшей мере, части обрабатываемой детали. Данные для, по меньшей мере, одного из первого или второго манипулятора содержат весовой коэффициент, регулируемый пользователем таким образом, чтобы указывать, по меньшей мере, процентную долю от движения для соответствующего манипулятора. Способ включает в себя вычисление, посредством вычислительного устройства, первой точки и следующей точки пути технологического процесса посредством инструмента по обрабатываемой детали с использованием данных технологического процесса. Способ также включает в себя формирование, посредством вычислительного устройства, функции относительной трансформации для задания пути технологического процесса от первой точки к следующей точке. Способ дополнительно включает в себя распределение, посредством вычислительного устройства, движений между первым и вторым манипуляторами, чтобы завершать путь технологического процесса на основе, по меньшей мере, одного весового коэффициента.
В другом аспекте, изобретение содержит реализуемый компьютером способ для регулируемого распределения совместного движения между первым манипулятором и вторым манипулятором в производственной технологической системе. Реализуемый компьютером способ содержит прием, посредством вычислительного устройства, данных для первого манипулятора, выполненного с возможностью удерживать инструмент, данных для второго манипулятора, выполненного с возможностью удерживать обрабатываемую деталь, и данных технологического процесса, задающих технологический процесс, который должен выполняться посредством инструмента для, по меньшей мере, части обрабатываемой детали. Данные для, по меньшей мере, одного из первого или второго манипулятора содержат весовой коэффициент, регулируемый пользователем таким образом, чтобы указывать, по меньшей мере, одну процентную долю от движения, которое должно выполняться посредством соответствующего манипулятора. Способ включает в себя вычисление, посредством вычислительного устройства, первой точки и следующей точки пути технологического процесса посредством инструмента по обрабатываемой детали с использованием данных технологического процесса и формирование, посредством вычислительного устройства, функции относительной трансформации для задания пути технологического процесса от первой точки к следующей точке. Функция относительной трансформации содержит часть перемещения в пространстве и часть вращения. Способ также включает в себя распределение, посредством вычислительного устройства, части перемещения в пространстве функции относительной трансформации между первым и вторым манипуляторами на основе весового коэффициента, чтобы генерировать распределенные движения с перемещением в пространстве для первого и второго манипуляторов. Способ дополнительно включает в себя распределение, посредством вычислительного устройства, вращательной части функции относительной трансформации между первым и вторым манипуляторами на основе весового коэффициента, чтобы генерировать распределенные движения с вращением для первого и второго манипуляторов.
В еще одном аспекте, изобретение содержит компьютерную систему, выполненную с возможностью обеспечивать возможность пользователю регулируемо распределять совместное движение между первым манипулятором и вторым манипулятором в производственной технологической системе. Компьютерная система содержит пользовательский интерфейс для графики и соединения для передачи данных, выполненный с возможностью принимать от пользователя (i) данные для первого манипулятора, выполненного с возможностью удерживать инструмент, (ii) данные для второго манипулятора, выполненного с возможностью удерживать обрабатываемую деталь, и (iii) данные технологического процесса, задающие технологический процесс, который должен выполняться посредством инструмента для, по меньшей мере, части обрабатываемой детали. Данные для, по меньшей мере, одного из первого или второго манипулятора содержат весовой коэффициент, регулируемый пользователем из интерфейса таким образом, чтобы указывать, по меньшей мере, процентную долю от движения для соответствующего манипулятора. Компьютерная система также включает в себя модуль вычисления, выполненный с возможностью (i) вычислять первую точку и следующую точку пути технологического процесса посредством инструмента по обрабатываемой детали с использованием данных технологического процесса, (ii) генерировать функцию относительной трансформации для задания пути технологического процесса от первой точки к следующей точке и (iii) распределять движения между первым и вторым манипуляторами, чтобы завершать путь технологического процесса на основе, по меньшей мере, одного весового коэффициента. Компьютерная система дополнительно включает в себя модуль отображения, выполненный с возможностью графически иллюстрировать распределенные движения для соответствующих первого и второго манипуляторов для визуализации обработки обрабатываемой детали, удерживаемой посредством второго манипулятора, посредством инструмента, удерживаемого посредством первого манипулятора.
В еще одном аспекте, настоящее изобретение содержит компьютерный программный продукт, материально осуществленный в энергонезависимом машиночитаемом устройстве хранения данных для регулируемого распределения совместного движения между первым манипулятором и вторым манипулятором в производственной технологической системе. Компьютерный программный продукт включает в себя инструкции, выполненные с возможностью инструктировать вычислительному устройству принимать данные для первого манипулятора, выполненного с возможностью удерживать инструмент, данные для второго манипулятора, выполненного с возможностью удерживать обрабатываемую деталь, и данные технологического процесса, задающие технологический процесс, который должен выполняться посредством инструмента для, по меньшей мере, части обрабатываемой детали. Данные для, по меньшей мере, одного из первого или второго манипулятора содержат весовой коэффициент, регулируемый пользователем таким образом, чтобы указывать, по меньшей мере, процентную долю от движения для соответствующего манипулятора. Компьютерный программный продукт также включает в себя инструкции, выполненные с возможностью инструктировать вычислительному устройству вычислять первую точку и следующую точку пути технологического процесса посредством инструмента по обрабатываемой детали с использованием данных технологического процесса и генерировать функцию относительной трансформации для задания пути технологического процесса от первой точки к следующей точке. Компьютерный программный продукт дополнительно включает в себя инструкции, выполненные с возможностью инструктировать вычислительному устройству распределять движения между первым и вторым манипуляторами, чтобы завершать путь технологического процесса на основе, по меньшей мере, одного весового коэффициента.
Любой из вышеприведенных аспектов может включать в себя один или более следующих признаков. В некоторых вариантах осуществления, первый и второй манипуляторы приводятся в действие в соответствии с вычисленными движениями для соответствующих манипуляторов.
В некоторых вариантах осуществления, функция относительной трансформации содержит, по меньшей мере, одну из части перемещения в пространстве и части вращения, которые задают путь технологического процесса. В некоторых вариантах осуществления, распределение движений между первым и вторым манипуляторами содержит распределение каждой части перемещения в пространстве и части вращения между первым и вторым манипуляторами в соответствии с весовым коэффициентом.
В некоторых вариантах осуществления, распределение части перемещения в пространстве между первым и вторым манипуляторами содержит (i) задание вектора весовых коэффициентов на основе весового коэффициента, причем вектор весовых коэффициентов представляет относительное движение в каждом из направлений по оси X, Y и Z для манипулятора, соответствующего весовому коэффициенту, (ii) поэлементное умножение вектора весовых коэффициентов на часть перемещения в пространстве, чтобы генерировать распределенное движение с перемещением в пространстве для соответствующего манипулятора, и (iii) формирование распределенного движения с перемещением в пространстве для другого манипулятора на основе распределенного движения с перемещением в пространстве для соответствующего манипулятора.
В некоторых вариантах осуществления, весовой коэффициент включает в себя один весовой коэффициент для управления полным вращением для манипулятора, соответствующего весовому коэффициенту. В некоторых вариантах осуществления, распределение части вращения между первым и вторым манипуляторами содержит (i) формирование матрицы вращения на основе одного весового коэффициента, (ii) преобразование матрицы вращения в инвариантный вектор, который представляется посредством вектора вращения и угла вращения, и (iii) распределение угла вращения между первым и вторым манипуляторами на основе одного весового коэффициента, чтобы генерировать распределенные движения с вращением для первого и второго манипуляторов.
В некоторых вариантах осуществления, весовой коэффициент содержит несколько весовых коэффициентов для управления вращением в нескольких осях для манипулятора, соответствующего весовому коэффициенту. Несколько осей могут включать в себя выбираемую пользователем главную ось, ось инструмента и третью ось, нормальную по отношению к главной оси и оси инструмента. В некоторых вариантах осуществления, распределение части вращения между первым и вторым манипуляторами содержит (i) определение главной оси, оси инструмента и третьей оси, которая является нормальной по отношению к главной оси и к оси инструмента, и (ii) для каждой из главной оси, оси инструмента и третьей оси, вычисление распределенных движений с вращением между первым и вторым манипуляторами на основе весового коэффициента, соответствующего надлежащей оси.
В некоторых вариантах осуществления, весовой коэффициент содержит множество выбираемых пользователем процентных долей для управления распределениями для перемещения в пространстве и вращения вдоль пути технологического процесса. В некоторых вариантах осуществления, множество процентных долей содержат три процентных доли для управления соответствующими распределениями по перемещению в пространстве вдоль осей X, Y и Z. Альтернативно, множество процентных долей содержат одну процентную долю для управления распределениями по перемещению в пространстве вдоль осей X, Y и Z. В некоторых вариантах осуществления, множество процентных долей содержат три процентных доли для управления соответствующими распределениями по вращению вдоль выбираемой пользователем главной оси, оси инструмента и третьей оси, нормальной по отношению к главной оси и оси инструмента. Альтернативно, множество процентных долей содержат одну процентную долю для управления распределениями по вращению вдоль всех трех из выбираемой пользователем главной оси, оси инструмента и третьей оси, нормальной по отношению к главной оси и оси инструмента. В некоторых вариантах осуществления, весовой коэффициент содержит одну выбираемую пользователем процентную долю для управления распределениями для перемещения в пространстве и вращения вдоль пути технологического процесса.
В некоторых вариантах осуществления, вычисленные движения для первого и второго манипуляторов обеспечивают минимальные перемещения инструмента и обрабатываемой детали в пространстве для выполнения задач. В некоторых вариантах осуществления, распределенные движения с перемещением в пространстве и вращением для соответствующих первого и второго манипуляторов отображаются, чтобы визуализировать обработку обрабатываемой детали посредством инструмента.
В некоторых вариантах осуществления, весовой коэффициент связан с процентной долей от движения для одного из первого или второго манипулятора, при этом компьютерное устройство выполнено с возможностью вычислять процентную долю от движения для другого манипулятора на основе весового коэффициента.
Краткое описание чертежей
Преимущества изобретения, описанного выше, вместе с дополнительными преимуществами, могут лучше пониматься посредством изучения нижеприведенного описания вместе с прилагаемыми чертежами. Чертежи необязательно начерчены в масштабе, вместо этого акцент, в общем, делается на иллюстрации принципов изобретения. На чертежах:
Фиг. 1 - примерное виртуальное окружение роботизированной производственной технологической системы, в которой инструмент, смонтированный на рабочем манипуляторе, обрабатывает обрабатываемую деталь вдоль пути технологического процесса, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 2 - блок-схема примерной роботизированной производственной технологической системы, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 3 - блок-схема последовательности операций способа для примерного подхода для вычисления распределенных совместных движений между рабочим и удерживающим манипуляторами роботизированной производственной технологической системы с фиг. 2, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 4 - пример пользовательского интерфейса с фиг. 2, который обеспечивает возможность пользователю задавать весовой коэффициент для удерживающего или рабочего манипулятора, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 5 - другой пример пользовательского интерфейса с фиг. 2, который обеспечивает возможность пользователю задавать весовой коэффициент для удерживающего или рабочего манипулятора, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 6 - еще один другой пример пользовательского интерфейса с фиг. 2, который обеспечивает возможность пользователю задавать весовой коэффициент для удерживающего или рабочего манипулятора, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 7 - графическая иллюстрация примерной функции относительной трансформации подхода с фиг. 3, который представляет движение манипулятора между первой точкой P0 и следующей точкой P1, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 8 - графическая иллюстрация примерного распределения части перемещения в пространстве функции относительной трансформации с фиг. 7 между двумя манипуляторами, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 9a-9c - последовательность снимков экрана, захватывающих примерное вращательное перемещение посредством рабочего манипулятора вокруг обрабатываемой детали, чтобы выполнять задачу для обрабатываемой детали, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 10a-10c - последовательность снимков экрана, захватывающих вращательное перемещение посредством удерживающего манипулятора, который вращает обрабатываемую деталь, чтобы выполнять идентичную задачу с фиг. 9a-9c, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 11 - графическая иллюстрация инвариантного относительно вращения вектора, сформированного для распределения части вращения функции относительной трансформации между двумя манипуляторами, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 12 - графическая иллюстрация примерного распределения части вращения функции относительной трансформации с фиг. 7 между двумя манипуляторами на основе одной процентной доли от распределения, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 13 - примерный набор из главной оси, оси инструмента и нормальной оси для распределения вращения между двумя манипуляторами, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 14 - графическая иллюстрация примерного пространства для выполнения задач, заданного посредством осей с фиг. 13 для вычисления вращения вокруг главной оси, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 15 - графическая иллюстрация вращения вокруг главной оси с фиг. 13, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 16 - графическая иллюстрация примерного пространства для выполнения задач, заданного посредством осей с фиг. 13 для вычисления вращения вокруг нормальной оси, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 17 - графическая иллюстрация примерного пространства для выполнения задач, заданного посредством осей с фиг. 13 для вычисления вращения вокруг оси инструмента, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 18 - примерная компоновка системы для реализации подхода к распределению движений с фиг. 3, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 19-22 - примерные интерфейсы, через которые пользователь указывает весовой коэффициент для удерживающего манипулятора компоновки системы с фиг. 18, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 23 - другая примерная компоновка системы для реализации подхода к распределению движений с фиг. 3, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 24 и 25 - примерные интерфейсы, через которые пользователь указывает весовой коэффициент для удерживающего манипулятора компоновки системы с фиг. 23, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 26 - еще одна другая примерная компоновка системы для реализации подхода к распределению движений, описанного выше относительно фиг. 3, согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 27-29 - примерные интерфейсы, через которые пользователь указывает весовой коэффициент для удерживающего манипулятора компоновки системы с фиг. 26, согласно некоторым вариантам осуществления настоящего изобретения.
Подробное описание изобретения
Фиг. 1 показывает примерное виртуальное окружение 138 роботизированной производственной технологической системы, в которой инструмент 140, смонтированный на рабочем манипуляторе 142, обрабатывает обрабатываемую деталь 144 вдоль пути 146 технологического процесса, согласно некоторым вариантам осуществления настоящего изобретения. Обрабатываемая деталь 144 может удерживаться посредством удерживающего робота-манипулятора (не показан на фиг. 1, но является аналогичным удерживающему роботу-манипулятору по фиг. 18), который добавляет шесть степеней свободы/избыточности перемещения в пространство для выполнения задач, либо рельса/вращательного элемента (не показан на фиг. 1, но является аналогичным вращательному удерживающему манипулятору по фиг. 10a-c), который добавляет одну степень свободы/избыточности перемещения в пространство для выполнения задач. В общем, чтобы перемещать инструмент 140 вдоль пути 146 технологического процесса, который располагается вдоль стороны обрабатываемой детали 144, как проиллюстрировано, возникает бесконечное число возможностей. Одна возможность состоит в том, что обрабатываемая деталь 144 является стационарной, и рабочий манипулятор 142 перемещает инструмент 140 вдоль пути 146 технологического процесса. Другая возможность, как показано на фиг. 18, состоит в том, что рабочий манипулятор 117 (наряду с инструментом 1406) является стационарным, и удерживающий манипулятор 115 перемещает обрабатываемую деталь 1402 в противоположном направлении по сравнению с направлением инструмента 1406. Другие возможности включают в себя совместное использование движения от начала до конца пути технологического процесса 1404 между удерживающим и рабочим манипуляторами 115, 117. Например, если полное расстояние, которое должно покрываться посредством пути технологического процесса 1404, составляет 100 см, рабочий манипулятор 117 может перемещать инструмент 1406 на 30 см, и удерживающий манипулятор 115 может перемещать обрабатываемую деталь 1402 на 70 см в противоположном направлении, за счет этого достигая 100 см покрываемого расстояния. Следовательно, процентная доля от распределения движений для рабочего манипулятора 117 для завершения задачи составляет 30%, и процентная доля от распределения движений для удерживающего манипулятора 115 составляет 70%. Это понятие может обобщаться для всех возможных степеней свободы (по вращению и/или по перемещению в пространстве) для каждого из рабочего и удерживающего манипуляторов. В общем, настоящее изобретение анализирует, управляет и проектирует распределенные движения в системе с избыточным движением на основе пользовательских вводов. В некоторых вариантах осуществления, для данной задачи обработки, настоящее изобретение обеспечивает возможность пользователю задавать процентную долю(и) от распределения движений для каждого из рабочего и удерживающего манипуляторов вдоль одной или более возможных степеней перемещения для завершения задачи. Настоящее изобретение позволяет определять распределенные движения для рабочего и удерживающего манипуляторов, чтобы завершать задачу обработки при удовлетворении процентной доле(ям) от критериев распределения движений, заданных пользователем.
Фиг. 2 показывает блок-схему примерной роботизированной производственной технологической системы 100, которая включает в себя процессор 105 распределения движений, пользовательский интерфейс 110 и пару роботизированных манипуляторов, содержащих удерживающий манипулятор 115, выполненный с возможностью удерживать обрабатываемую деталь, и рабочий манипулятор 117, выполненный с возможностью обрабатывать обрабатываемую деталь в определяемом пользователем технологическом процессе, согласно некоторым вариантам осуществления настоящего изобретения. Пользовательский интерфейс 110 может включать в себя компьютерную клавиатуру, мышь, графический пользовательский интерфейс (например, компьютеризированный дисплей), другие тактильные интерфейсы, голосовой ввод или другие каналы ввода-вывода для пользователя, чтобы обмениваться данными с процессором 105 распределения движений. В некоторых вариантах осуществления, графический пользовательский интерфейс пользовательского интерфейса 110 выполнен с возможностью визуализировать в трехмерном виртуальном окружении движения, вычисленные посредством процессора 105 для соответствующих манипуляторов 115, 117 для завершения определяемого пользователем технологического процесса. Процессор 105 распределения движений соединяется с манипуляторами 115, 117, чтобы автоматизировать или иными способам направлять манипуляторы 115, 117 таким образом, что они придерживаются вычисленных движений для целей обработки (например, резки) обрабатываемой детали, удерживаемой посредством удерживающего манипулятора 115, с использованием инструмента (например, плазменной дуговой горелки), смонтированного на рабочем манипуляторе 117.
Как показано на фиг. 2, процессор 105, в общем, включает в себя модуль 112 настройки и компоновки, модуль 114 вычисления, модуль 116 отображения и необязательный модуль 118 приведения в действие. Модули 112-118 могут только реализовываться в аппаратных средствах либо в комбинации аппаратных средств и программного обеспечения, чтобы выполнять определение движения распределения, описанное ниже. В частности, модуль 112 настройки и компоновки выполнен с возможностью принимать и обрабатывать данные от пользователя через пользовательский интерфейс 110, включающие в себя (i) данные для удерживающего манипулятора 115, (ii) данные для рабочего манипулятора 117 и (iii) данные, задающие технологический процесс, который должен выполняться посредством инструмента, смонтированного на рабочем манипуляторе 117 для, по меньшей мере, части обрабатываемой детали, удерживаемой посредством удерживающего манипулятора 115. В некоторых вариантах осуществления, данные для удерживающего манипулятора 115 и/или данные для рабочего манипулятора 117 включают в себя весовой коэффициент, регулируемый пользователем через интерфейс 110 таким образом, чтобы указывать, по меньшей мере, процентную долю от распределения движений для соответствующего манипулятора, которая используется посредством процессора 105, чтобы определять распределенные движения между двумя манипуляторами, как подробно поясняется ниже. В общем, данные, предоставленные в пользовательский интерфейс 110 и/или обработанные посредством модуля 112 настройки и компоновки, могут иметь форму любых подходящих структур данных, таких как текстовые списки, XML-документы, объекты классов (например, экземпляры классов C++ или Java), другие структуры данных либо любая комбинация вышеозначенного.
Модуль 114 вычисления выполнен с возможностью вычислять и назначать распределенные движения между удерживающим и рабочим манипуляторами 115, 117, с тем чтобы завершать задачу обработки на основе параметров, принимаемых посредством модуля 112 настройки и компоновки, который подробно описывается ниже. Модуль 116 отображения выполнен с возможностью взаимодействовать с графическим пользовательским интерфейсом 110, чтобы визуализировать распределенные движения манипуляторов (вычисленные посредством модуля 114 вычисления) при виртуальном моделировании роботизированной производственной технологической системы 110. Модуль 116 отображения может визуально иллюстрировать то, как инструмент, смонтированный на рабочем манипуляторе 117, обрабатывает обрабатываемую деталь, удерживаемую посредством удерживающего манипулятора 115, в соответствии с определяемыми пользователем параметрами и ограничениями. Такое отображение стимулирует пользовательское взаимодействие с процессором 105, чтобы изменять и/или уточнять параметры для распределения движений. Необязательный модуль 118 приведения в действие, поддерживающий электрическую связь с модулем 114 вычисления, может приводить в действие манипуляторы 115, 117, чтобы придерживаться движений, вычисленных посредством модуля 114 вычисления, при выполнении своих соответствующих задач (например, при резке для рабочего манипулятора 117 и при удерживании обрабатываемой детали для удерживающего манипулятора 115). В общем, необязательный модуль 118 приведения в действие может обмениваться данными с любым из модулей 112-116, чтобы получать релевантную информацию для перемещения манипуляторов 115, 117.
Система 100 дополнительно включает в себя запоминающее устройство 160, которое выполнено с возможностью обмениваться данными с одним или более модулей 112-118 процессора 105. Например, запоминающее устройство 160 может использоваться для того, чтобы сохранять данные, обрабатываемые посредством модуля 112 настройки и компоновки, одну или более функций и значений, используемых посредством модуля 114 вычисления, чтобы вычислять распределенные движения манипулятора, и/или инструкции, формулируемые посредством необязательного модуля 118 приведения в действие для того, чтобы направлять перемещение манипуляторов 115, 117.
В некоторых вариантах осуществления, процессор 105 представляет собой автономную систему, которая является отдельной от удерживающего и рабочего манипуляторов 115, 117. Например, процессор 105 может представлять собой компонент на стороне производителя, выполненный с возможностью передавать инструкции в клиентскую систему, чтобы управлять перемещением удерживающего и рабочего манипуляторов 115, 117 клиентской системы. Даже если модуль 118 приведения в действие проиллюстрирован в качестве части процессора 105, в некоторых вариантах осуществления, он отсутствует в процессоре 105 и/или является удаленным относительно процессора 105, к примеру, находится в клиентской системе.
Фиг. 3 показывает блок-схему последовательности операций способа для примерного подхода 200 для вычисления распределенных совместных движений между рабочим и удерживающим манипуляторами 115, 117 роботизированной производственной технологической системы 100 по фиг. 2, согласно некоторым вариантам осуществления настоящего изобретения. Как показано на фиг. 3, формирование распределенных движений может включать в себя прием данных, связанных с удерживающим и рабочим манипуляторами 115, 117, наряду с данными, задающими технологический процесс, который должен выполняться посредством инструмента, смонтированного на рабочем манипуляторе 117 для, по меньшей мере, части для части обрабатываемой детали, удерживаемой посредством удерживающего манипулятора 115, причем данные технологического процесса включают в себя определяемые пользователем распределения движений между рабочим и удерживающим манипуляторами (этап 202), вычисление первой точки и следующей точки пути технологического процесса с использованием принимаемых данных (этап 204), формирование функции относительной трансформации, которая задает путь технологического процесса от первой точки к следующей точке (этап 206), и распределение движений между парой манипуляторов 115, 117, чтобы завершать путь технологического процесса на основе параметров/ограничений, указываемых пользователем на этапе 202 (этап 208). В некоторых вариантах осуществления, этапы 204, 206 и 208 повторяются для каждой пары последовательных точек технологического процесса вдоль пути технологического процесса до тех пор, пока весь путь технологического процесса не распределяется. Необязательно, подход 200 дополнительно может включать в себя приведение в действие или принудительное приведение в действие манипуляторов 115, 117 таким образом, что они фактически придерживаются соответствующих распределенных движений, вычисленных на этапе 208 (не показано).
На этапе 202, модуль 112 настройки и компоновки процессора 105 выполнен с возможностью обрабатывать данные, требуемые для того, чтобы вычислять распределенные движения между удерживающим и рабочим манипуляторами 115, 117, причем, по меньшей мере, часть данных (например, процентные доли распределения от полного движения) принимается от пользователя через пользовательский интерфейс 110. Данные могут включать в себя информацию, связанную с рабочим манипулятором 117, информацию, связанную с удерживающим манипулятором 115, и информацию, которая задает технологический процесс/задачу, который должен выполняться посредством двух манипуляторов. В некоторых вариантах осуществления, данные для, по меньшей мере, одного из удерживающего или рабочего манипулятора включают в себя весовой коэффициент, который является регулируемым пользователем через пользовательский интерфейс 110 таким образом, чтобы указывать одну или более процентных долей от движения для соответствующего манипулятора относительно совместных движений. Другие данные манипулятора для каждого из манипуляторов 115, 117 включают в себя кинематическую информацию манипулятора, которая содержит размерности звеньев манипулятора и вектор сочленений для каждой оси манипулятора. Размещение манипулятора в роботизированной ячейке также может включаться в данные манипулятора. Дополнительные данные манипулятора могут включать в себя конфигурацию осей манипулятора (например, шестую степень свободы инструмента), конфигурацию манипулятора и т.д. Данные для задачи обработки могут включать в себя относительную позицию точек пути относительно обрабатываемой детали, тип движения манипуляторов для каждой точки пути, к примеру, движение сочленений, прямолинейное движение и/или круговое движение. В общем, данные, используемые посредством процессора 105, могут предоставляться посредством одного или более источников, к примеру, пользователем через интерфейс 110, из другой вычислительной системы (например, программное обеспечение для создания путей технологического процесса) либо как комбинация означенного.
Фиг. 4 показывает пример 300 пользовательского интерфейса 110 по фиг. 2, который обеспечивает возможность пользователю задавать весовой коэффициент для удерживающего или рабочего манипулятора 115, 117, согласно некоторым вариантам осуществления настоящего изобретения. В общем, каждый манипулятор может иметь шесть степеней свободы, если манипулятор представляет собой робот, и одну степень свободы, если манипулятор представляет собой рельс или вращательный элемент. Набор из двух или трех рельсов или вращательных элементов также может использоваться для того, чтобы создавать манипулятор с двумя или тремя степенями свободы. Шесть степеней свободы, ассоциированных с роботом-манипулятором, включают в себя три степени, задающие движение с перемещением в пространстве, и три степени, задающие движение вращения. Таким образом, весовой коэффициент для каждого манипулятора может включать в себя один-шесть задаваемых пользователем весовых коэффициентов (например, процентных долей от распределения движений) для управления движениями с перемещением в пространстве и вращением манипулятора вдоль пути обработки для завершения задачи обработки.
В некоторых вариантах осуществления, только один интерактивный интерфейс для одного из манипуляторов (например, для рабочего манипулятора 117) представляется пользователю для задания процентной доли(ей) от распределения весового коэффициента, ассоциированного с этим манипулятором. Процентная доля(и) от распределения для другого манипулятора (например, удерживающего манипулятора 115) вычисляется посредством модуля 114 вычисления на основе процентных долей, указываемых пользователем для первого манипулятора, к примеру, посредством вычитания каждой выбираемой пользователем процентной доли от распределения относительно размерности из 100%, чтобы определять процентную долю от распределения для другого манипулятора относительно идентичной размерности (причем два манипулятора достигают 100% для того, чтобы завершать обработку). В некоторых вариантах осуществления, интерфейс 300 служит для манипулятора по умолчанию, предварительно заданного посредством системы 100. В некоторых вариантах осуществления, пользователь имеет возможность выбирать один из удерживающего манипулятора 115 или рабочего манипулятора 117 для того, чтобы задавать весовой коэффициент. В некоторых вариантах осуществления, пользователь имеет возможность задавать весовые коэффициенты для обоих из удерживающего и рабочего манипуляторов 115, 117.
Как показано на фиг. 4, интерактивный интерфейс 300 включает в себя шесть выбираемых пользователем элементов 302, 304, 306, 310, 312, 314 для указания процентных долей от распределения с шестью степенями свободы для весового коэффициента робота-манипулятора. В частности, элементы 302, 304 и 306 представляют собой ползунки и/или текстовые поля, которые позволяют пользователю указывать процентные доли от распределения движения с перемещением в пространстве манипулятора относительно каждой оси X, оси Y и оси Z, соответственно, для завершения конкретной задачи обработки. Для движения вращения, чтобы распределять вращение вокруг трех различных осей, интерактивный интерфейс 300 включает в себя поле 308 ввода (например, в форме раскрывающегося поля), которое обеспечивает возможность пользователю сначала выбирать одну из оси X, оси Y или оси Z в качестве главной оси вращения. Как показано на фиг. 4, пользователь выбирает ось X в качестве главной оси вращения, которая обозначается как Rx. Другие две оси могут определяться посредством модуля 114 вычисления, которые включают в себя (i) ось инструмента, которая задает направление инструмента, смонтированного на рабочем манипуляторе 117 (например, направление носика плазменной дуговой горелки, смонтированной на рабочем манипуляторе 117), в дальнейшем называемую "осью T", и (ii) третью ось, которая является нормальной по отношению к главной оси и оси инструмента, в дальнейшем называемую "осью N". Пользователь может задавать процентные доли от распределения вращательного движения относительно каждой из осей Rx, T и N для манипулятора, ассоциированного с интерфейсом 300. Например, элементы 310, 312 и 314 могут представлять собой ползунки и/или текстовые поля, которые позволяют пользователю задавать процентные доли от распределения вокруг оси Rx, оси T и оси N, соответственно, для движения вращения манипулятора. В некоторых вариантах осуществления, процентные доли от распределения для другого манипулятора вычисляются посредством вычитания из 100% соответствующих процентных долей от распределения для манипулятора, ассоциированного с интерфейсом 300.
Фиг. 5 показывает другой пример 400 пользовательского интерфейса 110 по фиг. 2, который обеспечивает возможность пользователю задавать весовой коэффициент для удерживающего или рабочего манипулятора 115, 117, согласно некоторым вариантам осуществления настоящего изобретения. Аналогично интерфейсу 300 по фиг. 4, элементы 402, 404 и 406 могут представлять собой ползунки и/или текстовые поля, которые позволяют пользователю указывать процентные доли от распределения движения с перемещением в пространстве манипулятора, соответствующего интерфейсу 400 относительно каждой трех осей X, оси Y и оси Z, соответственно, для завершения конкретной задачи обработки. Для движения вращения, интерфейс 400 в элементе 408 обеспечивает возможность пользователю указывать одну процентную долю от распределения, которая управляет полным распределением по вращению соответствующего манипулятора, за счет этого упрощая интерфейс и процесс выбора параметров для пользователя, который может быть не настолько опытным/знающим, как пользователь интерфейса 400 по фиг. 4.
Фиг. 6 показывает еще один другой пример 500 пользовательского интерфейса 110 по фиг. 2, который обеспечивает возможность пользователю задавать весовой коэффициент для удерживающего или рабочего манипулятора 115, 117, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, интерфейс 500 обеспечивает возможность пользователю указывать одну процентную долю от распределения 502, которая управляет распределением по перемещению в пространстве манипулятора, соответствующего интерфейсу 500, во всех трех из оси X, оси Y и оси Z для завершения конкретной задачи обработки. Таким образом, идентичная процентная доля от распределения 502 назначается всем трем из осей X, Y и Z. Аналогично интерфейсу 400 по фиг. 5, пользователь также имеет возможность указывать одну процентную долю от распределения 504, которая управляет полным распределением по вращению соответствующего манипулятора. Пользовательский интерфейс по фиг. 6 в силу этого предлагает еще более простой процесс выбора параметров, чем процессы, предлагаемые посредством интерфейсов 300 и 400.
В еще одном другом варианте осуществления пользовательского интерфейса 110, интерфейс (не показан) обеспечивает возможность пользователю выбирать весовой коэффициент для удерживающего или рабочего манипулятора 115, 117 посредством задания одной процентной доли от распределения для управления распределениями по перемещению в пространстве и по вращению соответствующего манипулятора. Таким образом, идентичная процентная доля от распределения назначается всем шести степеням свободы для этого манипулятора. Таким образом, распределения по перемещению в пространстве и по вращению другого манипулятора также управляются посредством одной процентной доли от распределения.
Возвращаясь к подходу 200 по фиг. 3, на основе пользовательского ввода на этапе 202 (включающего в себя пользовательский ввод, который описывает требуемую задачу обработки), модуль 114 вычисления выполнен с возможностью определять первую точку (P0) и следующую точку (P1) пути технологического процесса на этапе 204, причем путь технологического процесса представляет полное совместное движение для завершения задачи.
На этапе 206, модуль 114 вычисления выполнен с возможностью захватывать путь технологического процесса в трехмерном пространстве для выполнения задач. Путь технологического процесса конструируется из конечного числа точек технологического процесса, причем данные для каждой точки включают в себя данные позиции и ориентации этой точки относительно рамки 602 детали (как показано на фиг. 7). На каждом этапе вычисления, модуль 114 вычисления определяет две последовательных точки, начинающиеся с начала пути технологического процесса, при этом первая точка в дальнейшем называется "P0", и следующая точка в дальнейшем называется "P1", и функция T относительной трансформации вычисляется между ними. Фиг. 7 графически иллюстрирует примерную функцию T относительной трансформации, которая представляет движение манипулятора между первой точкой P0 и следующей точкой P1, согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления, функция T относительной трансформации между двумя точками вычисляется посредством умножения функции обратной трансформации следующей точки P1 относительно рамки 604 пользователя и функции трансформации первой точки P0 относительно рамки 604 пользователя. Вариант осуществления по фиг. 7 предполагает то, что один манипулятор (например, рабочий манипулятор 117 с инструментом, смонтированным на нем) выполнен с возможностью перемещаться вдоль всего пути технологического процесса между первой и следующими точками, чтобы выполнять задачу, тогда как другой манипулятор остается стационарным. Это означает то, что мобильный манипулятор должен трансформироваться/перемещаться на из первой точки P0, чтобы достигать следующей точки P1, как проиллюстрировано на фиг. 7.
В некоторых вариантах осуществления, предполагается, что относительное положение обрабатываемой детали, удерживаемой посредством удерживающего манипулятора 115, относительно инструмента, смонтированного на рабочем манипуляторе 117, остается идентичным вдоль каждой точки на пути технологического процесса независимо от распределительных движений двух манипуляторов 115, 117. Это означает то, что если в случае, в котором рабочий манипулятор 117 выполняет всю задачу обработки, относительная трансформация удерживающего манипулятора 115, удерживающего обрабатываемую деталь относительно инструмента рабочего манипулятора 117 в следующей точке (P1) пути технологического процесса, составляет , и после распределения движения, эта функция относительной трансформации остается независимо от процентных долей от распределения. Это ограничение может использоваться посредством модуля 114 вычисления для того, чтобы разрешать замкнутую кинематическую цепь между двумя манипуляторами 115, 117.
В некоторых вариантах осуществления, функция относительной трансформации, которая описывает движение между двумя последовательными точками для завершения задачи обработки, разлагается на два компонента, часть перемещения в пространстве и часть вращения. Таким образом, чтобы распределять относительную трансформацию , которая задает путь технологического процесса между удерживающим и рабочим манипуляторами 115, 117, часть перемещения в пространстве и часть вращения должны распределяться.
На этапе 208, модуль 114 вычисления выполнен с возможностью распределять движения между удерживающим и рабочим манипуляторами 115, 117, чтобы завершать путь технологического процесса между точками P0 и P1, заданными посредством функции относительной трансформации. Такое распределение, в общем, основано на весовом коэффициенте, указываемом пользователем на этапе 202. Поскольку функция относительной трансформации может разделяться на два компонента (т.е. на перемещение в пространстве и вращение), как описано выше относительно этапа 206, движения могут отдельно распределяться между манипуляторами 115, 117 относительно каждого из двух компонентов в соответствии с указываемым пользователем весовым коэффициентом (например, 95% движения с перемещением в пространстве, выполняемого посредством рабочего манипулятора, и 85% движения вращения, выполняемого посредством удерживающего манипулятора или наоборот, либо как некоторая другая комбинация). В некоторых вариантах осуществления, порядок разделения этих частей между двумя манипуляторами 115, 117 является неважным, поскольку часть перемещения в пространстве может разделяться до разделения части вращения, или наоборот.
Фиг. 8 графически иллюстрирует примерное распределение части перемещения в пространстве функции относительной трансформации по фиг. 7 между манипуляторами 115, 117, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, часть 702 () перемещения в пространстве пути технологического процесса от первой точки P0 к следующей точке P1 должна завершаться между парой манипуляторов 115, 117, чтобы выполнять данную задачу. Если рабочий манипулятор 117 завершает все движение, он должен перемещать движение с перемещением в пространстве в ΔP01 из первой точки P0, чтобы достигать следующей точки P1. Тем не менее, пользователь может указывать процентную долю от этого движения, которая должна распределяться в рабочий манипулятор 117, далее, в общем, называемый "первым манипулятором", в то время как второй манипулятор (т.е. удерживающий манипулятор 115) завершает оставшуюся процентную долю. В других вариантах осуществления, первый манипулятор представляет собой удерживающий манипулятор 115, для которого пользователь указывает процентную долю от распределения движений, в то время как предполагается, что второй манипулятор, который представляет собой рабочий манипулятор 117, завершает оставшуюся процентную долю. Это разделение работы соответствует промежуточной точке P1 между первой точкой P0 и следующей точкой P1 вдоль пути 702 перемещения в пространстве для разделения движений между первым и вторым манипуляторами. Как описано выше, процентные доли от распределения могут указываться пользователем через интерфейс 110 на этапе 202 (например, через любой из интерфейсов 300, 400 и 500) для одного из первого или второго манипулятора. Таким образом, как показано, первый манипулятор должен перемещать движение с перемещением в пространстве в ΔP01 из начального местоположения, которое представляет собой первую точку P0, чтобы достигать промежуточной точки P1, и второй манипулятор должен перемещать движение с перемещением в пространстве в ΔP11 из начального местоположения, с тем чтобы завершать данную задачу. Движения ΔP01 и ΔP11 с перемещением в пространстве могут вычисляться с использованием следующего набора уравнений:
(уравнение 1);
(уравнение 2);
(уравнение 3);
(уравнение 4).
Уравнение 1 вычисляет полное движение ΔP01 с перемещением в пространстве от первой точки P0 к следующей точке P1 по всему пути технологического процесса, который вычисляется относительно рамки пользователя. Обычно, система обозначений "UF" для значения обозначает то, что значение выражается относительно рамки пользователя. В уравнении 2, w представляет вектор весовых коэффициентов, указывающий то, сколько из полного движения ΔP01 должно завершаться посредством первого манипулятора, что поэлементно умножается на полное движение ΔP01, чтобы генерировать распределенное движение с перемещением в пространстве для первого манипулятора. Вектор w весовых коэффициентов определяется на основе весового коэффициента для первого манипулятора, который включает в себя одну или более процентных долей от распределения, указываемых пользователем через интерфейс 110. Например, вектор w весовых коэффициентов может определяться на основе процентных долей, заданных пользователем через элементы 302, 304 и 306 на интерфейсе 300, для управления движением с перемещением в пространстве первого манипулятора в соответствующих направлениях по оси X, Y и Z. Аналогично, вектор w весовых коэффициентов может определяться на основе процентных долей, заданных пользователем через элементы 402, 404 и 406 на интерфейсе 400, для управления движением с перемещением в пространстве первого манипулятора в соответствующих направлениях по оси X, Y и Z. В качестве другого примера, вектор w весовых коэффициентов может определяться на основе одной процентной доли, заданной пользователем через элемент 502 на интерфейсе 500, для управления движением с перемещением в пространстве первого манипулятора во всех осях. Следует отметить, что вариант осуществления по фиг. 8 соответствует пользователю, указывающему весовой коэффициент для первого манипулятора, и весовой коэффициент для второго манипулятора вычисляется посредством вычислительного модуля 105 на основе весового коэффициента для первого манипулятора. В других вариантах осуществления, пользователь может указывать весовой коэффициент только для второго манипулятора. В уравнении 3, представляет новую точку, в которую первый манипулятор должен перемещаться, чтобы удовлетворять процентной доле(ям) от распределения, указываемым пользователем. Уравнение 4 вычисляет распределенное движение ΔP11 с перемещением в пространстве второго манипулятора на основе новой точки , в которую необходимо перемещаться в посредством первого манипулятора.
В некоторых вариантах осуществления, модуль 114 вычисления определяет распределение части вращения функции относительной трансформации между манипуляторами 115, 117. Фиг. 9a-9c показывают последовательность снимков экрана, захватывающих примерное вращательное перемещение 900 посредством рабочего манипулятора 117 вокруг обрабатываемой детали 902, чтобы выполнять задачу для обрабатываемой детали 902, согласно некоторым вариантам осуществления настоящего изобретения. В варианте осуществления по фиг. 9a-9c, рабочий манипулятор 117 представляет собой робот, который удерживает инструмент 904 для обработки обрабатываемой детали 902, которая остается стационарной в этом примере. Фиг. 10a-10c показывают последовательность снимков экрана, захватывающих вращательное перемещение 1000 посредством удерживающего манипулятора 115, который вращает обрабатываемую деталь 902, чтобы выполнять идентичную задачу по фиг. 9a-9c, согласно некоторым вариантам осуществления настоящего изобретения. В варианте осуществления по фиг. 10a-10c, удерживающий манипулятор 115 представляет собой вращательный элемент, который вращает обрабатываемую деталь 902 вокруг инструмента 904, который удерживается стационарным посредством рабочего манипулятора 117, вместо рабочего манипулятора 117, вращающего инструмент 904 вокруг обрабатываемой детали 902, как проиллюстрировано на фиг. 9a-9c.
В некоторых вариантах осуществления, предусмотрено два различных подхода для распределения части вращения функции относительной трансформации между двумя манипуляторами 115, 117, в зависимости от связанного с вращением весового коэффициента, указываемого пользователем через интерфейс 110 на этапе 202. Первый подход служит для случая, в котором пользователь указывает одну процентную долю от распределения для разделения части вращения между двумя манипуляторами относительно всех трех осей в пространстве для выполнения задач, к примеру, через элемент 408 на интерфейсе 400 по фиг. 5 или элемент 504 на интерфейсе 500 по фиг. 6. В этом подходе, матрица вращения сначала преобразуется в инвариантный относительно вращения вектор , который представляет движение вращения с помощью вектора (υi) вращения и угла (φi) вращения. Математически, инвариантный относительно вращения вектор выражается следующим образом:
(уравнение 5)
Фиг. 11 графически иллюстрирует инвариантный относительно вращения вектор , сформированный для распределения части вращения функции относительной трансформации между двумя манипуляторами 115, 117, согласно некоторым вариантам осуществления настоящего изобретения. При разделении части вращения между двумя манипуляторами 115, 117 вектор υi вращения остается идентичным для обоих манипуляторов. Тем не менее, угол φi вращения должен разделяться между двумя манипуляторами на основе весового коэффициента, указываемого пользователем для одного из манипуляторов. Например, если пользователь указывает весовой коэффициент для рабочего манипулятора 117, который включает в себя одну процентную долю от распределения, которая управляет разделением части вращения, угол вращения рабочего определяется посредством умножения угла φi вращения на процентное значение. Предполагается, что оставшийся угол вращения завершается посредством удерживающего манипулятора 115 в направлении, противоположном направлению рабочего манипулятора 117. Следовательно, новые матрицы вращения для двух манипуляторов могут выражаться следующим образом:
В общем, P1' представляет промежуточную точку для разделения по движению вращения между двумя манипуляторами, которого оба манипулятора должны достигать, чтобы выполнять данную задачу. В уравнении 7, f1 представляет функцию для преобразования матрицы вращения в ее соответствующий инвариантный относительно вращения вектор. В уравнении 8, wr является весовым коэффициентом распределения по вращению, указываемым пользователем. Уравнение 8 вычисляет процентную долю от вращения, завершаемого посредством манипулятора, соответствующего весовому коэффициенту (например, рабочего манипулятора 117), причем угол вращения умножается на данный весовой коэффициент распределения. Результирующий новый инвариантный относительно вращения вектор отправляет манипулятор в точку (P1') середины вращения. Уравнение 9 вычисляет матрицу вращения, которая отправляет первую точку P0 в точку P1' середины вращения на основе инвариантного относительно вращения вектора уравнения 8. В частности, в уравнении 9, f2 представляет функцию для преобразования инвариантного относительно вращения вектора в его соответствующую матрицу вращения. Уравнение 10 вычисляет вращение P1' относительно рамки пользователя. Фиг. 12 графически иллюстрирует примерное распределение части вращения функции относительной трансформации по фиг. 7 между двумя манипуляторами 115, 117 на основе одной процентной доли от распределения, согласно некоторым вариантам осуществления настоящего изобретения.
Второй подход для разделения части вращения функции относительной трансформации между двумя манипуляторами предусматривает случай, в котором пользователь указывает главную ось распределения вращения, а также три процентных доли от распределения для разделения части вращения относительно трех осей в пространстве для выполнения задач. Эти процентные доли от распределения, например, могут указываться пользователем через элементы 310, 312 и 314 интерфейса 300 по фиг. 4. Если пользователь выбирает ось X в нулевой точке (XP0) в качестве главной оси распределения, другие две оси представляют собой ось (ZT) инструмента и нормальную ось (XN). Ось ZT инструмента представляет направление инструмента, который монтируется на рабочем манипуляторе 117, и нормальная ось XN представляет ось, которая является нормальной по отношению к главной оси и к оси инструмента. Фиг. 13 иллюстрирует примерный набор из главной оси, оси инструмента и нормальной оси для распределения вращения между двумя манипуляторами, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, главная ось выбирается пользователем в качестве оси XP0 X, ось инструмента обозначается как ZT, и нормальная ось обозначается как XN. На фиг. 13, YP0 и ZP0 представляют собой ось Y и Z рамки первой точки P0, и YP1 и ZP1 представляют собой ось Y и Z рамки следующей точки P1. В альтернативных вариантах осуществления, пользователь может выбирать ось Y в нулевой точке в качестве главной оси (YP0) распределения, причем в этом случае ось инструмента обозначается как ZT, и нормальная ось обозначается как YN. В альтернативных вариантах осуществления, пользователь может выбирать ось Z в нулевой точке в качестве главной оси (ZP0) распределения, причем в этом случае ось инструмента обозначается как ZT, и нормальная ось обозначается как ZN.
После того, как три оси вращения определяются, модуль 114 вычисления выполнен с возможностью вычислять, для каждой из трех осей, распределенные движения с вращением между двумя манипуляторами на основе процентной доли от распределения, соответствующей надлежащей оси, указываемой пользователем. Фиг. 14 графически иллюстрирует примерное пространство для выполнения задач, заданное посредством осей по фиг. 13 для вычисления вращения вокруг главной оси XP0, согласно некоторым вариантам осуществления настоящего изобретения. В пространстве для выполнения задач, проиллюстрированном на фиг. 14, первая точка пути технологического процесса представляет собой P0, и следующая точка представляет собой P1. Чтобы определять вращение вокруг главной оси XP0 (и затем вычислять распределенные движения с вращением вокруг главной оси), векторы ZT1 и ZT2, связанные с осью инструмента, проецируются на плоскость, нормальную по отношению к главной оси XP0, что приводит к векторам ZT1P и ZT2P. Угол θx (не показан) между двумя векторами представляет собой вращение вокруг главной оси XP0. Чтобы разделять этот угол между двумя манипуляторами 115, 117, используется процентная доля wθ от распределения вокруг главной оси для одного из манипуляторов (например, удерживающего манипулятора 115, как указано пользователем), что приводит к углу вращения в wθθx. Таким образом, вращение другого манипулятора (например, рабочего манипулятора 117) вокруг главной оси XP0 составляет θx-wθθx. Фиг. 14 также иллюстрирует проекцию оси инструмента (представленной посредством векторов ZT1 и ZT2) в плоскости, нормальной по отношении к главной оси XP0, чтобы генерировать набор проецируемых векторов ZT1P и ZT2P. Применение этого вращения к рамке в первой точке P0 отправляет рамку в новую рамку нового местоположения. Обычно, когда вращение возникает вокруг оси, такое вращение не изменяет эту ось, и эта ось остается идентичной после вращения. Фиг. 15 графически иллюстрирует вращение вокруг главной оси XP0.
Следующий этап предусматривает определение вращения вокруг нормальной оси XN2, которая представляет собой ось, которая является нормальной по отношению как главной оси XP0, так и к оси ZT2 инструмента, и затем вычисление распределенных движений с вращением вокруг нормальной оси XN2 между двумя манипуляторами 115, 117. С другой стороны, когда вращение возникает вокруг оси, такое вращение не изменяет эту ось, и эта ось остается идентичной после вращения. Фиг. 16 графически иллюстрирует примерное пространство для выполнения задач, заданное посредством осей по фиг. 13 для вычисления вращения вокруг нормальной оси XN2, согласно некоторым вариантам осуществления настоящего изобретения. Угол вращения вокруг нормальной оси XN2 равен разности между углом φ1, который представляет собой угол между ZT1 и XP0, и углом φ2, который представляет собой угол между ZT2 и XP0. Таким образом, угол вращения вокруг нормальной оси XN2 составляет . Ось XN2 вращения может вычисляться как векторное произведение векторов XP0 и ZT2. Чтобы разделять угол вращения вокруг нормальной оси между двумя манипуляторами 115, 117, используется процентная доля wφ от распределения вокруг нормальной оси для одного из манипуляторов (например, удерживающего манипулятора 115, как указано пользователем), что приводит к углу вращения в . Таким образом, вращение другого манипулятора (например, рабочего манипулятора 117) вокруг нормальной оси XN2 составляет . Применение этого вращения к рамке отправляет рамку в новую рамку . Фиг. 16 также иллюстрирует вращение в новую рамку детали .
Следующий этап предусматривает определение вращения вокруг оси ZT1 инструмента и затем вычисление распределенных движений с вращением вокруг оси ZT1 инструмента между двумя манипуляторами 115, 117. Фиг. 17 графически иллюстрирует примерное пространство для выполнения задач, заданное посредством осей по фиг. 13 для вычисления вращения вокруг оси ZT1 инструмента, согласно некоторым вариантам осуществления настоящего изобретения. В некоторых вариантах осуществления, рамка ZT2 P1 остается совмещенной с ZT1, поскольку вращение ассоциируется с ZT1. Следовательно, угол αz вращения представляет собой угол между XT2 и XT1. Чтобы разделять этот угол между двумя манипуляторами 115, 117, используется процентная доля wα от распределения вокруг оси инструмента для одного из манипуляторов (например, удерживающего манипулятора 115, как указано пользователем), что приводит к углу вращения в . Таким образом, вращение другого манипулятора (например, рабочего манипулятора 117) вокруг оси XT1 инструмента составляет - . Применение этого вращения к рамке отправляет рамку в новое местоположение . Фиг. 17 также иллюстрирует вращение в новую рамку детали .
В некоторых вариантах осуществления, после того, как часть вращения пути технологического процесса разделяется между удерживающим и рабочим манипуляторами 115, 117, позиция распределяется между манипуляторами. Затем распределенные части перемещения в пространстве и вращения для каждого манипулятора комбинируются, чтобы извлекать путь технологического процесса, распределенный в этот манипулятор. Например, распределение части перемещения в пространстве функции относительной трансформации описывается выше относительно фиг. 8. Распределение части вращения относительной трансформации с использованием первого подхода описывается относительно фиг. 11 и 12. Распределение части вращения относительной трансформации с использованием второго подхода описывается относительно фиг. 13-17. В общем, комбинация распределенных частей перемещения в пространстве и вращения для манипулятора может вычисляться следующим образом:
В уравнении 11, wp представляет вектор весовых коэффициентов распределения позиции. С использованием весового коэффициента позиции, уравнение 11 вычисляет среднюю позицию рабочего манипулятора 117 как . Это значение, в комбинации с матрицей вращения для идентичной средней позиции, переводится в гомогенную форму , как показано в уравнение 12. Затем относительная матрица перемещения в пространстве удерживающего манипулятора 115 вычисляется в качестве с использованием уравнения 13. В некоторых вариантах осуществления, этапы 204, 206 и 208 подхода 200 по фиг. 3 повторно итеративно выполняются для каждой последовательной первой и следующей точек вдоль пути технологического процесса до тех пор, пока весь путь технологического процесса не распределяется по перемещению в пространстве и по вращению.
В некоторых вариантах осуществления, настоящий подход 200 используется для того, чтобы распределять движения между парой рабочего и удерживающего манипуляторов 115, 117 в роботизированной производственной технологической системе 100, чтобы выполнять сложную задачу обработки (например, резку обрабатываемой детали). Такое распределение движений может легко управляться пользователем, например, посредством регулирования одной или более процентных долей от распределения движений, ассоциированного с одним из манипуляторов. Пользователь также может выбирать уровень управления, который требуется иметь над процессом распределения, посредством указания (i) одной процентной доли для управления распределениями по перемещению в пространстве вдоль осей X, Y и Z, (ii) трех процентных долей для отдельного управления распределениями по перемещению в пространстве вдоль осей X, Y и Z, (iii) одной процентной доли для управления распределениями по вращению, (iv) трех процентных долей для отдельного управления распределениями по вращению вдоль главной оси, оси инструмента и нормальной оси, и/или (v) одной процентной доли для управления перемещением в пространстве и вращением. Эти различные уровни управления обеспечивают возможность неопытным пользователям и опытным пользователей в равной степени работать с роботизированной производственной технологической системой 100. Дополнительно, посредством разложения пути сложного процесса на набор разъединенных движений, подход 200 помогает пользователю понимать сложный процесс и в силу этого допускает простое распределение движений.
В некоторых вариантах осуществления, настоящий подход 200 обеспечивает минимальные перемещения робота для указываемых пользователем значений распределения. В частности, настоящий подход 200 может распределять движения между удерживающим и рабочим манипуляторами 115, 117, чтобы удовлетворять указываемым пользователем критериям распределения, без увеличения полных движений в пространстве для выполнения задач. В некоторых вариантах осуществления, вычисленные движения для манипуляторов 115, 117 обеспечивают уменьшенные и/или минимальные перемещения инструмента и обрабатываемой детали в пространстве для выполнения задач.
Фиг. 18 показывает примерную компоновку системы для реализации подхода 200 к распределению движений, описанного выше относительно фиг. 3, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, удерживающий манипулятор 115 выполнен с возможностью удерживать пластинчатую обрабатываемую деталь 1402, в то время как рабочий манипулятор 117, который удерживает инструмент 1406, выполнен с возможностью выполнять фрезерную операцию на обрабатываемой детали 1402. Задача состоит в том, чтобы фрезеровать вдоль пути 1404, проиллюстрированного относительно обрабатываемой детали 1402.
Фиг. 19 показывает примерный интерфейс 1900, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 18, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, для удерживающего манипулятора 115, пользователь задает процентные доли от распределения для частей перемещения в пространстве и вращения перемещения равными нулю. Подход 200 в силу этого не распределяет движения в удерживающий манипулятор 115, за счет этого поддерживая обрабатываемую деталь 1402 стационарной, при назначении всего пути 1404 рабочему манипулятору 117 для выполнения целой задачи.
Фиг. 20 показывает другой примерный интерфейс 2000, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 18, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, пользователь задает процентные доли от распределения для части перемещения в пространстве в направлениях по оси X и Y в 100 для удерживающего манипулятора 115. Это означает то, что подход 200 назначает удерживающему манипулятору 115 100% движений с перемещением в пространстве вдоль направлений по оси X и Y при назначении 100% движения с перемещением в пространстве вдоль направления по оси Z рабочему манипулятору 117. Помимо этого, рабочему манипулятору 117 также назначается 100% движения вращения для пути 1404 вдоль всех осей вращения.
Фиг. 21 показывает еще один другой примерный интерфейс 2100, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 18, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, пользователь распределяет задачу равномерно в направлениях по оси X и Y части перемещения в пространстве между удерживающим и рабочим манипуляторами 115, 117 посредством задания процентных долей от распределения равными 50 в этих двух направлениях для удерживающего манипулятора 115. Для движения в направлении по оси Z части перемещения в пространстве, поскольку процентная доля задается равной 0 для удерживающих манипуляторов 115, подход 200 назначает 100% движения вдоль направления по оси Z для части перемещения в пространстве рабочему манипулятору 117. С другой стороны, рабочему манипулятору 117 назначается 100% движения вращения для пути 1404 вдоль всех осей вращения.
Фиг. 22 показывает еще один другой примерный интерфейс 2200, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 18, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, пользователь задает процентную долю от распределения в направлении по оси X для части перемещения в пространстве в 70 и в направлении по оси Y для части перемещения в пространстве в 30 для удерживающего манипулятора 115. Это приводит к разбиению движения с перемещением в пространстве между удерживающим и рабочим манипуляторами 115, 117 таким образом, что рабочий манипулятор 117 выполняет 30% движения с перемещением в пространстве в направлении по оси X и 70% движения с перемещением в пространстве в направлении по оси Y.
В общем, интерфейсы 1900, 2000, 2100 и 2200 имеют конфигурацию, практически идентичную конфигурации интерфейса 300 по фиг. 4, который подробно описывается выше. Например, каждый из этих интерфейсов имеет три ползунка и/или текстовых поля для указания процентных долей от распределения относительно перемещения в пространстве вдоль осей X, Y и Z рамки пользователя. Каждый интерфейс также имеет три ползунка и/или текстовых поля для указания процентных долей от распределения относительно вращения вокруг главной оси (Rx, Ry или Rz), оси (T) инструмента и нормальной оси (N) рамки пользователя. Дополнительно, каждый интерфейс обеспечивает возможность пользователю выбирать главную ось вращения (например, Rx, Ry или Rz) через раскрывающееся поле. Эти интерфейсы иллюстрируют то, что движение в любой из размерности по оси X, Y, Z, главной размерности, размерности инструмента и нормальной размерности может распределяться на основе любого предоставленного пользователем соотношения между удерживающим и рабочим манипуляторами 11, 117. Эти интерфейсы также иллюстрируют то, что движения могут быстро распределяться на основе пользовательских настроек, чтобы генерировать осуществимое решение, которое удовлетворяет критериям пользователя. Таким образом, настоящий подход является простым, быстрым и практичным в промышленном окружении. Дополнительно, эти интерфейсы иллюстрируют то, что конечный пользователь может управлять роботизированными перемещениями посредством указания того, как задача может совместно использоваться вдоль каждой размерности/направления, вместо фокусировки на том, как перемещается каждый манипулятор.
Фиг. 23 показывает другую примерную компоновку системы для реализации подхода 200 к распределению движений, описанного выше относительно фиг. 3, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, удерживающий манипулятор 115 выполнен с возможностью удерживать куполообразную обрабатываемую деталь 2302, в то время как рабочий манипулятор 117 выполнен с возможностью выполнять операцию машинной обработки для обрабатываемой детали 2302. Задача состоит в том, чтобы подвергать машинной обработке вдоль пути 2304, проиллюстрированного в пространстве для выполнения задач.
Фиг. 24 показывает примерный интерфейс 2400, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 23, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, для удерживающего манипулятора 115, пользователь задает процентные доли от распределения во всех размерностях перемещений равными нулю. Подход 200 в силу этого не распределяет движения в удерживающий манипулятор 115, за счет этого поддерживая обрабатываемую деталь 2302 стационарной, при назначении всего пути 2304 рабочему манипулятору 117 для выполнения целой задачи. Следовательно, рабочий манипулятор 117 должен перемещать инструмент, который монтируется на нем, вокруг обрабатываемой детали 2302, что влечет за собой большие движения сочленений посредством рабочего манипулятора 117.
Фиг. 25 показывает другой примерный интерфейс 2500, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 23, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, для удерживающего манипулятора 115, пользователь выбирает ось Z в качестве главной оси и задает процентную долю от распределения для части вращения вокруг главной оси равной 100. Подход 200 в силу этого распределяет все движение вращения вокруг оси Z в удерживающий манипулятор 115, при неназначении движения вращения рабочему манипулятору 117 вокруг идентичной оси. За счет предоставления возможности пользователю назначать это движение вращения удерживающему манипулятору 115, задача теперь совместно используется манипуляторами, в силу чего упрощается для рабочего манипулятора 117, что включает в себя уменьшение движений сочленений для рабочего манипулятора 117, по сравнению со случаем по фиг. 24, в котором рабочий манипулятор 117 выполняет всю задачу. В варианте осуществления по фиг. 25, рабочий манипулятор 117 по-прежнему выполняет всю часть перемещения в пространстве пути технологического процесса 2304, а также часть вращения вокруг оси инструмента и нормальной оси.
Фиг. 26 показывает еще одну другую примерную компоновку системы для реализации подхода 200 к распределению движений, описанного выше относительно фиг. 3, согласно некоторым вариантам осуществления настоящего изобретения. Задача, которая должна совместно использоваться посредством манипуляторов 115, 117 в этой компоновке, состоит в том, чтобы пропускать кинематическую цепь 2602, удерживаемую посредством рабочего манипулятора 11,7 через провод 2604, удерживаемый посредством удерживающего манипулятора 115.
Фиг. 27 показывает примерный интерфейс 2700, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 26, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, для удерживающего манипулятора 115, пользователь задает процентные доли от распределения во всех размерностях перемещений равными нулю. Подход 200 в силу этого не распределяет движения в удерживающий манипулятор 115, за счет этого поддерживая провод 2604 стационарным, при назначении всех движений рабочему манипулятору 117, чтобы пропускать кинематическую цепь 2602 вдоль провода 2604. Это требует от рабочего манипулятора 117 перемещаться через последовательность резких движений сочленений, с тем чтобы иметь возможность пропускать кинематическую цепь 2602 вдоль провода 2604.
Альтернативно, фиг. 28 показывает другой примерный интерфейс 2800, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 26, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, для удерживающего манипулятора 115, пользователь задает процентные доли от распределения для перемещения в пространстве и вращения во всех размерностях равными 100. Подход 200 в силу этого не распределяет движения в рабочий манипулятор 117, за счет этого поддерживая кинематическую цепь 2602 стационарной, при назначении всех движений удерживающему манипулятору 115, чтобы пропускать провод 2604 через кинематическую цепь 2602. Это изменения на противоположное назначения задачи уменьшает полные движения сочленений и обеспечивает возможность более эффективного выполнения задачи по сравнению со случаем, соответствующим фиг. 27.
Альтернативно, фиг. 29 показывает еще один другой примерный интерфейс 2900, через который пользователь указывает весовой коэффициент для удерживающего манипулятора 115 компоновки системы по фиг. 26, согласно некоторым вариантам осуществления настоящего изобретения. Как показано, пользователь имеет возможность равномерно распределять движения во всех размерностях/направлениях для частей перемещения в пространстве и вращения между удерживающим и рабочим манипуляторами 115, 117. Это создает лучший баланс в движениях сочленений для обоих манипуляторов по сравнению со случаем по фиг. 28.
В общем, настоящее изобретение предлагает вычислительно более быстрый и более эффективный инструмент планирования роботизированных путей для разрешения избыточности, чем предлагаемые на рынке инструменты. Пользователь может взаимодействовать с различными интерфейсными элементами (например, заданными ползунками), чтобы графически регулировать критерии выбора пути, которые регулируют процесс определения путей. Таким образом, настоящее изобретение может быстро разрешать избыточности движения между двумя манипуляторами через удобные для пользователя потоки обработки. За счет предоставления возможности пользователю задавать требуемые параметры для распределения движений, настоящее изобретение уменьшает работу по программированию при увеличении степени пользовательского управления.
Вышеописанные технологии могут реализовываться в цифровой и/или аналоговой электронной схеме или в компьютерных аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинациях означенного. Реализация может задаваться в качестве компьютерного программного продукта, т.е. компьютерной программы, материально осуществленной в машиночитаемом устройстве хранения данных, для выполнения посредством или управления работой оборудования обработки данных, например, программируемого процессора, компьютера и/или нескольких компьютеров. Компьютерная программа может быть написана на любой форме машинного языка или языка программирования, в том числе как исходный код, компилированный код, интерпретируемый код и/или машинный код, и компьютерная программа может развертываться в любой форме, в том числе как автономная программа или как вложенная процедура, элемент либо другой блок, подходящий для использования в вычислительном окружении. Компьютерная программа может разворачиваться с возможностью выполнения на одном компьютере или на нескольких компьютерах на одном или более веб-узлов. Компьютерная программа может развертываться в облачном вычислительном окружении (например, Amazon® AWS, Azure Microsoft®, IBM®).
Этапы способа могут выполняться посредством одного или более программируемых процессоров, выполняющих компьютерную программу, чтобы выполнять функции изобретения посредством управления входными данными и/или формирования выходных данных. Этапы способа также могут выполняться посредством, и оборудование может реализовываться как логическая схема специального назначения, например, FPGA (программируемая пользователем вентильная матрица), FPAA (программируемая пользователем аналоговая матрица), CPLD (комплексное программируемое логическое устройство), PSoC (программируемая внутримикросхемная система), ASIP (специализированный процессор для обработки наборов инструкций) или ASIC (специализированная интегральная схема) и т.п. Вложенные процедуры могут означать части сохраненной компьютерной программы и/или процессора, и/или специальной схемы, которые реализуют одну или более функций.
Процессоры, подходящие для выполнения компьютерной программы, включают в себя, в качестве примера, микропроцессоры специального назначения, в частности, программируемые с помощью инструкций, выполняемых с возможностью осуществлять способы, описанные в данном документе, и любой один или более процессоров любого вида цифрового или аналогового компьютера. В общем, процессор принимает инструкции и данные из постоянного запоминающего устройства или оперативного запоминающего устройства либо из того и из другого. Существенные элементы компьютера представляют собой процессор для выполнения инструкций и одно или более запоминающих устройств для сохранения инструкций и/или данных. Запоминающие устройства, такие как кэш, могут использоваться для того, чтобы временно сохранять данные. Запоминающие устройства также могут использоваться для долговременного хранения данных. В общем, компьютер также включает в себя или функционально соединяется с возможностью принимать данные или передавать данные либо как принимать, так и передавать данные в одно или более устройств хранения данных большой емкости для сохранения данных, например, на магнитные, магнитооптические диски или оптические диски. Компьютер также может функционально соединяться с сетью связи, чтобы принимать инструкции и/или данные из сети и/или передавать команды и/или данные в сеть. Машиночитаемые носители хранения данных, подходящие для осуществления компьютерных программных инструкций и данных, включают в себя все формы энергозависимого и энергонезависимого запоминающего устройства, включающих в себя, в качестве примера, полупроводниковые запоминающие устройства, например, DRAM, SRAM, EPROM, EEPROM и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или съемные диски; магнитооптические диски; и оптические диски, например, CD, DVD, HD-DVD и Blu-Ray-диски. Процессор и запоминающее устройство могут дополняться и/или включаться в логическую схему специального назначения.
Чтобы предоставлять взаимодействие с пользователем, вышеуказанные описанные технологии могут реализовываться на вычислительном устройстве, поддерживающем связь с устройством отображения, например, с монитором на основе CRT (электронно-лучевой трубки), плазменным монитором или монитором на основе ЖК-дисплея (жидкокристаллического дисплея), дисплеем или экраном мобильного устройства, голографическим устройством и/или проектором, для отображения информации пользователю, и с клавиатурой и указательным устройством, например, с мышью, шаровым манипулятором, сенсорной панели или датчика движения, посредством которого пользователь может предоставлять ввод в компьютер (например, взаимодействовать с элементом пользовательского интерфейса). Другие виды устройств также могут использоваться для того, чтобы предоставлять взаимодействие с пользователем; например, обратная связь, предоставляемая пользователю, может представлять собой любую форму сенсорной обратной связи, такую как визуальная обратная связь, акустическая обратная связь или тактильная обратная связь; и ввод от пользователя может приниматься в любой форме, включающей в себя акустический, речевой и/или тактильный ввод.
Вышеописанные технологии могут реализовываться в распределенной вычислительной системе, которая включает в себя внутренний интерфейсный компонент. Внутренний интерфейсный компонент, например, может представлять собой сервер данных, промежуточный программный компонент и/или сервер приложений. Вышеописанные технологии могут реализовываться в распределенной вычислительной системе, которая включает в себя внешний интерфейсный компонент. Внешний интерфейсный компонент, например, может представлять собой клиентский компьютер, имеющий графический пользовательский интерфейс, веб-браузер, через который пользователь может взаимодействовать с примерной реализацией, и/или другие графические пользовательские интерфейсы для передающего устройства. Вышеуказанные описанные технологии могут реализовываться в распределенной вычислительной системе, которая включает в себя любую комбинацию таких внутренних интерфейсных, промежуточных программных или внешних интерфейсных компонентов.
Компоненты вычислительной системы могут взаимно соединяться посредством передающей среды, которая может включать в себя любую форму или среду для передачи цифровой или аналоговых данных (например, сеть связи). Передающая среда может включать в себя одну или более сетей с коммутацией пакетов и/или одну или более сетей с коммутацией каналов в любой конфигурации. Сети с коммутацией пакетов могут включать в себя, например, Интернет, сеть по Интернет-протоколу (IP) оператора услуг связи (например, локальную вычислительную сеть (LAN), глобальную вычислительную сеть (WAN), университетскую вычислительную сеть (CAN), общегородскую вычислительную сеть (MAN), собственную вычислительную сеть (HAN)), частную IP-сеть, частную телефонную IP-станцию (IPBX), беспроводную сеть (например, сеть радиодоступа (RAN), Bluetooth, сеть ближней связи (NFC), Wi-Fi, WiMAX, сеть по стандарту общей службы пакетной радиопередачи (GPRS), HiperLAN) и/или другие сети с коммутацией пакетов. Сети с коммутацией каналов могут включать в себя, например, коммутируемую телефонную сеть общего пользования (PSTN), унаследованную частную телефонную станцию (PBX), беспроводную сеть (например, RAN, сеть множественного доступа с кодовым разделением каналов (CDMA), сеть множественного доступа с временным разделением каналов (TDMA), сеть по стандарту глобальной системы мобильной связи (GSM)) и/или другие сети с коммутацией каналов.
Передача информации по передающей среде может быть основана на одном или более протоколов связи. Протоколы связи могут включать в себя, например, Ethernet-протокол, Интернет-протокол (IP), протокол "речь-по-IP" (VoIP), протокол между равноправными узлами (P2P), протокол передачи гипертекста (HTTP), протокол инициирования сеанса (SIP), H.323, протокол управления медиашлюзом (MGCP), протокол на основе системы передачи служебных сигналов #7 (SS7), протокол глобальной системы мобильной связи (GSM), протокол переключения между приемом и передачей (PTT), протокол PTT-по-сотовой-сети" (POC), универсальную систему мобильной связи (UMTS), 3GPP-стандарт долгосрочного развития (LTE) и/или другие протоколы связи.
Устройства вычислительной системы могут включать в себя, например, компьютер, компьютер с устройством с браузером, телефон, IP-телефон, мобильное устройство (например, сотовый телефон, персональное цифровое устройство (PDA), смартфон, планшетный компьютер, переносной компьютер, электронное почтовое устройство) и/или другие устройства связи. Устройство с браузером включает в себя, например, компьютер (например, настольный компьютер и/или переносной компьютер) с веб-браузером (например, Chrome™ от компании Google, Inc., Microsoft® Internet Explorer®, предлагаемым компанией Microsoft Corporation, и/или Firefox Mozilla®, предлагаемым компанией Mozilla Corporation). Мобильное вычислительное устройство включает в себя, например, Blackberry® от компании Research In Motion, iPhone® от компании Apple Corporation и/или Android™-устройство. IP-телефоны включают в себя, например, Cisco® Unified IP Phone 7985G и/или Cisco® Unified Wireless Phone 7920, предлагаемый компанией Cisco Systems, Inc.
Следует понимать, что различные аспекты и варианты осуществления изобретения могут комбинироваться различными способами. На основе идей этого описания изобретения, специалисты в данной области техники могут легко определять то, как комбинировать эти различные варианты осуществления. Модификации также являются очевидными для специалистов в данной области техники после прочтения описания изобретения.

Claims (72)

1. Способ регулируемого распределения движения между первым манипулятором и вторым манипулятором, осуществляющими совместную обработку детали в производственной технологической системе, причем один из манипуляторов удерживает инструмент, а другой манипулятор удерживает деталь, которая обрабатывается упомянутым инструментом, включающий:
прием посредством вычислительного устройства данных для первого манипулятора и для второго манипулятора, содержащих для по меньшей мере одного из них весовой коэффициент, регулируемый пользователем для указания, по меньшей мере, процентной доли от движения для соответствующего манипулятора, и задающих данные технологического процесса, выполняемого посредством упомянутого инструмента для по меньшей мере части обрабатываемой детали,
вычисление посредством вычислительного устройства первой и последующей точки в пути технологического процесса, выполняемого посредством инструмента на обрабатываемой детали, с использованием данных технологического процесса,
генерирование посредством вычислительного устройства функции относительной трансформации для задания по меньшей мере одного из части перемещения в пространстве или части поворота на пути технологического процесса от первой точки к последующей точке,
распределение посредством вычислительного устройства движений между первым и вторым манипуляторами для завершения пути технологического процесса на основе указанного по меньшей мере одного весового коэффициента, при этом распределяют между первым и вторым манипуляторами по меньшей мере одно из перемещения в пространстве или поворота в соответствии с процентной долей движения, соответствующего каждому манипулятору, определяемому соответствующим весовым коэффициентом, и
принудительное приведение в действие первого и второго манипуляторов в соответствии с вычисленными движениями для соответствующих манипуляторов.
2. Способ по п. 1, в котором распределяют каждую из части перемещения в пространстве и части поворота между первым и вторым манипуляторами в соответствии с весовым коэффициентом.
3. Способ по п. 2, в котором при распределении части перемещения в пространстве между первым и вторым манипуляторами:
задают вектор весовых коэффициентов на основе весового коэффициента, причем вектор весовых коэффициентов представляет относительное движение в каждом из направлений по оси X, Y и Z для манипулятора, соответствующего весовому коэффициенту,
поэлементно умножают вектор весовых коэффициентов на часть перемещения в пространстве, чтобы генерировать распределенное движение с перемещением в пространстве для соответствующего манипулятора, и
генерируют распределенное движение с перемещением в пространстве для одного из манипуляторов на основе распределенного движения с перемещением в пространстве другого манипулятора.
4. Способ по п. 2, в котором весовой коэффициент включает в себя один весовой коэффициент для управления полным поворотом манипулятора, соответствующего весовому коэффициенту.
5. Способ по п. 4, в котором при распределении части поворота между первым и вторым манипуляторами:
генерируют матрицу поворота на основе указанного одного весового коэффициента,
преобразуют матрицу поворота в инвариантный вектор, который представляется посредством вектора поворота и угла поворота, и
распределяют угол поворота между первым и вторым манипуляторами на основе указанного одного весового коэффициента, чтобы генерировать распределенные движения с поворотом для первого и второго манипуляторов.
6. Способ по п. 2, в котором весовой коэффициент содержит множество весовых коэффициентов для управления поворотом во множестве осей для манипулятора, соответствующего весовому коэффициенту.
7. Способ по п. 6, в котором при распределении части поворота между первым и вторым манипуляторами:
определяют главную ось, ось инструмента и третью ось, которая является нормальной по отношению как к главной оси, так и к оси инструмента, и
для каждой из главной оси, оси инструмента и третьей оси вычисляют распределенные движения с поворотом между первым и вторым манипуляторами на основе весового коэффициента, соответствующего надлежащей оси.
8. Способ по п. 1, в котором весовой коэффициент содержит множество выбираемых пользователем процентных долей для управления распределениями для перемещения в пространстве и поворота вдоль пути технологического процесса.
9. Способ по п. 8, в котором множество процентных долей содержат три процентных доли для управления соответствующими распределениями по перемещению в пространстве вдоль осей X, Y и Z.
10. Способ по п. 8, в котором множество процентных долей содержат одну процентную долю для управления распределениями по перемещению в пространстве вдоль осей X, Y и Z.
11. Способ по п. 8, в котором множество процентных долей содержат три процентных доли для управления соответствующими распределениями по повороту вдоль выбираемой пользователем главной оси, оси инструмента и третьей оси, нормальной по отношению к главной оси и оси инструмента.
12. Способ по п. 8, в котором множество процентных долей содержат одну процентную долю для управления распределениями по повороту вдоль трех из выбираемой пользователем главной оси, оси инструмента и третьей оси, нормальной по отношению к главной оси и оси инструмента.
13. Способ по п. 1, в котором весовой коэффициент содержит одну выбираемую пользователем процентную долю для управления распределениями как для перемещения в пространстве, так и поворота вдоль пути технологического процесса.
14. Способ по п. 1, в котором вычисленные движения для первого и второго манипуляторов обеспечивают минимально возможные перемещения инструмента и обрабатываемой детали в пространстве для выполнения задач.
15. Способ по п. 1, в котором весовой коэффициент связан с процентной долей от движения для одного из первого или второго манипулятора, при этом вычислительное устройство выполнено с возможностью вычисления процентной доли от движения для другого манипулятора на основе весового коэффициента.
16. Компьютерная система для регулируемого распределения движения между первым манипулятором и вторым манипулятором, осуществляющими совместную обработку детали в производственной технологической системе, причем один из манипуляторов удерживает инструмент, а другой манипулятор удерживает деталь, которая обрабатывается упомянутым инструментом, содержащая последовательно соединенные:
пользовательский интерфейс, выполненный с возможностью приема от пользователя (i) данных для первого манипулятор, (ii) данных для второго манипулятора и (iii) задающих данных технологического процесса, выполняемого посредством инструмента для по меньшей мере части обрабатываемой детали, а также с возможностью регулирования пользователем весового коэффициента, содержащегося в данных для по меньшей мере одного из первого или второго манипулятора, для указания, по меньшей мере, процентной доли от движения для соответствующего манипулятора,
модуль вычисления, выполненный с возможностью:
- вычисления первой точки и последующей точки пути технологического процесса, выполняемого посредством инструмента на обрабатываемой детали с использованием данных технологического процесса,
- генерирования функции относительной трансформации для задания пути технологического процесса от первой точки к следующей точке и
- распределения движений между первым и вторым манипуляторами для завершения пути технологического процесса на основе указанного по меньшей мере одного весового коэффициента, и
модуль отображения, выполненный с возможностью графической иллюстрации распределенных движений для соответствующих первого и второго манипуляторов для визуализации процесса обработки детали, удерживаемой вторым манипулятором, посредством инструмента, удерживаемого первым манипулятором.
17. Компьютерная система по п. 16, дополнительно содержащая модуль приведения в действие, электрически связанный с модулем вычисления и выполненный с возможностью приведения в действие первого и второго манипуляторов в соответствии с вычисленными движениями для соответствующих манипуляторов.
18. Компьютерная система по п. 16, в которой генерируемая функция относительной трансформации содержит по меньшей мере одну из части перемещения в пространстве и части поворота, которые задают путь технологического процесса.
19. Компьютерная система по п. 18, в которой распределение движений между первым и вторым манипуляторами содержит распределение каждой из части перемещения в пространстве и части поворота движения между первым и вторым манипуляторами в соответствии с весовым коэффициентом.
20. Компьютерная система по п. 19, в которой весовой коэффициент содержит одно значение весового коэффициента для управления поворотом соответствующего манипулятора во всех осях.
21. Компьютерная система по п. 19, в которой весовой коэффициент содержит множество значений весовых коэффициентов для управления поворотом соответствующего манипулятора по соответствующим из множества осей, содержащих выбираемую пользователем главную ось, ось инструмента и третью ось, нормальную по отношению к главной оси и оси инструмента.
22. Компьютерная система по п. 19, в которой весовой коэффициент содержит одно значение весового коэффициента для управления перемещением в пространстве соответствующего манипулятора во всех осях.
23. Компьютерная система по п. 19, в которой весовой коэффициент содержит множество значений весовых коэффициентов для управления перемещением в пространстве соответствующего манипулятора по соответствующим из множества осей, содержащих ось X, ось Y и ось Z.
24. Компьютерная система по п. 19, в которой весовой коэффициент содержит одно значение весового коэффициента для управления перемещением в пространстве и поворотом соответствующего манипулятора по всем осям.
25. Способ регулируемого распределения движения между первым манипулятором и вторым манипулятором, осуществляющими совместную обработку детали в производственной технологической системе, причем один из манипуляторов удерживает инструмент, а другой манипулятор удерживает деталь, которая обрабатывается упомянутым инструментом, включающий:
прием посредством вычислительного устройства данных для первого манипулятора и для второго манипулятора, содержащих для по меньшей мере одного из них весовой коэффициент, регулируемый пользователем для указания по меньшей мере одной процентной доли от движения для соответствующего манипулятора, и задающих данные технологического процесса, выполняемого посредством упомянутого инструмента для по меньшей мере части обрабатываемой детали,
вычисление посредством вычислительного устройства первой и последующей точек в пути технологического процесса, выполняемого посредством инструмента на обрабатываемой детали с использованием данных технологического процесса,
генерирование посредством вычислительного устройства функции относительной трансформации для задания части перемещения в пространстве и части поворота на пути технологического процесса от первой точки к последующей точке,
распределение посредством вычислительного устройства части перемещения в пространстве функции относительной трансформации между первым и вторым манипуляторами на основе весового коэффициента для генерирования распределенных движений с перемещением в пространстве для первого и второго манипуляторов,
распределение посредством вычислительного устройства поворотной части функции относительной трансформации между первым и вторым манипуляторами на основе весового коэффициента для генерирования распределенных движений с поворотом для первого и второго манипуляторов и
принудительное приведение в действие первого и второго манипуляторов в соответствии с вычисленными для каждого из них движениями.
26. Способ по п. 25, в котором весовой коэффициент включает в себя первый набор из одной или более процентных долей от движения, указывающих перемещения в пространстве одного из первого или второго манипулятора.
27. Способ по п. 26, в котором при распределении части перемещения в пространстве функции относительной трансформации между первым и вторым манипуляторами:
задают вектор весовых коэффициентов на основе первого набора из одной или более процентных долей от движения, причем вектор весовых коэффициентов представляет относительное движение в каждом из направлений по оси X, Y и Z для одного из первого или второго манипулятора,
поэлементно умножают вектор весовых коэффициентов на часть перемещения в пространстве, чтобы генерировать распределенное движение с перемещением в пространстве для одного из первого или второго манипулятора, и
генерируют распределенное движение с перемещением в пространстве для одного из манипуляторов на основе распределенного движения с перемещением в пространстве другого манипулятора.
28. Способ по п. 26, в котором весовой коэффициент дополнительно включает в себя второй набор из одной или более процентных долей от движения для управления поворотом одного из первого или второго манипулятора.
29. Способ по п. 28, в котором второй набор из одной или более процентных долей от движения содержит одну процентную долю, которая указывает угол поворота одного из первого или второго манипулятора по всем осям.
30. Способ по п. 28, в котором при распределении части поворота функции относительной трансформации между первым и вторым манипуляторами:
генерируют матрицу поворота на основе указанной одной процентной доли,
преобразуют матрицу поворота в инвариантный вектор, который представляется посредством вектора поворота и угла поворота и
распределяют угол поворота между первым и вторым манипуляторами на основе указанной одной процентной доли, чтобы генерировать распределенные движения с поворотом для первого и второго манипуляторов.
31. Способ по п. 28, в котором второй набор из одной или более процентных долей от движения содержит множество процентных долей, которые указывают углы поворота одного из первого или второго манипулятора в нескольких осях.
32. Способ по п. 31, в котором при распределении части поворота функции относительной трансформации между первым и вторым манипуляторами:
определяют главную ось, ось инструмента и третью ось, которая является нормальной по отношению к главной оси и к оси инструмента, и
для каждой из главной оси, оси инструмента и третьей оси вычисляют распределенные движения с поворотом между первым и вторым манипуляторами на основе процентной доли, соответствующей надлежащей оси.
33. Способ по п. 25, в котором весовой коэффициент включает в себя одну процентную долю от движения, которое указывает перемещение в пространстве и поворот одного из первого или второго манипулятора.
34. Способ по п. 25, в котором дополнительно отображают распределенные движения с перемещением в пространстве и поворотом для соответствующих первого и второго манипуляторов для визуализации обработки детали посредством инструмента.
35. Машиночитаемое устройство долговременного хранения данных для компьютерной системы регулируемого распределения движений между первым манипулятором и вторым манипулятором, осуществляющих совместную обработку детали в производственной технологической системе, причем один из манипуляторов удерживает инструмент, а другой манипулятор удерживает деталь, которая обрабатывается упомянутым инструментом, содержащее инструкции, обеспечивающие выполнение вычислительным устройством:
приема данных для первого манипулятора и для второго манипулятора, содержащих для по меньшей мере одного из них весовой коэффициент, регулируемый пользователем для указания по меньшей мере процентной доли от движения для соответствующего манипулятора, и задающих данных технологического процесса, выполняемого посредством упомянутого инструмента для по меньшей мере части обрабатываемой детали,
вычисления первой точки и последующей точки пути технологического процесса, выполняемого посредством инструмента на обрабатываемой детали с использованием данных технологического процесса,
генерирования функции относительной трансформации для задания по меньшей мере одного из части перемещения в пространстве и части поворота пути технологического процесса от первой точки к следующей точке и
распределения движений между первым и вторым манипуляторами для завершения пути технологического процесса на основе указанного по меньшей мере одного весового коэффициента посредством команд, обеспечивающих распределение по меньшей мере одной части перемещения в пространстве или поворота между первым и вторым манипуляторами в соответствии с процентной долей движения, соответствующего каждому манипулятору, определяемому соответствующим весовым коэффициентом.
RU2021126582A 2019-02-11 2020-02-11 Распределение движений в роботизированных системах RU2814357C2 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/803,714 2019-02-11

Publications (2)

Publication Number Publication Date
RU2021126582A RU2021126582A (ru) 2023-03-13
RU2814357C2 true RU2814357C2 (ru) 2024-02-28

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1642690A2 (en) * 2004-09-29 2006-04-05 Fanuc Ltd Method for controlling trajectory of robot
RU2319604C1 (ru) * 2006-05-30 2008-03-20 Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" Способ управления пространственным движением манипулятора как системой с распределенными параметрами на заключительном этапе движения при выходе в заданное положение
RU2475347C1 (ru) * 2011-08-23 2013-02-20 Учреждение Российской Академии Наук Институт Машиноведения Им. А.А. Благонравова Ран Устройство для механической обработки изделий сложной пространственной формы
WO2015073322A1 (en) * 2013-11-13 2015-05-21 Abb Technology Ag System for robotic 3d printing
WO2017001044A1 (de) * 2015-06-30 2017-01-05 Kuka Roboter Gmbh Verfahren zum positionieren eines werkstücks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1642690A2 (en) * 2004-09-29 2006-04-05 Fanuc Ltd Method for controlling trajectory of robot
RU2319604C1 (ru) * 2006-05-30 2008-03-20 Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" Способ управления пространственным движением манипулятора как системой с распределенными параметрами на заключительном этапе движения при выходе в заданное положение
RU2475347C1 (ru) * 2011-08-23 2013-02-20 Учреждение Российской Академии Наук Институт Машиноведения Им. А.А. Благонравова Ран Устройство для механической обработки изделий сложной пространственной формы
WO2015073322A1 (en) * 2013-11-13 2015-05-21 Abb Technology Ag System for robotic 3d printing
WO2017001044A1 (de) * 2015-06-30 2017-01-05 Kuka Roboter Gmbh Verfahren zum positionieren eines werkstücks

Similar Documents

Publication Publication Date Title
CN102216037B (zh) 用于优化工业机器人的编程移动路径的方法和装置
CN110573308B (zh) 用于机器人设备的空间编程的基于计算机的方法及系统
US11325256B2 (en) Trajectory planning for path-based applications
Mitsi et al. Off-line programming of an industrial robot for manufacturing
US8401698B2 (en) Method for optimising the performance of a robot
Pires et al. Advances in robotics for additive/hybrid manufacturing: robot control, speech interface and path planning
CN110856934B (zh) 规划使用机器人系统抬起重物的运动的方法
US20250229421A1 (en) Integration of plasma processing and robotic path planning
Dolgui et al. Manipulator motion planning for high-speed robotic laser cutting
US11518024B2 (en) Extensible underconstrained robotic motion planning
US11413751B2 (en) Motion distribution in robotic systems
Urrea et al. Design and implementation of fault-tolerant control strategies for a real underactuated manipulator robot
Djuric et al. Using collaborative robots to assist with travel path development for material deposition based additive manufacturing processes
RU2814357C2 (ru) Распределение движений в роботизированных системах
Müller et al. The assist-by-X system: calibration and application of a modular production equipment for visual assistance
Aracil et al. Bilateral control by state convergence based on transparency for systems with time delay
Izagirre et al. Torque-based methodology and experimental implementation for industrial robot standby pose optimization
Brecher et al. Qualifying multi-technology machine tools for complex machining processes
Matica et al. Real time computation for robotic arm motion upon a linear or circular trajectory
Xiong et al. Trajectory-smooth optimization and simulation of dual-robot collaborative welding
Nagata et al. Reverse and forward post processors for a robot machining system
JP7758537B2 (ja) 軌道計画装置、軌道計画方法および軌道計画プログラム
Kyrylovych et al. Associative approach to automated synthesis of movement trajectories of industrial robots clamping devices using the method of crystallization of alternatives field
Yankov Specific language for robot trajectory generation
Melo et al. Enhancing Robotics Performance: Exploring the Role of Cloud Computing in Planning Tasks