Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 357

.pdf
Скачиваний:
12
Добавлен:
30.04.2022
Размер:
992.76 Кб
Скачать

for i=1:n for j=1:n

er(3*i-2:3*i,j)=cross(E(:,i),R(3*i-2:3*i,j))*(1-z(i))+E(:,i)*z(i); end

end

%расчет А

A=zeros(n,n); for i=1:n for k=1:n

l=i; if k>l l=k; end

for j=l:n

Jj=[J(j,1) 0 0 ;0 J(j,2) 0 ; 0 0 J(j,3)]; Q=[Q1(:,i) Q2(:,i) Q3(:,i)]; Jj=Q'*Jj*Q;

A(i,k)=A(i,k)+m(j)*er(3*i-2:3*i,j)'*er(3*k-2:3*k,j)+E(:,i)'*Jj* E(:,k)*(1-z(i))*(1-z(k));

end end end

%расчет В

for i=1:n B=zeros(n,n); for l=1:n for k=l:n

if i>k max=i; else max=k; end

for j=max:n B(k,l)=B(k,l)-m(j)*er(3*i-2:3*i,j)'*cross(E(:,l),er(3*k-:3*k,j)); end

60

end end

for k=1:n-1 for l=k+1:n B(k,l)=B(l,k); end

end eval(['B',num2str(i),'=B;']) end

% Расчет С

C=zeros(n,1); for i=1:n for j=i:n

C(i)=C(i)+m(j)*er(3*i-2:3*i,j)'*[0; 0; -9.8]; end

end

for i=1:n B(i,i)=P1(i,I)*B(i,i)*P1(i,I); end

dinam11s; end

6. Определяются вектор требуемых значений обобщенных сил в сочленениях манипулятора, а также векторы управляющих токов и напряжений из уравнений (1.37)–(1.40) (программа 6).

Программа 6

% Расчет p,u,I A1(1,1)=Jr(1,1)*nred(1,1)*nred(1,1)+A(1,1); A1(2,2)=Jr(2,1)*nred(2,1)*nred(2,1)+A(2,2); A1(3,3)=Jr(3,1)*nred(3,1)*nred(3,1)+A(3,3);

for j=1:n

Pzad(j,I+1)=A1(j,j)*(P2(j,I))+B(j,j)+C(j) +K1(j,1)*(P1(j,I)- q1t(j,I))+K0(j,1)*(P(j,I)-qt(j,I))); mom(j,I)=Pzad(j,I+1)/kpreobr(j,1);

61

prqr(j,I)=qt(j,I)*kpreobr(j,1);

prqqr(j,I)=q1t(j,I)*kpreobr(j,1);

prqqqr(j,I)=q2t(j,I)*kpreobr(j,1);

x3n(j,I)=mom(j,I)/Km(j,1); un(j,I)=(-a32(j,1)*prqqr(j,I)-a33(j,1)*x3n(j,I))/b3(j,1); end

end

7. Определяется вектор ускорений координат на текущем дискретном интервале. Рассчитываются конечные значения перемещений и скоростей звеньев манипулятора, являющиеся их начальными значениями на следующем дискретном интервале (программа 7), в соответствии с формулами:

 

 

 

 

 

2

 

 

 

 

 

 

qi,s Tд

 

 

 

 

 

 

;

(3.2)

qi, s 1 qi,s qi,s Tд

2

qi,s 1

 

 

 

 

 

(3.3)

qi,s qi,s Tд ,

 

 

 

 

 

 

 

 

 

 

где i – номер обобщенной координаты; s – номер дискретного интервала;

qi,s+1, qi,s – значения обобщенной координаты в конце и начале интервала;

qj, s 1, qj, s – скорость звена манипулятора в конце и нача-

ле интервала; Тд – длительность дискретного интервала;

qj, s – ускорение звена на текущем интервале.

Программа 7

if I==1 q1t(j,I)=qzad1(j,1); qt(j,I)=qzad(j,1); else

q2t(j,I+1)=(Pzad(j,I+1)-B(j,j)-C(j))/A1(j,j); qt(j,I+1)=qt(j,I)+q1t(j,I)*td+(q2t(j,I+1)*(td^2))/2; q1t(j,I+1)=q1t(j,I)+q2t(j,I+1)*td;

end end

62

8. После окончания расчетов на всех дискретных интервалах выводятся временные диаграммы изменения перемещений, скоростей и ускорений обобщенных координат, а также управляющих усилий, токов и напряжений (программы 8–13).

Программа 8

% Перемещение subplot(kolokon,1,tekokno); xlabel('t,сек.');

if steppodw(tekokno)==n+1 eval(['funcz=',grafik(i,:),';']); plot(qt,funcz,'-');grid; ylabel([grafik(i,:)]);

else eval(['funcz=',grafik(i,:),'(',int2str(steppodw(tekokno)),',:);']); plot(qt(steppodw(tekokno),:),'-');grid; ylabel([grafik(i,:),int2str(steppodw(tekokno))]);

end

Программа 9

% Скорость subplot(kolokon,1,tekokno); xlabel('t,сек.');

if steppodw(tekokno)==n+1 eval(['funcz=',grafik(i,:),';']); plot(q1t,funcz,'-');grid; ylabel([grafik(i,:)]);

else eval(['funcz=',grafik(i,:),'(',int2str(steppodw(tekokno)),',:);']); plot(q1t(steppodw(tekokno),:),'-');grid; ylabel([grafik(i,:),int2str(steppodw(tekokno))]);

end

63

Программа 10

% Ускорение subplot(kolokon,1,tekokno); xlabel('t,сек.');

