The Gear Rotates With an Angular Velocity of ω = 16 Rad/s and the Gear Rack Moves at Vc = 5.2 M/s . UPDATED

The Gear Rotates With an Angular Velocity of ω = 16 Rad/s and the Gear Rack Moves at Vc = 5.2 M/s .

Моделирование руки промышленного робота

Этот пример показывает серо-коробочное моделирование динамики руки промышленного робота. Рука робота описывается нелинейной трехмассовой гибкой моделью согласно фиг.one. Эта модель идеализирована в том смысле, что движения приняты вокруг оси, не затронутой гравитацией. Для простоты моделирование также выполняется с передаточным отношением r = one, и истинные физические параметры затем получаются путем простого масштабирования с истинным передаточным отношением. Эксперименты по моделированию и идентификации, подробно описанные ниже, основаны на работе, опубликованной в

            Eastward. Wernholt and South. Gunnarsson. Nonlinear Identification of a   Physically Parameterized Robot Model. In preprints of the 14th IFAC   Symposium on System Identification, pages 143-148, Newcastle,   Commonwealth of australia, March 2006.

Фигура 1: Принципиальная схема руки промышленного робота.

Моделирование руки робота

Входом для робота является приложенный крутящий момент u (t) = tau (t), генерируемый электродвигателем, и полученная скорость вращения мотора y (t) = d/dt q_m (t) является измеренным выходом. Угловые положения масс после коробки передач и в конце конструкции рычага, q_g (t) и q_a (t), не поддаются измерению. Гибкость внутри коробки передач моделируется нелинейной пружиной, описываемой крутящим моментом пружины tau_s (t), который расположен между двигателем и второй массой, в то время как «линейная» пружина между двумя последними массами моделирует гибкость в структуре рычага. Трение системы действует в основном на первую массу и здесь моделируется нелинейным крутящим моментом трения tau_f (t).

Представление состояний:

              ( x1(t) )   ( q_m(t) - q_g(t) )          ( x2(t) )   ( q_g(t) - q_a(t) )   ten(t) = ( x3(t) ) = (   d/dt q_m(t)   )          ( x4(t) )   (   d/dt q_g(t)   )          ( x5(t) )   (   d/dt q_a(t)   )

и применение балансов крутящего момента для трех масс приводит к следующей структуре нелинейной модели пространства состояний:

              d/dt x1(t) = x3(t) - x4(t)   d/dt x2(t) = x4(t) - x5(t)   d/dt x3(t) = 1/J_m*(-tau_s(t) - d_g*(x3(t)-x4(t)) - tau_f(t) + u(t))   d/dt x4(t) = 1/J_g*(tau_s(t) + d_g*(x3(t)-x4(t)) - k_a*x2(t) - d_a*(x4(t)-x5(t)))   d/dt x5(t) = ane/J_a*(k_a*x2(t) + d_a*(x4(t)-x5(t)))

где J_m, J_g и J_a являются моментами инерции двигателя, коробки передач и конструкции рычага, соответственно, d_g и d_a являются параметрами демпфирования, а k_a является жесткостью структуры рычага.

Крутящий момент трения в коробке передач, tau_f (t), моделируется таким образом, чтобы включать многие явления трения, с которыми сталкиваются на практике, среди прочего, так называемое трение Кулона и эффект Штрибека:

              tau_f(t) = Fv*x3(t) + (Fc+Fcs*sech(alpha*x3(t)))*tanh(beta*x3(t))

где Fv и Fc являются вязкими и коэффициентами трения Кулона, Fcs и альфа являются коэффициентами для отражения эффекта Штрибека и параметром бета-a, используемым для получения плавного перехода от отрицательных к положительным скоростям x3 (t). (Аналогичный подход, но основанный на немного другой структуре модели, для описания статической зависимости между скоростью и крутящим моментом/силой трения, дополнительно обсуждается в руководстве под названием idnlgreydemo5: «Статическое моделирование трения».)

Крутящий момент пружины tau_s (t) принимается кубическим полиномом без квадратного члена в x1 (t):

              tau_s(t) = k_g1*x1(t) + k_g3*x1(t)^3

где k_g1 и k_g3 - два параметра жесткости коробки передач пружины.

