Область техники, к которой относится изобретение.
Изобретение относится к области роботов-манипуляторов с программным управлением, а также способов управления ими, в частности, к области улучшения позиционирования роботов-манипуляторов.
Уровень техники.
Известно устройство управления роботом (US 8428779 B2, опубл. 2013-04-23), которое включает в себя: оценку ошибок положения, как ошибку положения между текущей позицией робота и заданным положением исполнительного механизма; модуль расчета внешней силы, вычисляющий внешнее усилие, приложенное к исполнительному механизму; блок измерения реального значения силы, оценивающий значение силы приложенной к исполнительному механизму; блок оценки ошибки силы, вычисляющий ошибку силы между внешней силой и заданной величиной силы; хранилище, хранящее модель соответствия для позиции исполнительного механизма; расчет первой коррекции, вычисляющий первую величину коррекции для заданного положением значения в соответствии с ошибкой силы, используя модель соответствия; и расчет второй коррекции, вычисляющий вторую величину коррекции для заданного значения положения, на основе компенсации отставания первого порядка для первой коррекции. Модуль оценки ошибок положения вычисляет ошибку положения, используя вторую коррекцию.
В данном решении используется силомоментный датчик для оценки реальной внешней силы, действующей на робот-манипулятор, она сравнивается с ожидаемой силой и на основе этого формируются поправки в управляющих воздействиях. Этот способ управления положением робота-манипулятора сложен, требует наличия силомоментного датчика и менее точен, чем используемый в заявленном решении.
Известно устройство управления роботом (US 8155790 B2, опубл. 2008-10-31), которое включает в себя: приводной блок, приводящий в действие исполнительный механизм на основании значения команды крутящего момента; блок оценки крутящего момента привода, определяющий крутящий момент привода от угла шарнирного вала; блок вычисления внешнего крутящего момента, вычисляющий разницу между расчетным крутящим моментом и значением команды крутящего момента в качестве внешнего крутящего момента; блок вычисления матрицы якобиана, вычисляющий матрицу якобиана на основе угла шарнирного вала; блок вычисления внешней силы, вычисляющий внешнее усилие по матрице Якоби и внешнему крутящему моменту; и блок вычисления суммы коррекции, вычисляющий величину коррекции от внешней силы.
В данном решении осуществляется управление по моменту на сочленениях робота-манипулятора, в заявленном решении же управление осуществляется по положению сочленений робота-манипулятора. Этот способ управления положением сложен и менее точен, чем используемый в заявленном роботе-манипуляторе.
Известно устройство, в котором реализовано управление вторичным положением робота с помощью обратной связи (US 8473103 B2, опубл. 2013-06-25). Известное устройство для достижения динамической точности робота включает в себя систему управления, использующую управление с двухпозиционным контуром. Внешний контур положения использует вторичные энкодеры на выходной стороне зубчатой передачи оси робота, в то время как внутренний контур положения использует первичный энкодер, прикрепленный к двигателю. Как одно-, так и двухконтурное управление можно использовать на одной и той же оси робота.
В данном решении используется единовременно один из энкодеров, в заявленном решении используется одновременно два энкодера для определения внешнего усилия и компенсации деформаций не только в сочленениях, но и в корпусе робота. Также в заявленном решении в дополнение к геометрической модели используется модель жесткости робота, что повышает точность определения положения робота-манипулятора.
Раскрытие изобретения.
В одном аспекте изобретения раскрыт промышленный робот-манипулятор с системой двойных энкодеров, содержащий:
- блок манипулятора, состоящий из множества сочленений и множества звеньев, образующих кинематическую цепь, а также множества приводов для обеспечения возможности приведения блока манипулятора в движение;
- блок управления, выполненный с возможностью задавать движение блока манипулятора посредством подачи сигналов управления на множество приводов;
- множество первых энкодеров, закрепленных по одному на каждом приводе, выполненных с возможностью определять угол поворота вала привода;
- множество вторых энкодеров, закрепленных по одному на каждом сочленении, выполненных с возможностью определять угол поворота сочленения;
причем
блок управления выполнен с возможностью определять величину внешней нагрузки, действующей на робот-манипулятор, на основании разницы показаний множества первых и вторых энкодеров и заранее известной жесткости каждого сочленения,
блок управления выполнен с возможностью определять величину отклонения в заданном движении робота-манипулятора на основании определенной величины внешней нагрузки и заранее известной жесткости каждого сочленения и корректировать сигналы управления для устранения отклонения.
В дополнительных аспектах раскрыто, что блок управления выполнен с возможностью дополнительно учитывать динамическую модель блока манипулятора при определении величины внешней нагрузки; блок манипулятора имеет 6 степеней свободы; блок управления выполнен с возможностью дополнительно учитывать жесткость звеньев.
В другом аспекте изобретения раскрыт способ управления промышленным роботом-манипулятором с системой двойных энкодеров, содержащий этапы, на которых:
- подают сигналы управления блоком манипулятора робота-манипулятора с помощью блока управления;
- получают данные об угле поворота каждого привода блока манипулятора робота-манипулятора с помощью множества первых энкодеров;
- получают данные об угле поворота каждого сочленения блока манипулятора робота-манипулятора с помощью множества вторых энкодеров;
- определяют величину внешней нагрузки, действующей на робот-манипулятор, на основании разницы показаний множества первых и вторых энкодеров и заранее известной жесткости каждого сочленения с помощью блока управления;
- определяют величину отклонения в заданном движении робота-манипулятора на основании определенной величины внешней нагрузки и заранее известной жесткости каждого сочленения с помощью блока управления; и
корректируют сигналы управления для устранения отклонения робота-манипулятора.
Основной задачей, решаемой заявленным изобретением, является повышение точности позиционирования робота-манипулятора в пространстве.
Сущность изобретения заключается в том, что при задании положения робота-манипулятора учитывается внешняя сила, действующая на него, в частности вес перемещаемого роботом-манипулятором объекта (рабочего инструмента или груза). Для определения внешней силы на каждом сочленении и приводе робота-манипулятора установлены энкодеры, которые определяют угол поворота сочленения и вала привода, в силу неидеальности (в частности, неидеальной жесткости) элементов робота-манипулятора не все усилие поворота с вала переходит в поворот сочленения, в каждом сочленении возникает некоторое отклонение, эти отклонения на сочленениях (определенные энкодерами) вместе с заранее известной жесткостью сочленений робота-манипулятора полностью характеризуют внешнюю силу, действующую на робот-манипулятор. Зная эту силу, блок управления вносит корректировку в управление роботом-манипулятором для повышения точности задания его положения в пространстве.
Технический результат, достигаемый решением, заключается в повышении точности задания положения робота-манипулятора в пространстве.
Краткое описание чертежей.
Фиг. 1 показывает кинематическую схему робота-манипулятора.
Фиг. 2 показывает блок-схему робота-манипулятора.
Фиг. 3 показывает расположение энкодеров на роботе-манипуляторе.
Фиг. 4 показывает расположение энкодеров на роботе-манипуляторе.
Осуществление изобретения.
Нижеследующее подробное описание и прилагаемые чертежи показывают различные примерные варианты осуществления изобретения. Описание и чертежи носят поясняющий, но не ограничивающий характер, на основании материалов заявки специалист в данной области техники сможет реализовать множество вариантов изобретения, входящих в объем изобретения, определяемый формулой изобретения. Этапы описанных способов являются примерными, и порядок этапов не является необходимым или критическим.
На фиг. 1 показан робот-манипулятор, содержащий базу 101, к которой прикреплены звенья 103, соединенные сочленениями 102. Множество звеньев 103 и сочленений 102 образуют кинематическую цепь, на конце которой находится внешняя нагрузка. Внешняя нагрузка может представлять собой, как инструмент, используемый роботом-манипулятором для выполнения заданных операций, так и груз, который робот-манипулятор перемещает из одной точки в другую.
Для приведения в движение кинематической цепи используется множество приводов (не показаны на фиг. 1), установленных в сочленениях, на каждый привод поступает сигнал от блока управления (не показан на фиг. 1), благодаря вращению валов приводов приходят в движение звенья и робот-манипулятор осуществляет заданные перемещения из одной точки в другую. Контроль за движением осуществляется с помощью энкодеров, установленных на каждом сочленении. В предлагаемом решении на каждом сочленении установлено два энкодера, первый энкодер измеряет угол поворота вала привода, а второй энкодер измеряет угол поворота сочленения.
Сочленение может быть любого известного типа: вращательное, поступательное (призматическое), цилиндрическое, сферическое, винтовое, плоское или их комбинация. С учетом типа сочленения создается математическая модель робота-манипулятора. Энкодеры в каждом конкретном случае должны быть адаптированы под измерение параметров конкретного сочленения.
В предпочтительном варианте осуществления конструктивно робот-манипулятор и все упомянутые выше его блоки образуют единую конструкцию, также все упомянутые выше блоки предназначены для реализации одной целевой функции. В заявленном решении нет ограничений на количество степеней свободы робота-манипулятора.
На фиг. 3 и 4 показаны аксонометрические виды робота-манипулятора, на которых отдельно показано расположение энкодеров.
Блок управления содержит математическую модель робота, которая состоит из геометрической модели (которая создается на основе геометрических параметров звеньев и сочленений) и модели жесткости (в которую входят параметры жесткости сочленений и, как вариант, звеньев). Первоначально сигналы заданной траектории робота-манипулятора преобразуются с помощью геометрической модели робота в сигналы управления кинематической цепью, то есть в сигналы управления для каждого привода, таким образом блок управления создает сигналы для поворота вала каждого привода так, чтобы робот манипулятор двигался по заданной траектории. В течение движения кинематической цепи множество первых и вторых энкодеров измеряют углы поворота вала привода и углы поворота сочленения на каждом сочленении.
При управлении роботом-манипулятором важно оценить внешнюю, нагрузку, приложенную к роботу-манипулятору, и гибко корректировать движение, реагируя на внешнюю нагрузку. Так как первоначальная калибровка робота-манипулятора происходит в условиях отличных от условий эксплуатации, то утяжеление кинематической цепи из-за внешней нагрузки, изменение температуры, изменение люфта приводит к появлению погрешности в позиционировании робота-манипулятора.
Эта погрешность отражается в разнице показаний пары энкодеров, установленных на сочленении, первый энкодер, установленный, на валу привода показывает одно значение, второй энкодер, установленный на сочленении, показывает иное значение. Все показания множества первых и вторых энкодеров обрабатываются, определяется разница в показаниях на каждом сочленении. Показания пары энкодеров могут быть связаны друг с другом через коэффициент передачи редуктора привода.
В начале движения робота-манипулятора блок управления получает информацию от каждого энкодера, определяет внешнюю нагрузку, используя разницу в показаниях энкодеров, далее вносит коррекцию в сигналы управления с учетом внешней нагрузки, чтобы повысить точность позиционирования кинематической цепи робота-манипулятора.
Энкодеры могут быть любой известной в уровне техники конструкции, точность их должна быть достаточной, чтобы разность показаний пары энкодеров в каждом сочленении была значительно выше уровня шумов в роботе-манипуляторе при оперировании реальными нагрузками.
Блок управления может представлять собой любое вычислительное устройство, функциональности которого достаточно для реализации описанной в заявке функциональности по обработке данных, содержащее интерфейсы связи с кинематической цепью, в частности, приводами и энкодерами. Частными вариантами блока управления являются контроллеры, процессоры, специализированные интегральные схемы, микрокомпьютеры, специализированные компьютеры, компьютеры общего назначения и т.п. Блок управления может быть закреплен на базе робота-манипулятора и образовывать с ним конструктивно единое устройство.
Вариант 1 осуществления.
Для учета и компенсации погрешностей, вызванных наличием внешней нагрузки, в предлагаемом варианте используется по два энкодера (датчика угла) закрепленных на каждом сочленении, причем разность их показаний служит для коррекции движения кинематической цепи робота-манипулятора.
Управление роботом-манипулятором осуществляется следующим образом. Формируется команда для перемещения робота-манипулятора в заданное положение в пространстве, блок управления, получив эту команду, определяет траекторию движения рабочего инструмента (который служит внешней нагрузкой) робота-манипулятора или перемещаемого роботом-манипулятором груза, которая разбивается на множество точек перемещения рабочего инструмента, для которых высчитываются углы поворота сочленений робота-манипулятора. Для определения траектории движения блок управления использует геометрическую модель робота-манипулятора (фиг. 2).
В процессе перемещения робота-манипулятора, снимаются показания обоих энкодеров, которые поступают в средство оценки внешней нагрузки блока управления. На основании разницы в показаниях первого и второго энкодеров на каждом сочленении с учетом заранее определенной жесткости сочленений (жесткость редуктора приводов) средство оценки внешней нагрузки вычисляет момент на каждом сочленении.
где θ1 - показания первого энкодера, θ2 - показания второго энкодера, n - коэффициент передачи редуктора, k - жесткость сочленения, известную из модели жесткости, τ - момент на сочленении.
Зная момент на каждом сочленении, Якобиан (матрицу частных производных первого порядка по каждому θ) и динамическую модель робота-манипулятора, которая позволяет получить усилие на каждом сочленении при известных геометрических параметрах робота-манипулятора и известных положении, скорости и ускорении каждого сочленения (скорость и ускорение получают на основании известных начальных и конечных положений сочленений и времени их перемещения), средство оценки внешней нагрузки восстанавливает в заданной конфигурации кинематической цепи робота-манипулятора внешнюю силу, действующую на робота-манипулятора согласно выражениям:
где τ - действующее значение крутящего момента в сочленениях; q -положение сочленения;- скорость вращения сочленения; Fext - вектор внешней силы, действующий на робота-манипулятора; J - якобиан в точке приложения внешней силы, τdyn - момент в сочленениях, вызванный динамическими силами; τext - момент в сочленениях, вызванный внешней силой. Динамические силы могут быть выражены через М, С, G - инерциальную, центробежную/Кориолисову и гравитационную матрицу робота-манипулятора в заданной конфигурации соответственно.
Для текущей конфигурации рассчитывается матрица K(q) жесткости робота в виде матрицы размерности, например, 6*6 (по числу степеней свободы кинематической цепи). Используется, например, известный из уровня техники метод VJM (Virtual Joint Modeling). Используя вектор внешней силы и матрицу жесткости, средство коррекции блока управления определяет отклонение Δx робота-манипулятора от заданного положения согласно уравнению:
где Δx - отклонение в декартовых координатах, K(q) - матрица жесткости, K(q)-1 - обратная матрице жесткости матрица податливости, размерностью 6 на 6 для робота с 6-ю степенями свободы.
Благодаря корректировке заданного положения робота-манипулятора на величину данного отклонения достигается увеличение точности позиционирования.
Дополнительного увеличения точности можно добиться, введя в формулу определения момента не только жесткость сочленений k1, но и жесткость звеньев k2:
Особенностью предложенного решения является обеспечение возможности получения всех компонентов вектора внешнего воздействия на основании по меньшей мере показаний двух энкодеров и матрицы жесткости робота-манипулятора, обеспечение возможности использования матрицы жесткости и определенного внешнего воздействия для корректировки траектории движения робота.
Вариант 2 осуществления.
Для учета и компенсации погрешностей, вызванных наличием внешней нагрузки, во втором варианте осуществления также используется по два энкодера (датчика угла) закрепленных на каждом сочленении, разность их показаний служит для коррекции движения кинематической цепи робота-манипулятора.
В процессе перемещения робота-манипулятора, снимаются показания обоих энкодеров. На основании разницы в показаниях первого и второго энкодеров на каждом сочленении с учетом заранее определенной жесткости сочленений (жесткость редуктора приводов) вычисляется момент на каждом сочленении.
где θ1 - показания первого энкодера, θ2 - показания второго энкодера, n - коэффициент передачи редуктора, k - жесткость сочленения, τ - момент на сочленении.
Однако во втором варианте осуществления не учитывается динамическая модель робота-манипулятора, так как в обычных условиях использования робота-манипулятора ее влияние мало.
Зная момент на каждом сочленении, Якобиан (матрицу частных производных первого порядка по каждому θ), можно восстановить внешнюю силу, действующую на робота-манипулятора.
где Fext - вектор внешней силы, действующей на робота-манипулятора;
J - якобиан в точке приложения внешней силы; τext - момент в сочленениях, вызванный внешней силой.
Для текущей конфигурации рассчитывается матрица K(q) жесткости робота в виде матрицы размерности, например, 6*6 (по числу степеней свободы кинематической цепи). Используется, например, известный из уровня техники метод VJM (Virtual Joint Modeling). Используя вектор внешней силы и матрицу жесткости, можно определить отклонение Δx робота-манипулятора от заданного положения согласно уравнению:
где Δx - отклонение в декартовых координатах, K(q) - матрица жесткости, K(q)-1 - обратная матрице жесткости матрица податливости, размерность 6 на 6 для робота с 6-ю степенями свободы.
Благодаря корректировке заданного положения робота-манипулятора на величину данного отклонения достигается увеличение точности позиционирования.
Таким образом получают компоненты вектора внешнего воздействия на основании по меньшей мере показаний двух энкодеров и матрицы жесткости робота-манипулятора, обеспечивается возможность использования матрицы жесткости и определенного внешнего воздействия для корректировки траектории движения робота.
Варианты осуществления не ограничиваются описанными здесь вариантами осуществления, специалисту в области техники на основе информации изложенной в описании и знаний уровня техники станут очевидны и другие варианты осуществления изобретения, не выходящие за пределы сущности и объема данного изобретения.
Элементы, упомянутые в единственном числе, не исключают множественности элементов, если отдельно не указано иное.
Под функциональной связью элементов следует понимать связь, обеспечивающую корректное взаимодействие этих элементов друг с другом и реализацию той или иной функциональности элементов. Частными примерами функциональной связи может быть связь с возможностью обмена информацией, связь с возможностью передачи электрического тока, связь с возможностью передачи механического движения, связь с возможностью передачи света, звука, электро-магнитных или механических колебаний и т.д. Конкретный вид функциональной связи определяется характером взаимодействия упомянутых элементов, и, если не указано иное, обеспечивается широко известными средствами, используя широко известные в технике принципы.
Способы, раскрытые здесь, содержат один или несколько этапов или действий для достижения описанного способа. Этапы и/или действия способа могут заменять друг друга, не выходя за пределы объема формулы изобретения и не изменяя его сущность. Другими словами, если не определен конкретный порядок этапов или действий, порядок и/или использование конкретных этапов и/или действий может изменяться, не выходя за пределы объема формулы и без изменения его сущности.
В заявке не указано конкретное программное и аппаратное обеспечение для реализации блоков на чертежах, но специалисту в области техники должно быть понятно, что сущность изобретения не ограничена конкретной программной или аппаратной реализацией, и поэтому для осуществления изобретения могут быть использованы любые программные и аппаратные средства известные в уровне техники. Так аппаратные средства могут быть реализованы в одной или нескольких специализированных интегральных схемах, цифровых сигнальных процессорах, устройствах цифровой обработки сигналов, программируемых логических устройствах, программируемых пользователем вентильных матрицах, процессорах, контроллерах, микроконтроллерах, микропроцессорах, электронных устройствах, других электронных модулях, выполненных с возможностью осуществлять описанные в данном документе функции, компьютер либо комбинации вышеозначенного.
Хотя отдельно не упомянуто, но очевидно, что, когда речь идет о хранении данных, программ и т.п., подразумевается наличие машиночитаемого носителя данных, примеры машиночитаемых носителей данных включают в себя постоянное запоминающее устройство,
оперативное запоминающее устройство, регистр, кэш-память, полупроводниковые запоминающие устройства, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD), а также любые другие известные в уровне техники носители данных.
Несмотря на то, что примерные варианты осуществления были подробно описаны и показаны на сопроводительных чертежах, следует понимать, что такие варианты осуществления являются лишь иллюстративными и не предназначены ограничивать более широкое изобретение, и что данное изобретение не должно ограничиваться конкретными показанными и описанными компоновками и конструкциями, поскольку различные другие модификации могут быть очевидны специалистам в соответствующей области.
Признаки, упомянутые в различных зависимых пунктах формулы, а также реализации раскрытые в различных частях описания могут быть скомбинированы с достижением полезных эффектов, даже если возможность такого комбинирования не раскрыта явно.
Изобретение относится к промышленному роботу-манипулятору и способу управления позиционированием робота-манипулятора. Робот-манипулятор содержит блок манипулятора, состоящий из звеньев, соединенных сочленениями, образующих кинематическую цепь, и приводов, установленных в сочленениях, для приведения блока манипулятора в движение, блок управления, задающий движение блока манипулятора посредством подачи сигналов управления на множество приводов, множество первых энкодеров, закрепленных по одному на каждом приводе, определяющих угол поворота вала привода, и множество вторых энкодеров, закрепленных по одному на каждом сочленении, определяющих угол поворота сочленения. Блок управления обеспечивает определение величины внешней нагрузки, действующей на робот-манипулятор, на основании разницы показаний множества первых и вторых энкодеров и заранее известной жесткости каждого сочленения. Блок управления обеспечивает определение величины отклонения от заданного движения робота-манипулятора на основании определенной величины внешней нагрузки и заранее известной жесткости каждого сочленения и корректировку сигналов управления для устранения отклонения. Технический результат заключается в повышении точности позиционирования робота-манипулятора в пространстве. 2 н. и 3 з.п. ф-лы, 4 ил.
1. Промышленный робот-манипулятор, содержащий:
блок манипулятора, состоящий из звеньев, соединенных сочленениями, образующих кинематическую цепь, и приводов, установленных в сочленениях, для обеспечения возможности приведения блока манипулятора в движение;
- блок управления, выполненный с возможностью задавать движение блока манипулятора посредством подачи сигналов управления на множество приводов;
- множество первых энкодеров, закрепленных по одному на каждом приводе, выполненных с возможностью определять угол поворота вала привода;
- множество вторых энкодеров, закрепленных по одному на каждом сочленении, выполненных с возможностью определять угол поворота сочленения;
причем
блок управления выполнен с возможностью определять величину внешней нагрузки, действующей на робот-манипулятор, на основании разницы показаний множества первых и вторых энкодеров и заранее известной жесткости каждого сочленения,
блок управления выполнен с возможностью определять величину отклонения от заданного движения робота-манипулятора на основании определенной величины внешней нагрузки и заранее известной жесткости каждого сочленения и корректировать сигналы управления для устранения отклонения.
2. Робот-манипулятор по п. 1, в котором блок управления выполнен с возможностью дополнительно учитывать динамическую модель блока манипулятора при определении величины внешней нагрузки.
3. Робот-манипулятор по п. 1, в котором блок манипулятора имеет 6 степеней свободы.
4. Робот-манипулятор по п. 1, в котором блок управления выполнен с возможностью дополнительно учитывать жесткость звеньев.
5. Способ управления позиционированием промышленного робота-манипулятора по п. 1, включающий этапы, на которых:
- подают сигналы управления на приводы блока манипулятора робота-манипулятора с помощью блока управления;
- получают данные об угле поворота вала каждого привода блока манипулятора робота-манипулятора с помощью множества первых энкодеров;
- получают данные об угле поворота каждого сочленения блока манипулятора робота-манипулятора с помощью множества вторых энкодеров;
- определяют величину внешней нагрузки, действующей на робот-манипулятор, на основании разницы показаний множества первых и вторых энкодеров и заранее известной жесткости каждого сочленения с помощью блока управления;
- определяют величину отклонения от заданного движения робота-манипулятора на основании определенной величины внешней нагрузки и заранее известной жесткости каждого сочленения с помощью блока управления; и
корректируют сигналы управления для устранения отклонения робота-манипулятора с помощью блока управления.
US 20170000577 A1, 05.01.2017 | |||
WO 2017167687 A2, 05.10.2017 | |||
US 20180036891 A1, 08.02.2018 | |||
US 20170232612 A1, 17.08.2017 | |||
US 20160354925 A1, 08.12.2016 | |||
Устройство для автоматического регулирования подачи при бурении сбоечно-буровыми машинами | 1949 |
|
SU83729A1 |
РОБОТ- МАНИПУЛЯТОР | 2012 |
|
RU2579712C2 |
Авторы
Даты
2019-08-02—Публикация
2018-08-31—Подача