Изобретение относится к робототехнике и может быть использовано при создании контурных систем управления многостепенными манипуляторами.
Известно устройство числового программного управления, содержащее логический элемент, первый вход которого подключен к пульту обучения, его второй вход - к пульту оператора, третий - к накопителю на магнитной ленте, четвертый через шинный согласователь соединен с выходом микро ЭВМ, пятый и шестой соединены соответственно с формирователями технологических команд, установленных на оборудовании, и с датчикам обратных связей, причем с первого выхода этого логического элемента подаются сигналы управления следящими приводами, а с его второго выхода - технологические команды на оборудование (см. Г. А. Спыну Промышленные работы. Конструирование и применение - Киев: Выща школа, 1991, стр. 165-166).
Недостатком этого устройства является то, что с его помощью удается сформировать управляющую программу на приводы только в режиме обучения по кадрам, когда необходимые движения руки робота воспроизводятся оператором, а формирующиеся при этом в каждой степени подвижности манипулятора сигналы записываются в памяти устройства управления. Затем в автоматическом режиме осуществляется воспроизведение записанных в каждой степени подвижности движений. Это устройство не позволяет формировать сигналы управления на привод каждой степени подвижности на основе информации о текущем положении характерной точки схвата и его ориентации. То есть это устройство не способно решить обратную задачу кинематики для заданной конструкции манипулятора.
Известно также устройство для программного управления манипулятором, содержащее блок задания программы, по каждой регулируемой координате привод, последовательно соединенные первый сумматор, первый вход которого подключен к первому выходу блока задания программы, первый блок деления, первый функциональный преобразователь, второй сумматор, первый релейный элемент, первый блок умножения, второй функциональный преобразователь, второй блок деления и третий функциональный преобразователь, последовательно соединенные четвертый функциональный преобразователь, второй блок умножения, третий блок умножения, второй вход которого подключен к седьмому выходу блока задания программы, третий сумматор, пятый функциональный преобразователь и четвертый блок умножения, последовательно соединенные третий блок деления, и шестой функциональный преобразователь, выход которого соединен со вторым входом второго сумматора, последовательно соединенные пятый блок умножения, четвертый сумматор и второй релейный элемент, выход которого соединен со вторым входом четвертого блока умножения, последовательно соединенные шестой блок умножения, пятый сумматор, выход которого соединен с первым входом пятого блока умножения, а его второй вход - с выходом седьмого блока умножения, последовательно соединенные восьмой блок умножения, первый вход которого подключен к девятому выходу блока задания программы, шестой сумматор, второй вход которого через девятый блок умножения соединен с восьмым выходом блока задания программы, девятый блок умножения, второй вход которого соединен со вторым выходом блока задания программы, вторым входом первого сумматора и с первым входом третьего блока деления, а его выход - со вторым входом четвертого сумматора, последовательно соединенные седьмой функциональный преобразователь, вход которого подключен ко входу четвертого функционального преобразователя и одиннадцатый блок умножения, второй вход которого соединен с первым входом седьмого блока умножения, его выход - со вторым входом третьего сумматора, а его первый вход - со вторым входом шестого блока умножения, последовательно соединенные восьмой функциональный преобразователь, двенадцатый блок умножения, седьмой сумматор, второй вход которого через тринадцатый блок умножения подключен ко второму входу второго блока умножения и девятый функциональный преобразователь, выход которого соединен со вторым входом первого блока умножения, последовательно соединенные четырнадцатый блок умножения, первый вход которого соединен с выходом восьмого функционального преобразователя, а второй - с выходом четвертого функционального преобразователя, и пятнадцатый блок умножения, выход которого подключен к третьему входу третьего сумматора, восьмой сумматор, первый вход которого соединен с третьим выходом блока задания программы и вторыми входами третьего блока деления и пятого блока умножения, его второй вход - с четвертым выходом блока задания программы, а выход - со вторым входом первого блока деления и первым входом четвертого блока деления, девятый сумматор, первый вход которого соединен с пятым, а второй - с шестым выходом блока задания программы (см. Патент РФ N 2054349 МКИ B 25 J 9/16, БИ N 5, 1996 г).
Это устройство является наиболее близким к предлагаемому решению. Оно позволяет сформировать сигналы управления на приводы всех степеней подвижности манипулятора, которые обеспечивают требуемое перемещение схвата в трехмерном пространстве с заданной ориентацией. То есть это устройство обеспечивает решение обратной задачи кинематики в реальном масштабе времени.
Недостатком этого устройства является то, что оно предназначено для другого типа манипулятора, работающего в цилиндрической системе координат, и не может быть использовано для манипуляторов других типов.
Задачей, на решение которой направлено предлагаемое техническое решение, является создание такого устройства управления, которое по известным изменяющимся во времени текущим линейным координатам характерной точки схвата и угловым координатам, характеризующим его ориентацию в трехмерном пространстве в реальном масштабе времени смогло бы сформировать такие сигналы управления на приводы всех степеней подвижности конкретного манипулятора, которые обеспечили бы требуемое перемещение схвата в пространстве с заданной ориентацией. То есть это устройство должно обеспечить решение обратной задачи кинематики в реальном масштабе времени с учетом конструкции и кинематических возможностей рассматриваемого манипулятора.
Технический результат, который достигается при решении этой задачи, заключается в том, что без утомительных и длительных операций обучения, а также без дорогостоящих и сложных устройств управления удается сразу же формировать требуемые сигналы управления на приводы всех степеней подвижности манипулятора, задаваясь только функциями времени, характеризующими линейные перемещения некоторой точки схвата в трехмерном пространстве, а также функциями времени, характеризующими ориентацию схвата в этом пространстве.
Поставленная задача решается тем, что устройство для программного управления манипулятором, содержащее блок задания программы, по каждой регулируемой координате привод, последовательно соединенные первый сумматор, первый вход которого подключен к первому выходу блока задания программы, первый блок деления, первый функциональный преобразователь, второй сумматор, первый релейный элемент, первый блок умножения, второй функциональный преобразователь, второй блок деления и третий функциональный преобразователь, последовательно соединенные четвертый функциональный преобразователь, второй блок умножения, третий блок умножения, второй вход которого подключен к восьмому выходу блока задания программы, третий сумматор, пятый функциональный преобразователь и четвертый блок умножения, последовательно соединенные третий блок деления, и шестой функциональный преобразователь, выход которого соединен со вторым входом второго сумматора, последовательно соединенные пятый блок умножения, четвертый сумматор и второй релейный элемент, выход которого соединен со вторым входом четвертого блока умножения, последовательно соединенные шестой блок умножения, пятый сумматор, выход которого соединен с первым входом пятого блока умножения, а его второй вход - с выходом седьмого блока умножения, последовательно соединенные восьмой блок умножения, первый вход которого подключен к девятому выходу блока задания программы, шестой сумматор, второй вход которого через девятый блок умножения соединен с восьмым выходом блока задания программы, десятый блок умножения, второй вход которого соединен со вторым выходом блока задания программы, вторым входом первого сумматора и с первым входом третьего блока деления, а его выход - со вторым входом четвертого сумматора, последовательно соединенные седьмой функциональный преобразователь, вход которого подключен ко входу четвертого функционального преобразователя и одиннадцатый блок умножения, второй вход которого соединен с первым входом седьмого блока умножения, его выход - со вторым входом третьего сумматора, а его первый вход - со вторым входом шестого блока умножения, последовательно соединенные восьмой функциональный преобразователь, двенадцатый блок умножения, седьмой сумматор, второй вход которого через тринадцатый блок умножения подключен ко второму входу второго блока умножения и девятый функциональный преобразователь, выход которого соединен со вторым входом первого блока умножения, последовательно соединенные четырнадцатый блок умножения, первый вход которого соединен с выходом восьмого функционального преобразователя, а второй - с выходом четвертого функционального преобразователя, и пятнадцатый блок умножения, выход которого подключен к третьему входу третьего сумматора, восьмой сумматор, первый вход которого соединен с третьим выходом блока задания программы и вторыми входами третьего блока деления и пятого блока умножения, его второй вход - с четвертым выходом блока задания программы, а выход - со вторым входом первого блока деления и первым входом четвертого блока деления, девятый сумматор, первый вход которого соединен с пятым, а второй - с шестым выходом блока задания программы, отличается тем, что в него дополнительно введены последовательно соединенные первый источник постоянного сигнала, десятый сумматор, второй вход которого соединен с выходом девятого сумматора, шестнадцатый блок умножения, первый квадратор, одиннадцатый сумматор, десятый функциональный преобразователь, пятый блок деления, одиннадцатый функциональный преобразователь, двенадцатый сумматор, двенадцатый функциональный преобразователь, семнадцатый блок умножения, тринадцатый сумматор, тринадцатый функциональный преобразователь, четырнадцатый и пятнадцатый сумматоры, вторые входы которых подключены к выходу двенадцатого сумматора, четырнадцатый функциональный преобразователь, восемнадцатый блок умножения, шестнадцатый сумматор, второй вход которого соединен с пятым выходом блока задания программы и вторым входом тринадцатого блока умножения, первый блок которого подключен к выходу четырнадцатого функционального преобразователя, третий релейный элемент, девятнадцатый блок умножения, двадцатый блок умножения, второй вход которого соединен с выходом третьего функционального преобразователя, и элемент слежения - хранения, второй вход которого через четвертый релейный элемент подключен к выходу второго функционального преобразователя, а его выход - ко входу четвертого функционального преобразователя, последовательно соединенные второй источник постоянного сигнала, второй квадратор, семнадцатый сумматор, второй вход которого соединен с третьим источником постоянного сигнала, третий вход через третий квадратор - с выходом десятого сумматора и вторыми входами четвертого блока деления и тринадцатого сумматора, восемнадцатый сумматор, выход которого соединен со вторым входом пятого блока деления, а его второй вход через четвертый квадратор - со вторым входом первого блока деления и последовательно соединенными двадцать первым блоком умножения, второй вход которого подключен к выходу второго источника постоянного сигнала и вторым входам шестнадцатого и семнадцатого блоков умножения, и пятый квадратор, выход которого соединен со вторым входом одиннадцатого сумматора, пятнадцатый функциональный преобразователь, вход которого соединен со входами второго функционального преобразователя и пятого релейного элемента, а выход - со вторым входом восемнадцатого блока умножения, шестнадцатый функциональный преобразователь, вход которого соединен с выходом четвертого блока деления, а выход - со вторым входом двенадцатого сумматора, причем вторые входы шестого и пятнадцатого блоков умножения подключены к девятому выходу блока задания программы, второй вход второго блока деления подключен ко второму выходу блока задания программы, вторые входы седьмого и девятого блоков умножения - к выходу четырнадцатого блока умножения, третий выход блока задания программы - ко второму входу двенадцатого блока умножения, выход пятого релейного элемента - ко второму входу девятнадцатого блока умножения, выход пятнадцатого сумматора - ко входу восьмого функционального преобразователя, второй вход третьего блока умножения - к восьмому выходу блока задания программы, а второй вход восьмого блока умножения - к выходу второго блока умножения, причем выходы первого, двенадцатого и четырнадцатого сумматоров, а также элемента слежения - хранения, первого и четвертого блоков умножения соединены со входами приводов, расположенных соответственно в первой, второй, третьей, четвертой, пятой и шестой степенях подвижности манипулятора.
Сопоставительный анализ признаков заявляемого решения с признаками аналогов и прототипа свидетельствует о его соответствии критерию "новизна".
Заявленная совокупность признаков, приведенная в отличительной части формулы изобретения, позволяет в реальном масштабе времени формировать управляющие воздействия на все степени подвижности рассматриваемого манипулятора при задании временных функций изменения положения характерной точки схвата в трехмерном пространстве и временных функций, определяющих ориентацию схвата в этом пространстве.
На фиг. 1 представлена блок - схема предлагаемого устройства управления, а на фиг. 2 - кинематическая схема шестистепенного манипулятора; на фиг. 3 - дана характеристика функционального преобразователя 75.
На этих чертежах введены следующие обозначения: qi - обобщенная координата степени подвижности i манипулятора, это управляющие координаты соответствующих приводов манипулятора (i = r - вектор, задающий положение характерной точки схвата P в трехмерном пространстве, определяемом неподвижной системой координат xyz; rx, ry, rz - координаты вектора r (характерной точки схвата манипулятора) в трехмерном пространстве: R - вектор, определяющий положение шарнира (точка W) пятой степени подвижности (координата q5) в трехмерном пространстве xyz; Rx, Ry, Rz - координаты вектора R в трехмерном пространстве xyz; L1, L2, L3, L4 - длины соответствующих звеньев манипулятора; a, b - единичные векторы, расположенные в плоскости схвата и определяющие его ориентацию в трехмерном пространстве xyz; ax, ay, az, bx, by, bz - соответствующие координаты векторов a и b в трехмерном пространстве xyz; ei - единичные векторы, совпадающие с осями шарниров степеней подвижности манипулятора (i =
Устройство для программного управления манипулятором (см. фиг. 1) содержит блок 1 задания программы, по каждой регулируемой координате привод, последовательно соединенные первый сумматор 2, первый вход которого подключен к первому выходу блока 1 задания программы, первый блок 3 деления, первый функциональный преобразователь 4, второй сумматор 5, первый релейный элемент 6, первый блок 7 умножения, второй функциональный преобразователь 8, второй блок 9 деления и третий функциональный преобразователь 10, последовательно соединенные четвертый функциональный преобразователь 11, второй блок 12 умножения, третий блок 13 умножения, второй вход которого подключен к восьмому выходу блока 1 задания программы, третий сумматор 14, пятый функциональный преобразователь 15 и четвертый блок 16 умножения, последовательно соединенные третий блок 17 деления и шестой функциональный преобразователь 18, выход которого соединен со вторым входом второго сумматора 5, последовательно соединенные пятый блок 19 умножения, четвертый сумматор 20 и второй релейный элемент 21, выход которого соединен со вторым входом четвертого блока 16 умножения, последовательно соединенные шестой блок 22 умножения, пятый сумматор 23, выход которого соединен с первым входом пятого блока 19 умножения, а его второй вход - с выходом седьмого блока 24 умножения, последовательно соединенные восьмой блок 25 умножения, первый вход которого подключен к девятому выходу блока 1 задания программы, шестой сумматор 26, второй вход которого через девятый блок 27 умножения соединен с восьмым выходом блока 1 задания программы, десятый блок 28 умножения, второй вход которого соединен со вторым выходом блока 1 задания программы, вторым входом первого сумматора 2 и с первым входом третьего блока 17 деления, а его выход - со вторым входом четвертого сумматора 20, последовательно соединенные седьмой функциональный преобразователь 29, вход которого подключен ко входу четвертого функционального преобразователя 11 и одиннадцатый блок 30 умножения, второй вход которого соединен с первым входом седьмого блока 24 умножения, его выход - со вторым входом третьего сумматора 14, а его первый вход - со вторым входом шестого блока 22 умножения, последовательно соединенные восьмой функциональный преобразователь 31, двенадцатый блок 32 умножения, седьмой сумматор 33, второй вход которого через тринадцатый блок 34 умножения подключен ко второму входу второго блока 12 умножения и девятый функциональный преобразователь 35, выход которого соединен со вторым входом первого блока 7 умножения, последовательно соединенные четырнадцатый блок 35 умножения, первый вход которого соединен с выходом восьмого функционального преобразователя 31, а второй - с выходом четвертого функционального преобразователя 11, и пятнадцатый блок 37 умножения, выход которого подключен к третьему входу третьего сумматора 14, восьмой сумматор 38, первый вход которого соединен с третьим выходом блока 1 задания программы и вторыми входами третьего блока 17 деления и пятого блока 19 умножения, его второй вход - с четвертым выходом блока 1 задания программы, а выход - со вторым входом первого блока 3 деления и первым входом четвертого блока 39 деления, девятый сумматор 40, первый вход которого соединен с пятым, а второй - с шестым выходом блока 1 задания программы, последовательно соединенные первый источник 41 постоянного сигнала, десятый сумматор 42, второй вход которого соединен с выходом девятого сумматора 40, шестнадцатый блок 43 умножения, первый квадратор 44, одиннадцатый сумматор 45, десятый функциональный преобразователь 46, пятый блок 47 деления, одиннадцатый функциональный преобразователь 48, двенадцатый сумматор 49, двенадцатый функциональный преобразователь 50, семнадцатый блок 51 умножения, тринадцатый сумматор 52, тринадцатый функциональный преобразователь 53, четырнадцатый 54 и пятнадцатый 55 сумматоры, вторые входы которых подключены к выходу двенадцатого сумматора 49, четырнадцатый функциональный преобразователь 56, восемнадцатый блок 57 умножения, шестнадцатый сумматор 58, второй вход которого соединен с пятым выходом блока 1 задания программы и вторым входом тринадцатого блока 34 умножения, первый вход которого подключен к выходу четырнадцатого функционального преобразователя 56, третий релейный элемент 59, девятнадцатый блок 60 умножения, двадцатый блок 61 умножения, второй вход которого соединен с выходом третьего функционального преобразователя 10, и элемент 62 слежения - хранения, второй вход которого через четвертый релейный элемент 63 подключен к выходу второго функционального преобразователя 8, а его выход - ко входу четвертого функционального преобразователя 11, последовательно соединенные второй источник 64 постоянного сигнала, второй квадратор 65, семнадцатый сумматор 66, второй вход которого соединен с третьим источником 67 постоянного сигнала, третий вход через третий квадратор 68 - с выходом десятого сумматора 42 и вторыми входами четвертого блока 39 деления и тринадцатого сумматора 52, восемнадцатый сумматор 69, выход которого соединен со вторым входом пятого блока 47 деления, а его второй вход через четвертый квадратор 70 - со вторым входом первого блока 3 деления и последовательно соединенными двадцать первым блоком 71 умножения, второй вход которого подключен к выходу второго источника 64 постоянного сигнала и вторым входам шестнадцатого 43 и семнадцатого 51 блоков умножения, и пятый квадратор 72, выход которого соединен со вторым входом одиннадцатого сумматора 45, пятнадцатый функциональный преобразователь 73, вход которого соединен со входами второго функционального преобразователя 8 и пятого релейного элемента 74, а выход - со вторым входом восемнадцатого блока 57 умножения, шестнадцатый функциональный преобразователь 75, вход которого соединен с выходом четвертого блока 39 деления, а выход - со вторым входом двенадцатого сумматора 49, причем вторые входы шестого 22 и пятнадцатого 37 блоков умножения подключены к девятому выходу блока 1 задания программы, второй вход второго блока 9 деления подключен ко второму выходу блока 1 задания программы, вторые входы седьмого 24 и девятого 27 блоков умножения - к выходу четырнадцатого блока 36 умножения, третий выход блока 1 задания программы - ко второму входу двенадцатого блока 32 умножения, выход пятого релейного элемента 74 - ко второму входу девятнадцатого блока 60 умножения, выход пятнадцатого сумматора 55 - ко входу восьмого функционального преобразователя 31, второй вход третьего блока 13 умножения - к восьмому выходу блока 1 задания программы, а второй вход восьмого блока 25 умножения - к выходу второго блока 12 умножения, причем выходы первого 2, двенадцатого 49 и четырнадцатого 54 сумматора, а также элемента 62 слежения - хранения, первого 7 и четвертого 16 блоков умножения соединены со входами приводов, расположенных соответственно в первой, второй, третьей, четвертой, пятой и шестой степенях подвижности манипулятора.
Устройство для управления манипулятором работает следующим образом.
Блок 1 задания программы вырабатывает координаты вектора r, характеризующего текущее положение средней точки P схвата манипулятора в трехмерном пространстве xyz, а также текущие координаты векторов a и b, характеризующих ориентацию этого схвата в указанном пространстве в конкретный момент времени. Координаты вектора r: rx, ry, rz формируются соответственно на первом, четвертом и шестом выходах блока 1 задания программы, координаты вектора a: ax, ay, az - соответственно на втором, третьем и пятом выходах, а координаты вектора b: bx, by, bz - соответственно на седьмом, восьмом и девятом выходах этого блока. Все указанные координаты являются функциями времени. Предлагаемое устройство должно обеспечить формирование требуемых сигналов управления qi (i = ), которые необходимо подать одновременно на все шесть приводов манипулятора, установленных в соответствующие степени подвижности для обеспечения задаваемого блоком 1 закона перемещения схвата в пространстве xyz, т.е. для обеспечения закона изменения векторов r = r(t), a = a(t), b = b(t), где t - текущий момент времени.
На обобщенные координаты манипулятора накладываются следующие ограничения:
где ϕ = q2 + q3.
Отсчет вращательных степеней подвижности начинается из положения манипулятора, показанного на фиг. 2. При этом движение против часовой стрелки считается положительным, а по часовой стрелке - отрицательным. Направление вращения определяется относительно соответствующих векторов ei, если взгляд направлен от стрелки к основанию вектора ei.
Из фиг. 2 видно, что всегда выполняется равенство
R = r - L4e6 = r - L4a.
Первый положительный вход сумматора 2 имеет единичный коэффициент усиления, его второй отрицательный вход - коэффициент усиления L4. В результате на выходе этого сумматора формируется сигнал q1= Rx= rx-L4•ax.
Первые отрицательные входы сумматоров 38 и 40 имеют коэффициенты усиления L4, а их вторые положительные входы - коэффициенты усиления, равные единице. В результате на выходах этих сумматоров соответственно будут формироваться сигналы, равные
Ry = ry - L4ay и Rz = rz - L4az.
Источник постоянного сигнала 41 вырабатывает сигнал L1. Оба выхода сумматора 42 имеют единичные коэффициенты усиления, в результате на выходе этого сумматора вырабатывается сигнал, равный (Rz - L1). На выходе блока деления 39 формируется сигнал Ry/(Rz-L1). Источник постоянного сигнала 64 вырабатывает сигнал f2 = -L2/L3. На выходе блока умножения 43 формируется сигнал (Rz - L1) • f2. Квадратор 44 имеет коэффициент усиления 1/L2 3. В результате на его выходе имеем сигнал
На выходе блока умножения 71 имеем сигнал Ry • f2. Квадратор 72 имеет коэффициент усиления 1/L2 3. В результате на его выходе формируется сигнал
Первый и второй положительные входы сумматора 45 имеют коэффициенты усиления 4, поэтому на его выходе имеем сигнал -g1 2 + g2 2 = 4 (f1 2 • f2 2 + f2 2 • f3 2). Функциональный преобразователь 46 реализует функцию извлечения квадратного корня. В результате на его выходе формируется сигнал
Квадратор 65 имеет единичный коэффициент усиления. В результате на его выходе формируется сигнал f2 2. Квадратор 68 имеет коэффициент усиления 1/L3 2. Поэтому на его выходе формируется сигнал
Источник постоянного сигнала 67 имеет на выходе единичный сигнал.
Первый, третий отрицательные входы сумматора 66 и второй положительный его вход имеют единичные коэффициенты усиления. В результате на его выходе формируется сигнал, равный (1 - f2 2 - f1 2). Квадратор 70 имеет коэффициент усиления 1/L3 2. В результате на его выходе получается сигнал
Первый положительный и второй отрицательный входы сумматора 69 имеют единичные коэффициенты усиления. Поэтому на его выходе формируется сигнал g3 = 1 - f1 2 - f2 2 - f3 2, а на выходе блока деления 47 сигнал Функциональный преобразователь 48 реализует функцию arcsin. Поэтому на его выходе формируется сигнал Функциональный преобразователь 75 реализует функцию , причем arctg принимает значения от -π до 0 (см. фиг. 3). Сумматор 49 имеет первый положительный и второй отрицательный входы с единичными коэффициентами усиления. На его выходе формируется сигнал
Функциональный преобразователь 50 реализует функцию sin. На выходе блока умножения 51 реализуется сигнал f2•sin q2. Первый положительный вход сумматора 52 имеет единичный коэффициент усиления, а его второй положительный вход - коэффициент усиления, равный 1/L3, поэтому на его выходе формируется сигнал f1 + f2•sin q2. Функциональный преобразователь 53 реализует функцию arcsin.
Первый положительный и второй отрицательный входы сумматора 54 имеют единичные коэффициенты усиления. На выходе этого сумматора формируется сигнал q3 = arcsin (f1 + f2 • sin q2) - q2. Первый и второй положительные входы сумматора 55 имеют единичные коэффициенты усиления. В результате на выходе этого сумматора формируется сигнал ϕ = q2 + q3. Функциональные преобразователи 31 и 56 реализует функции cos и sin соответственно. На выходе блока умножения 32 формируется сигнал aycos ϕ. Первый и второй положительные входы сумматора 33 имеют единичные коэффициенты усиления. На его выходе формируется сигнал ay • cos ϕ + az • sin ϕ.
Функциональный преобразователь 35 реализует функцию arccos. На его выходе имеем сигнал arccos (ay • cos ϕ + az • sin ϕ). Этот сигнал определяет лишь абсолютную величину обобщенной координаты q5. Для определения знака q5 воспользуемся следующим фактом. Если угол между положительным направлением оси Y и проекцией вектора а на плоскость XY больше, чем угол между тем же направлением оси Y и проекцией вектора R на плоскость XY, то q5 имеет положительное значение, а в противном случае - отрицательное.
На выходе блока 17 деления формируется сигнал ax/ay. Функциональный преобразователь 18 реализует функцию arctg. При ay --> 0 сигнал на выходе блока 17 стремится к максимальному возможному значению. При этом функциональный преобразователь 18 настраивается так, чтобы при ay --> 0 в зависимости от знака ax, на его выходе был бы сигнал π/2 или ( -π/2). При формировании сигнала ay блоком 1 следует избегать ay = 0 точно.
Блок 3 деления имеет на выходе сигнал Rx/Ry. Функциональный преобразователь 4 реализует функцию arctg. Первый положительный и второй отрицательный входы сумматора 5 имеют единичные коэффициенты усиления. В результате на его выходе формируется сигнал α, равный разности углов, которые составляют с положительным направлением оси Y соответственно проекции векторов a и R на плоскость XY. На выходе релейного элемента 6 реализуется сигнал, равный
В результате на выходе блока 7 умножения формируется сигнал
q5 = ±arccos(aycosϕ-azsinϕ).
Функциональный преобразователь 8 реализует функцию (- sin). Блок 9 деления имеет на выходе сигнал
Функциональный преобразователь 10 реализует функцию arccos. В результате на его выходе сигнал определяет абсолютную величину координаты q4. Определение знака обобщенной координаты q4 осуществляется при сравнении координаты вектора e6z = az со значением координаты того же вектора e6 при q4 = 0, т.е. e6z 0. При положительном знаке q5 обобщенная координата q4 имеет положительный знак, если e6z 0 ≤ az, в противном случае - отрицательный. При отрицательном знаке q5 обобщенная координата q4 имеет положительный знак, если e6z ≥ az, в противном случае - отрицательный. Функциональный преобразователь 73 реализует функцию cos. На выходе блока 57 умножения формируется сигнал
sinϕcosq5 = e
Первый отрицательный и второй положительный входы сумматора 58 имеют единичные коэффициенты усиления. На выходе этого сумматора формируется сигнал k = az - e6z 0. Этот сигнал поступает на вход релейного элемента 59, на выходе которого реализует сигнал
На выходе релейного элемента 74 реализует сигнал
В результате на выходе блока 60 умножения формирует сигнал, определяющий знак обобщенной координаты q4, а на выходе блока 61 умножения формируется сигнал
Элемент слежения - хранения 62 обеспечивает работоспособность устройства при q5 --> 0, когда на вход делителя блока 9 деления поступает близкий к нулю сигнал, т. е. когда этот блок может работать с недопустимо большой погрешностью. При q5 --> 0 элемент 62 сохраняет значение q4 неизменным до тех пор, пока q5 находится в опасной для блока 9 деления зоне. Управляется элемент 62 релейным элементом 63, имеющем следующему характеристику
где Δ малая положительная величина.
Элемент 62 находится в режиме хранения, когда |sinq5|<Δ, и в режиме слежения, когда |sinq5|>Δ.
Обобщенную координату q6 можно определить из скалярного произведения векторов e5 = (sin q4, - cos q4 • sin ϕ, cos q4 • cos ϕ )T и b = (bx, by, bz)T.
Функциональный преобразователь 29 реализует функцию sin. На выходе блока 30 умножения формируется сигнал, равный bx • sin q4. Функциональный преобразователь 11 реализует функцию cos. На выходе блока 12 умножения формируется сигнал cos q4 sin ϕ, а на выходе блока 13 умножения - сигнал by cos q4 sin ϕ. На выходе блока 36 умножения формируется сигнал cos ϕ cos q4, а на выходе блока 37 умножения сигнал bz cos ϕ cos q4. Первый отрицательный, второй и третий положительные входы сумматора 14 имеют единичные коэффициенты усиления. В результате на выходе этого сумматора формируется сигнал (bxsin q4 - sin ϕ cos q4by + cos ϕ cos q4bz). Функциональный преобразователь 15 реализует функцию arccos. На его выходе формируется сигнал, равный абсолютному значению обобщенной координаты q6.
Для определения знака q6 воспользуемся векторным произведением векторов e5 и b. Если совпадает с вектором a, то q6 положительна, а в противном случае - отрицательна. В силу введенных ограничений на обобщенные координаты манипулятора невозможно одновременное обнуление проекций векторов γ и a на оси координат X и Y. В результате о совпадении направлений векторов γ и a можно судить, анализируя только две их проекции: на оси x и y. На выходе блока 25 умножения формируется сигнал sin ϕ cos q4bz.
На выходе сумматора 26, имеющего на первом и втором отрицательных входах единичные коэффициенты усиления, формируется сигнал γx = -cos q4sin ϕ bz - by cos q4cos ϕ, а на выходе блока 28 умножения - сигнал γx•ax.
На выходе сумматора 23, имеющего на первом отрицательном и втором положительном входах единичные коэффициенты усиления, формируется сигнал γy = bx cos q4cos ϕ - sin q4bz, а на выходе блока 19 умножения формируется сигнал γy•ay. Первый и второй положительные входы сумматора 20 имеют единичные коэффициенты усиления. В результате на его выходе формируется сигнал β = γx•ax+γy•ay. Если сигнал β положительный, то q6 имеет знак "плюс", в противном случае - "минус", т.к. на выходе релейного элемента 21 формируется сигнал
В результате на выходе блока 16 умножения формируется сигнал
q6 = ± arccos (bxsin q4 - sin ϕ cos q4by + cos ϕ q4bz).
Таким образом, с помощью предложенного устройства удалось полностью решить обратную задачу кинематики для манипулятора, изображенного на рис. 2. Т.е. удалось сформировать все сигналы qi(t) (i = ), которые поступают на следящие приводы соответствующих степеней подвижности манипулятора и обеспечивают перемещение точки P схвата в трехмерном пространстве по заданной вектором r(t) траектории с заданной векторами a (t) и b (t) ориентацией схвата. Практическая реализация этого устройства не вызывает затруднений, т. к. оно реализовано с помощью типовых электронных элементов и блоков.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЛЯ ПРОГРАММНОГО УПРАВЛЕНИЯ МАНИПУЛЯТОРОМ | 1997 |
|
RU2120850C1 |
УСТРОЙСТВО ДЛЯ ПРОГРАММНОГО УПРАВЛЕНИЯ МАНИПУЛЯТОРОМ | 1994 |
|
RU2054349C1 |
САМОНАСТРАИВАЮЩИЙСЯ ЭЛЕКТРОПРИВОД РОБОТА | 2002 |
|
RU2208241C1 |
УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПРИВОДОМ РОБОТА | 2002 |
|
RU2214327C1 |
САМОНАСТРАИВАЮЩИЙСЯ ЭЛЕКТРОПРИВОД РОБОТА | 2002 |
|
RU2208242C1 |
УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПРИВОДОМ РОБОТА | 2003 |
|
RU2228257C1 |
УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПРИВОДОМ РОБОТА | 2002 |
|
RU2209719C1 |
УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПРИВОДОМ РОБОТА | 1992 |
|
RU2028931C1 |
УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПРИВОДОМ РОБОТА | 1999 |
|
RU2147276C1 |
УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПРИВОДОМ РОБОТА | 1994 |
|
RU2057001C1 |
Изобретение относится к робототехнике и может быть использовано при создании систем программного управления манипуляторами с типовой кинематической схемой. Технический результат -формирование сигналов управления на приводы всех степеней подвижности манипулятора исходя только из функций времени, характеризующих линейные перемещения некоторой точки охвата в трехмерном пространстве. Это устройство обеспечивает формирование управляющих сигналов на каждый привод соответствующей степени подвижности манипулятора исходя из заданного закона перемещения характерной точки охвата и его ориентации в трехмерном пространстве. Формирование указанных сигналов управления осуществляется в реальном масштабе времени с помощью типовых элементов. 3 ил.
Устройство для программного управления манипулятором, содержащее блок задания программы, по каждой регулируемой координате - привод, последовательно соединенные первый сумматор, первый вход которого подключен к первому выходу блока задания программы, первый блок деления, первый функциональный преобразователь, второй сумматор, первый релейный элемент, первый блок умножения, второй функциональный преобразователь, второй блок деления и третий функциональный преобразователь, последовательно соединенные четвертый функциональный преобразователь, второй блок умножения, третий блок умножения, второй вход которого подключен к восьмому выходу блока задания программы, третий сумматор, пятый функциональный преобразователь и четвертый блок умножения, последовательно соединенные третий блок деления и шестой функциональный преобразователь, выход которого соединен с вторым входом второго сумматора, последовательно соединенные пятый блок умножения, четвертый сумматор и второй релейный элемент, выход которого соединен с вторым входом четвертого блока умножения, последовательно соединенные шестой блок умножения, пятый сумматор, выход которого соединен с первым входом пятого блока умножения, а его второй вход - с выходом седьмого блока умножения, последовательно соединенные восьмой блок умножения, первый вход которого подключен к девятому выходу блока задания программы, шестой сумматор, второй вход которого через девятый блок умножения соединен с восьмым выходом блока задания программы, десятый блок умножения, второй вход которого соединен с вторым выходом блока задания программы, вторым входом первого сумматора и с первым входом третьего блока деления, а его выход - с вторым входом четвертого сумматора, последовательно соединенные седьмой функциональный преобразователь, вход которого подключен к входу четвертого функционального преобразователя, и одиннадцатый блок умножения, второй вход которого соединен с первым входом седьмого блока умножения, его выход - с вторым входом третьего сумматора, а его первый вход - с вторым входом шестого блока умножения, последовательно соединенные восьмой функциональный преобразователь, двенадцатый блок умножения, седьмой сумматор, второй вход которого через тринадцатый блок умножения подключен к второму входу второго блока умножения и девятый функциональный преобразователь, выход которого соединен с вторым входом первого блока умножения, последовательно соединенные четырнадцатый блок умножения, первый вход которого соединен с выходом восьмого функционального преобразователя, а второй - с выходом четвертого функционального преобразователя, и пятнадцатый блок умножения, выход которого подключен к третьему входу третьего сумматора, восьмой сумматор, первый вход которого соединен с третьим выходом блока задания программы и вторыми входами третьего блока деления и пятого блока умножения, его второй вход - с четвертым выходом блока программы, а выход - с вторым входом первого блока деления и первым входом четвертого блока деления, девятый сумматор, первый вход которого соединен с пятым, а второй - с шестым выходом блока задания программы, отличающееся тем, что в него дополнительно введены последовательно соединенные первый источник постоянного сигнала, десятый сумматор, второй вход которого соединен с выходом девятого сумматора, шестнадцатый блок умножения, первый квадратор, одиннадцатый сумматор, десятый функциональный преобразователь, пятый блок деления, одиннадцатый функциональный преобразователь, двенадцатый сумматор, двенадцатый функциональный преобразователь, семнадцатый блок умножения, тринадцатый сумматор, тринадцатый функциональный преобразователь, четырнадцатый и пятнадцатый сумматоры, вторые входы которых подключены к выходу двенадцатого сумматора, четырнадцатый функциональный преобразователь, восемнадцатый блок умножения, шестнадцатый сумматор, второй вход которого соединен с пятым выходом блока задания программы и вторым входом тринадцатого блока умножения, первый вход которого подключен к выходу четырнадцатого функционального преобразователя, третий релейный элемент, девятнадцатый блок умножения, двадцатый блок умножения, второй вход которого соединен с выходом третьего функционального преобразователя, и элемент слежения-хранения, второй вход которого через четвертый релейный элемент подключен к выходу второго функционального преобразователя, а его выход - к входу четвертого функционального преобразователя, последовательно соединенные второй источник постоянного сигнала, второй квадратор, семнадцатый сумматор, второй вход которого соединен с третьим источником постоянного сигнала, третий вход через третий квадратор - с выходом десятого сумматора и вторыми входами четвертого блока деления и тринадцатого сумматора, восемнадцатый сумматор, выход которого соединен с вторым входом пятого блока деления, а его второй вход через четвертый квадратор - с вторым входом первого блока деления и последовательно соединенными двадцать первым блоком умножения, второй вход которого подключен к выходу второго источника постоянного сигнала и вторыми входами шестнадцатого и семнадцатого блоков умножения, и пятый квадратор, выход которого соединен с вторым входом одиннадцатого сумматора, пятнадцатый функциональный преобразователь, вход которого соединен с входами второго функционального преобразователя и пятого релейного элемента, а выход - с вторым входом восемнадцатого блока умножения, шестнадцатый функциональный преобразователь, вход которого соединен с выходом четвертого блока деления, а выход - с вторым входом двенадцатого сумматора, причем вторые входы шестого и пятнадцатого блоков умножения подключены к девятому выходу блока задания программы, второй вход второго блока деления подключен к второму выходу блока задания программы, вторые входы седьмого и девятого блоков умножения - к выходу четырнадцатого блока умножения, третий выход блока задания программы - к второму входу двенадцатого блока умножения, выход релейного элемента к второму входу девятнадцатого блока умножения, выход пятнадцатого сумматора - к входу восьмого функционального преобразователя, второй вход третьего блока умножения - к восьмому выходу блока задания программы, а второй вход восьмого блока умножения - к выходу второго блока умножения, причем выходы первого, двенадцатого и четырнадцатого сумматоров, а также элемента слежения - хранения, первого и четвертого блоков умножения соединены с входами приводов, расположенных соответственно в первой - шестой степенях подвижности манипулятора.
УСТРОЙСТВО ДЛЯ ПРОГРАММНОГО УПРАВЛЕНИЯ МАНИПУЛЯТОРОМ | 1994 |
|
RU2054349C1 |
Шланговое соединение | 0 |
|
SU88A1 |
Способ получения монохлоролефинов | 1975 |
|
SU523889A1 |
Авторы
Даты
1999-05-10—Публикация
1998-05-26—Подача