В других типах экспериментов по идентификации, обсуждаемых в статье Вернхольтом и Гуннарссоном, можно идентифицировать общий момент инерции J = J_m+J_g+J_a. С помощью этого мы можем ввести неизвестные коэффициенты масштабирования a_m и a_g, и выполнить следующие репараметризации:

              J_m = J*a_m   J_g = J*a_g   J_a = J*(i-a_m-a_g)

где (если J известен) только a_m и a_g нужно оценить.

В целом, это дает следующую структуру пространства состояний, включая 13 различных параметров: Fv, ФК, Fcs, альфа, бета, J, a_m, a_g, k_g1, k_g3, d_g, k_a и d_a. (По определению мы также использовали тот факт, что sect (x) = 1/cosh (x).)

              tau_f(t) = Fv*x3(t) + (Fc+Fcs/cosh(alpha*x3(t)))*tanh(beta*x3(t))     tau_s(t) = k_g1*x1(t) + k_g3*x1(t)^three
              d/dt x1(t) = x3(t) - x4(t)   d/dt x2(t) = x4(t) - x5(t)   d/dt x3(t) = one/(J*a_m)*(-tau_s(t) - d_g*(x3(t)-x4(t)) - tau_f(t) + u(t))   d/dt x4(t) = ane/(J*a_g)*(tau_s(t) + d_g*(x3(t)-x4(t)) - k_a*x2(t) - d_a*(x4(t)-x5(t)))   d/dt x5(t) = 1/(J(1-a_m-a_g))*(k_a*x2(t) + d_a*(x4(t)-x5(t)))

Объект модели руки робота IDNLGREY

Вышеприведенная структура модели вводится в файл MEX на C с именем robotarm_c.c, с состояниями и выходом функциями обновления следующим образом (весь файл можно просмотреть командой "type robotarm_c.c"). В функции обновления состояния заметьте, что мы здесь использовали две промежуточные двойные переменные, с одной стороны, для повышения читаемости уравнений и с другой стороны для улучшения скорости выполнения (таус появляется дважды в уравнениях, но вычисляется только один раз).

              /* State equations. */   void compute_dx(double *dx, double *x, double *u, double **p)   {       /* Declaration of model parameters and intermediate variables. */       double *Fv, *Fc, *Fcs, *alpha, *beta, *J, *am, *ag, *kg1, *kg3, *dg, *ka, *da;       double tauf, taus;   /* Intermediate variables. */
              /* Recall model parameters. */       Fv    = p[0];    /* Pasty friction coefficient.            */       Fc    = p[1];    /* Coulomb friction coefficient.            */       Fcs   = p[ii];    /* Striebeck friction coefficient.          */       alpha = p[iii];    /* Striebeck smoothness coefficient.        */       beta  = p[4];    /* Friction smoothness coefficient.         */       J     = p[5];    /* Total moment of inertia.                 */       am    = p[six];    /* Motor moment of inertia calibration factor.    */       ag    = p[7];    /* Gear-box moment of inertia scale cistron. */       kg1   = p[8];    /* Gear-box stiffness parameter ane.          */       kg3   = p[9];    /* Gear-box stiffness parameter iii.          */       dg    = p[10];   /* Gear-box damping parameter.              */       ka    = p[eleven];   /* Arm structure stiffness parameter.       */       da    = p[12];   /* Arm structure damping parameter.         */
              /* Determine intermediate variables. */       /* tauf: Gear friction torque. (sech(x) = one/cosh(x)! */       /* taus: Bound torque. */       tauf = Fv[0]*x[2]+(Fc[0]+Fcs[0]/(cosh(alpha[0]*x[2])))*tanh(beta[0]*x[2]);       taus = kg1[0]*x[0]+kg3[0]*pow(x[0],three);
              /* 10[0]: Rotational velocity difference between the motor and the gear-box. */       /* x[1]: Rotational velocity deviation between the gear-box and the arm. */       /* x[2]: Rotational velocity of the motor. */       /* x[3]: Rotational velocity later on the gear-box. */       /* x[4]: Rotational velocity of the robot arm. */       dx[0] = x[2]-x[three];       dx[ane] = ten[iii]-10[four];       dx[ii] = 1/(J[0]*am[0])*(-taus-dg[0]*(ten[2]-x[3])-tauf+u[0]);       dx[three] = 1/(J[0]*ag[0])*(taus+dg[0]*(x[2]-ten[3])-ka[0]*x[1]-da[0]*(x[3]-x[4]));       dx[four] = i/(J[0]*(1.0-am[0]-ag[0]))*(ka[0]*x[one]+da[0]*(x[iii]-x[iv]));   }
              /* Output equation. */   void compute_y(double y[], double x[])   {       /* y[0]: Rotational velocity of the motor. */       y[0] = x[two];   }