if steppodw(tekokno)==n+1 eval(['funcz=',grafik(i,:),';']); plot(q2t,funcz,'-');grid; ylabel([grafik(i,:)]);

else eval(['funcz=',grafik(i,:),'(',int2str(steppodw(tekokno)),',:);']); plot(q2t(steppodw(tekokno),:),'-');grid; ylabel([grafik(i,:),int2str(steppodw(tekokno))]);

end

Программа 11

% Усилие subplot(kolokon,1,tekokno); xlabel('t,сек.');

if steppodw(tekokno)==n+1 eval(['funcz=',grafik(i,:),';']); plot(Pzad,funcz,'-');grid; ylabel([grafik(i,:)]);

else eval(['funcz=',grafik(i,:),'(',int2str(steppodw(tekokno)),',:);']); plot(Pzad(steppodw(tekokno),:),'-');grid; ylabel([grafik(i,:),int2str(steppodw(tekokno))]);

end

Программа 12

% Напряжение subplot(kolokon,1,tekokno); xlabel('t,сек.');

if steppodw(tekokno)==n+1 eval(['funcz=',grafik(i,:),';']); plot(un,funcz,'-');grid; ylabel([grafik(i,:)]);

64

else eval(['funcz=',grafik(i,:),'(',int2str(steppodw(tekokno)),',:);']); plot(un(steppodw(tekokno),:),'-');grid; ylabel([grafik(i,:),int2str(steppodw(tekokno))]);

end

Программа 13

% Ток якоря subplot(kolokon,1,tekokno); xlabel('t,сек.');

if steppodw(tekokno)==n+1 eval(['funcz=',grafik(i,:),';']); plot(x3n,funcz,'-');grid; ylabel([grafik(i,:)]);

else eval(['funcz=',grafik(i,:),'(',int2str(steppodw(tekokno)),',:);']); plot(x3n(steppodw(tekokno),:),'-');grid; ylabel([grafik(i,:),int2str(steppodw(tekokno))]);

end

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

3.3.Особенности моделирования движения роботов

иРТС в реальном масштабе времени

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

65

время. Управление манипулятором с учетом взаимовлияния звеньев связано с формированием его модели в реальном масштабе времени.

Особенностью моделирования в реальном масштабе времени является существенная ограниченность вычислительных ресурсов, так как машинные модели реализуются, как правило, на базе микроконтроллеров, в которых имеется ограничение по быстродействию и объ му памяти. Это требует тщательного подхода к минимизации затрат ресурсов по моделированию в реальном масштабе времени [6]. При моделировании робототехнических систем может отсутствовать информация об условиях их работы. В этом случае необходимо построение адаптивных систем управления.

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

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

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

66

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

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

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

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

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

67

ванных как блоки для построения параллельных систем [8]. Мультипроцессорные структуры характерны для адаптивных систем управления.

Транспьютеры позволяют системным проектировщикам создавать сети процессоров, удовлетворяющие требованиям по производительности. Транспьютерная сеть технически реализуется в виде комплекта модулей, имеющих средства стыковки с другими ЭВМ через стандартные системные интерфейсы.

На рис. 3.1 показан один из возможных вариантов конфигурации транспьютерных средств. В состав структуры входят персональный компьютер типа IBM PC и мультикластер типа МС-3 с сетью транспьютеров Т0–Т7, соединенный с IBM РС посредством транспьютерного адаптера ВВК-РС.

 

 

 

 

 

 

 

Шина IBM PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BBK-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IBM PC

 

 

PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MC-3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T0

 

 

T1

 

 

T2

 

 

 

 

T3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T4

 

 

T5

 

 

T6

 

 

 

 

T7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.1. Транспьютерный комплекс

68

Применение транспьютеров позволяет получить практически линейный рост производительности в зависимости от числа транспьютеров.

3.4. Математическое описание адаптивной системы управления робота

Рассмотрим особенности моделирования робота с взаимосвязанной адаптивной системой управления с эталонной моделью и параметрической настройкой.

Полная локальная адаптивная структура содержит следующие компоненты.

1. Совокупность локальных эталонных моделей

qim

= bmi(qiз qim) – ami

qim ,

(3.4)

 

 

 

 

где qim ,qim , qim – ускорение, скорость и перемещение коорди-

наты при эталонном движении;

ami = ikсi /Jiс, bmi = ikпi /Jiс.

2. Совокупность локальных адаптивных законов [8]

 

2

+ki4(t)qiз,

i = 1, 2,..., n, (3.5)

Uалi = ki1(t)qi+ki2(t) qi +ki3

(t) qi

где ki1(t), ki2(t), ki3(t), ki4(t) – самонастраивающиеся коэффициенты.

 

3.

Совокупность алгоритмов настройки параметров:

 

(t) =–Gi1diqi Ai1ki1(t);

 

(t)=Gi2di qi Ai2ki2(t);

ki1

ki2

 

 

 

 

 

 

 

 

 

(t)=

Gi

 

2

 

(t)=Gi4diqiзAi4ki4(t); (3.6)

ki3

3di qi Ai3ki3(t);

ki4

 

di=pi1

 

 

 

 

i = 1, 2, ..., n,

 

(qi qim) + pi2 (qi qim ) ;

 

 

 

 

 

 

 

 

где Gi1, Ai1,Gi2, Ai2,Gi3, Ai3,Gi4, Ai4, pi1, pi2 – положительные коэффициенты усиления алгоритмов настройки.

Полная развязывающая адаптивная структура состоит из совокупности эталонных моделей (3.4) и развязывающих адаптивных законов управления вида [8]

69