Следующим шагом является создание объекта IDNLGREY, отражающего ситуацию моделирования. Здесь следует отметить, что нахождение правильных начальных значений параметров для руки робота требует некоторых дополнительных усилий. В статье Вернхольта и Гуннарссона это было осуществлено в два предыдущих этапа, где использовались другие структуры модели и методы идентификации. Начальные значения параметров, используемые ниже, являются результатами этих экспериментов по идентификации.

FileName      =              'robotarm_c';              % File describing the model structure.              Order         = [ane 1 v];              % Model orders [ny nu nx].              Parameters    = [ 0.00986346744839  0.74302635727901              ...              iii.98628540790595  3.24015074090438              ...              0.79943497008153  0.03291699877416              ...              0.17910964111956  0.61206166914114              ...              20.59269827430799  0.00000000000000              ...              0.06241814047290 20.23072060978318              ...              0.00987527995798]';              % Initial parameter vector.              InitialStates = zeros(5, one);              % Initial states.              Ts            = 0;              % Time-continuous organization.              nlgr = idnlgrey(FileName, Order, Parameters, InitialStates, Ts,              ...              'Name',              'Robot arm',              ...              'InputName',              'Applied motor torque',              ...              'InputUnit',              'Nm',              ...              'OutputName',              'Angular velocity of motor',              ...              'OutputUnit',              'rad/south',              ...              'TimeUnit',              'south');            

Для улучшения бухгалтерского учета предусмотрены имена и модули состояний:

nlgr = setinit(nlgr,              'Name', {'Angular position departure betwixt the motor and the gear-box'              ...              'Angular position difference betwixt the gear-box and the arm'              ...              'Athwart velocity of motor'              ...              'Angular velocity of gear-box'              ...              'Angular velocity of robot arm'}'); nlgr = setinit(nlgr,              'Unit of measurement', {'rad'              'rad'              'rad/s'              'rad/s'              'rad/southward'});            

Имена параметров также подробно указаны. Кроме того, моделирование было сделано таким образом, что все параметры должны быть положительными, то есть минимум каждого параметра должен быть установлен на 0 (и, следовательно, ограниченная оценка будет выполнена позже). Как и в статье Вернхольта и Гуннарссона, мы также считаем первые 6 параметров, то есть Fv, Fc, Fcs, альфа, бета и J, настолько хорошими, что их не нужно оценивать.

nlgr = setpar(nlgr,              'Name', {'Fv   : Viscous friction coefficient'              ...                              % 1.              'Fc   : Coulomb friction coefficient'              ...                              % 2.              'Fcs  : Striebeck friction coefficient'              ...                              % 3.              'blastoff: Striebeck smoothness coefficient'              ...                              % 4.              'beta : Friction smoothness coefficient'              ...                              % 5.              'J    : Total moment of inertia'              ...                              % vi.              'a_m  : Motor moment of inertia scale factor'              ...                              % 7.              'a_g  : Gear-box moment of inertia scale factor'              ...                              % 8.              'k_g1 : Gear-box stiffness parameter 1'              ...                              % 9.              'k_g3 : Gear-box stiffness parameter iii'              ...                              % 10.              'd_g  : Gear-box damping parameter'              ...                              % 11.              'k_a  : Arm structure stiffness parameter'              ...                              % 12.              'd_a  : Arm construction damping parameter'              ...                              % thirteen.              }); nlgr = setpar(nlgr,              'Minimum', num2cell(zeros(size(nlgr,              'np'), i)));              % All parameters >= 0!              for              parno = i:6              % Set up the first 6 parameters.              nlgr.Parameters(parno).Fixed = true;              terminate            

Шаги моделирования, выполненные до сих пор, оставили нам начальную модель руки робота со свойствами следующим образом:

              nlgr =                                                                                                                       Continuous-fourth dimension nonlinear grayness-box model divers by 'robotarm_c' (MEX-file):                                                                                                                                                                                 dx/dt = F(t, u(t), x(t), p1, ..., p13)                                                                                        y(t) = H(t, u(t), 10(t), p1, ..., p13) + e(t)                                                                                                                                                                                                           with 1 input(due south), 5 state(s), i output(s), and 7 gratuitous parameter(s) (out of 13).                                                                                                                                                                            Inputs:                                                                                                                         u(1)   Applied motor torque(t) [Nm]                                                                                       States:                                                                           Initial value                                 ten(1)   Angular position difference between the motor and the gear-box(t) [rad]   xinit@exp1   0   (fixed) in [-Inf, Inf]     x(2)   Angular position difference between the gear-box and the arm(t) [rad]     xinit@exp1   0   (fixed) in [-Inf, Inf]     x(3)   Angular velocity of motor(t) [rad/southward]                                      xinit@exp1   0   (fixed) in [-Inf, Inf]     10(iv)   Angular velocity of gear-box(t) [rad/s]                                   xinit@exp1   0   (stock-still) in [-Inf, Inf]     x(five)   Angular velocity of robot arm(t) [rad/s]                                  xinit@exp1   0   (fixed) in [-Inf, Inf]  Outputs:                                                                                                                        y(1)   Angular velocity of motor(t) [rad/s]                                                                               Parameters:                                             Value                                                                   p1    Fv   : Viscous friction coefficient                0.00986347      (fixed) in [0, Inf]                                 p2    Fc   : Coulomb friction coefficient                  0.743026      (stock-still) in [0, Inf]                                 p3    Fcs  : Striebeck friction coefficient                 3.98629      (fixed) in [0, Inf]                                 p4    alpha: Striebeck smoothness coefficient               3.24015      (fixed) in [0, Inf]                                 p5    beta : Friction smoothness coefficient               0.799435      (fixed) in [0, Inf]                                 p6    J    : Total moment of inertia                       0.032917      (fixed) in [0, Inf]                                 p7    a_m  : Motor moment of inertia scale gene           0.17911      (estimated) in [0, Inf]                             p8    a_g  : Gear-box moment of inertia calibration cistron       0.612062      (estimated) in [0, Inf]                             p9    k_g1 : Gear-box stiffness parameter 1                 20.5927      (estimated) in [0, Inf]                             p10   k_g3 : Gear-box stiffness parameter iii                       0      (estimated) in [0, Inf]                             p11   d_g  : Gear-box damping parameter                   0.0624181      (estimated) in [0, Inf]                             p12   k_a  : Arm structure stiffness parameter              20.2307      (estimated) in [0, Inf]                             p13   d_a  : Arm structure damping parameter             0.00987528      (estimated) in [0, Inf]                                                                                                                                                      Name: Robot arm                                                                                                                                                                                                                                           Condition:                                                                                                                      Created past direct structure or transformation. Not estimated.                                                             More than information in model'southward "Report" property.            

Входные-выходные данные

Большое количество реальных наборов данных было собрано у экспериментального робота. В порядок удержания робота вокруг своей рабочей точки, но также и по соображениям безопасности, данные были собраны с помощью экспериментального устройства управления с обратной связью, которое впоследствии позволяет автономно расчеты опорных сигналов для контроллеров соединений.

В этом примере мы ограничим дальнейшее обсуждение четырьмя различными наборами данных, одним для оценки и остальными таковыми для целей валидации. В каждом случае для формирования задающей скорости для контроллера использовали периодический сигнал возбуждения с длительностью приблизительно 10 секунд. Выбранная частота дискретизации составляла 2 кГц (шаг расчета, Ts, = 0,0005 секунд). Для наборов данных использовались три различных типа входных сигналов: (ue: входной сигнал набора оценочных данных; uv1, uv2, uv3: входные сигналы трёх валидаций наборов данных)

              ue, uv1: Multisine signals with a flat amplitude spectrum in the            frequency interval i-xl Hz with a height value of sixteen rad/southward. The            multisine signal is superimposed on a filtered square moving ridge            with amplitude 20 rad/s and cut-off frequency ane Hz.
              uv2: Like to ue and uv1, but without the foursquare wave.
              uv3: Multisine signal (sum of sinusoids) with frequencies 0.one,            0.3, and 0.5 Hz, with elevation value twoscore rad/southward.

Загрузим доступные данные и поместим все четыре набора данных в один один объект IDDATA z:

load(fullfile(matlabroot,              'toolbox',              'ident',              'iddemos',              'information',              'robotarmdata')); z = iddata({ye yv1 yv2 yv3}, {ue uv1 uv2 uv3}, 0.5e-3,              'Name',              'Robot arm'); z.InputName =              'Applied motor torque'; z.InputUnit =              'Nm'; z.OutputName =              'Athwart velocity of motor'; z.OutputUnit =              'rad/s'; z.ExperimentName = {'Estimation'              'Validation one'              'Validation 2'              'Validation iii'}; z.Tstart = 0; z.TimeUnit =              'due south'; present(z);            
th = Time domain information prepare containing iv experiments.           Experiment                      Samples      Sample Time    Estimation                    19838            0.0005    Validation i                  19838            0.0005    Validation two                  19838            0.0005    Validation three                  19838            0.0005                                                          Proper name: Robot arm                                                                                                   Outputs                         Unit of measurement (if specified)         Angular velocity of motor       rad/s                                                                          Inputs                          Unit (if specified)         Applied motor torque            Nm            

Следующий рисунок показывает данные ввода-вывода, используемые в четырех экспериментах.

figure('Name', [z.Name              ': input-output data'],...              'DefaultAxesTitleFontSizeMultiplier',one,...              'DefaultAxesTitleFontWeight','normal',...              'Position',[100 100 900 600]);              for              i = 1:z.Ne     zi = getexp(z, i);     subplot(z.Ne, 2, 2*i-ane);              % Input.              plot(zi.u);     title([z.ExperimentName{i}              ': '              zi.InputName{1}],'FontWeight','normal');              if              (i < z.Ne)         xlabel('');              else              xlabel([z.Domain              ' ('              zi.TimeUnit              ')']);              end              subplot(z.Ne, 2, 2*i);              % Output.              plot(zi.y);     title([z.ExperimentName{i}              ': '              zi.OutputName{i}],'FontWeight','normal');              if              (i < z.Ne)         xlabel('');              else              xlabel([z.Domain              ' ('              zi.TimeUnit              ')']);              end              end            

Фигура 2: Измеренные входно-выходные данные экспериментального робота.

Эффективность начальной модели руки робота

Насколько хороша начальная модель руки робота? Давайте использовать COMPARE, чтобы симулировать выходные параметры модели (для всех четырех экспериментов) и сравнить результат с соответствующими измеренными выходами. Для всех четырех экспериментов мы знаем, что значения первых двух состояний 0 (фиксированные), в то время как значения остальных трех состояний первоначально устанавливаются на измеренный выход в начальное время (не фиксированные). Однако по умолчанию COMPARE оценивает все начальные состояния и с z, проводящими четыре различных эксперимента, это будет означать 4 * 5 = 20 начальные состояния для оценки. Даже после фиксации первых двух состояний 4 * iii = 12 начальные состояния останутся для оценки (в случае, если соблюдается стратегия начального состояния внутренней модели). Поскольку набор данных довольно велик, это приведет к длительным расчетам, и, чтобы избежать этого, мы оцениваем 4 * 3 свободные компоненты начальных состояний с помощью PREDICT (возможно, если начальное состояние передано как исходная структура состояния), но ограничиваем оценку первой 10: th доступных данных. Затем мы поручаем COMPARE использовать полученную матрицу начальных состояний 5 на 4 X0init не выполняя никакой начальной оценки состояния.

zred = z(1:round(zi.N/10)); nlgr = setinit(nlgr,              'Fixed', {truthful true false false faux}); X0 = nlgr.InitialStates; [X0.Value] = deal(zeros(one, four), zeros(ane, 4), [ye(1) yv1(1) yv2(1) yv3(1)],              ...              [ye(1) yv1(1) yv2(i) yv3(1)], [ye(one) yv1(ane) yv2(one) yv3(i)]); [~, X0init] = predict(zred, nlgr, [], X0); nlgr = setinit(nlgr,              'Value', num2cell(X0init(:, 1))); clf compare(z, nlgr, [], compareOptions('InitialCondition', X0init));            

Фигура 3: Сравнение между измеренными выходами и моделируемыми выходами исходной модели руки робота.

Как видно, эффективность начальной модели руки робота достойная или довольно хорошая. Подгонка для трех типов наборов данных составляет около 79% для ye и yv1, 37% для yv2 и 95% для yv3. Заметьте, что более высокая подгонка для ye/yv1 по сравнению с yv2 находится в большом размере из-за способности начальной модели захватывать квадратную волну, в то время как многосинейная часть не одинаково хорошо захвачена. Мы также можем посмотреть на ошибки предсказания для четырех экспериментов:

pe(z, nlgr, peOptions('InitialCondition',X0init));            

Фигура 4: Ошибки предсказания исходной модели руки робота.

Оценка параметра

Теперь давайте попробуем улучшить эффективность исходной модели руки робота путем оценки 7 параметров свободной модели и iii свободных начальных состояний первого эксперимента z (набора данных оценки). Эта оценка займет некоторое время (обычно пару минут).

nlgr = nlgreyest(nlgr, getexp(z, 1), nlgreyestOptions('Brandish',              'on'));            

Эффективность предполагаемой модели руки робота

COMPARE снова используется, чтобы оценить эффективность предполагаемой модели руки робота. Мы также поручаем COMPARE не выполнять какую-либо начальную оценку состояния. Для первого эксперимента мы заменяем угаданное начальное состояние на состояние, оцененное NLGREYEST, и для остальных трех экспериментов мы используем PREDICT, чтобы оценить начальное состояние на основе уменьшенного объекта IDDATA zred.

X0init(:, ane) = cell2mat(getinit(nlgr,              'Value')); X0 = nlgr.InitialStates; [X0.Value] = deal(zeros(1, iii), zeros(one, 3), [yv1(1) yv2(1) yv3(1)],              ...              [yv1(one) yv2(one) yv3(1)], [yv1(1) yv2(1) yv3(ane)]); [yp, X0init(:, 2:4)] = predict(getexp(zred, 2:4), nlgr, [], X0); clf compare(z, nlgr, [], compareOptions('InitialCondition', X0init));            

Фигура v: Сравнение между измеренными выходами и моделируемыми выходами предполагаемой модели руки робота.

График сравнения показывает улучшение с точки зрения лучших подгонок. Для ye и yv1 подгонка сейчас составляет около 85% (до: 79%), для yv2 около 63% (до: 37%) и для yv3 несколько менее 95,5% (до: также чуть менее 95,5%). Улучшение наиболее выражено для второго набора данных валидации, где в качестве входных данных был приложен многосинейный сигнал без какой-либо квадратной волны. Однако способность предполагаемой модели следовать за многосинейной частью ye и yv1 также была значительно улучшена (но это не отражается рисунками, поскольку на них больше влияет подгонка к квадратной волне). График ошибок предсказания также показывает, что невязки теперь в целом меньше, чем с начальной моделью руки робота:

figure; pe(z, nlgr, peOptions('InitialCondition',X0init));            

Фигура six: Ошибки предсказания предполагаемой модели руки робота.

Мы завершаем тематическое исследование, текстуально суммируя различные свойства предполагаемой модели руки робота.

              nlgr =                                                                                                                                  Continuous-time nonlinear greyness-box model divers by 'robotarm_c' (MEX-file):                                                                                                                                                                                                       dx/dt = F(t, u(t), 10(t), p1, ..., p13)                                                                                                   y(t) = H(t, u(t), x(t), p1, ..., p13) + e(t)                                                                                                                                                                                                                                 with 1 input(south), 5 state(s), ane output(s), and vii complimentary parameter(southward) (out of 13).                                                                                                                                                                                                  Inputs:                                                                                                                                    u(ane)   Applied motor torque(t) [Nm]                                                                                                  States:                                                                           Initial value                                            x(1)   Angular position divergence between the motor and the gear-box(t) [rad]   xinit@exp1          0   (fixed) in [-Inf, Inf]         x(2)   Angular position difference betwixt the gear-box and the arm(t) [rad]     xinit@exp1          0   (stock-still) in [-Inf, Inf]         x(3)   Angular velocity of motor(t) [rad/s]                                      xinit@exp1   -19.0636   (estimated) in [-Inf, Inf]     x(iv)   Athwart velocity of gear-box(t) [rad/due south]                                   xinit@exp1   -22.2378   (estimated) in [-Inf, Inf]     10(5)   Angular velocity of robot arm(t) [rad/s]                                  xinit@exp1   -23.4169   (estimated) in [-Inf, Inf]  Outputs:                                                                                                                                   y(one)   Athwart velocity of motor(t) [rad/s]                                                                                          Parameters:                                                Value   Standard Departure                                                      p1    Fv   : Viscous friction coefficient                0.00986347                0   (stock-still) in [0, Inf]                              p2    Fc   : Coulomb friction coefficient                  0.743026                0   (fixed) in [0, Inf]                              p3    Fcs  : Striebeck friction coefficient                 3.98629                0   (stock-still) in [0, Inf]                              p4    alpha: Striebeck smoothness coefficient               iii.24015                0   (stock-still) in [0, Inf]                              p5    beta : Friction smoothness coefficient               0.799435                0   (stock-still) in [0, Inf]                              p6    J    : Total moment of inertia                       0.032917                0   (fixed) in [0, Inf]                              p7    a_m  : Motor moment of inertia scale factor          0.266501      0.000286954   (estimated) in [0, Inf]                          p8    a_g  : Gear-box moment of inertia calibration gene       0.647571      0.000190591   (estimated) in [0, Inf]                          p9    k_g1 : Gear-box stiffness parameter 1                 20.0776        0.0263497   (estimated) in [0, Inf]                          p10   k_g3 : Gear-box stiffness parameter 3                  24.182         0.332381   (estimated) in [0, Inf]                          p11   d_g  : Gear-box damping parameter                   0.0305093      0.000282675   (estimated) in [0, Inf]                          p12   k_a  : Arm structure stiffness parameter               11.749        0.0310964   (estimated) in [0, Inf]                          p13   d_a  : Arm construction damping parameter             0.00283252      8.05227e-05   (estimated) in [0, Inf]                                                                                                                                                              Name: Robot arm                                                                                                                                                                                                                                                                 Status:                                                                                                                                 Termination condition: Change in parameters was less than the specified tolerance..                                                     Number of iterations: xix, Number of function evaluations: 20                                                                                                                                                                                                                    Estimated using Solver: ode45; Search: lsqnonlin on time domain information "Robot arm".                                                       Fit to estimation data: 85.21%                                                                                                          FPE: 9.503, MSE: 9.494                                                                                                                  More information in model's "Report" property.            

Заключительные замечания

Методы системы идентификации широко используются в робототехнике. «Хорошие» модели роботов жизненно важны для современных концепций управления роботами и часто рассматриваются как необходимость удовлетворения постоянно растущего спроса в скорости и точности. Модели также являются ключевыми компонентами в различных приложениях диагностики роботов, где модели используются для прогнозирования проблем, связанных с износом, и для обнаружения фактической причины неисправности робота.

DOWNLOAD HERE

The Gear Rotates With an Angular Velocity of ω = 16 Rad/s and the Gear Rack Moves at Vc = 5.2 M/s . UPDATED

Posted by: angelatusess.blogspot.com

Comentarios

Popular

Model Robbie Teen Boys - TBM Robbie Gold Boody Shorts Complete Set - Face Boy

Ams Cherish : ArtModelingStudios Cherish

Microsoft Office 2019 Home and Business Mac Download




banner



Featured Post

Microsoft Office 2019 Home and Business Mac Download

Imagen
Microsoft Office 2019 Home and Business Mac Download Upgrade from Function 2019 to Microsoft 365 Exclusive, new features every month Get always up-to-engagement Role apps–similar Give-and-take, Excel, PowerPoint, Outlook, and OneNote–that you know and trust. Work beyond multiple devices Install Microsoft 365 on your Mac, PC, tablets, and phones. With full versions installed on your PC or Mac, there's no demand for an internet connexion to access documents.