Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по практике .docx
Скачиваний:
38
Добавлен:
10.05.2015
Размер:
402.84 Кб
Скачать

Программно-алгоритмический комплекс

Для расчета этих моментов был создан программно-алгоритмический комплекс

m1,m2 - массы звеньев манипулятора

L1= L2 = L - длины звенев манипулятора

- углы поворота звеньев относительно начала координат

Tau1 Tau2 - моменты которые создаются каждым звеном манипулятора

Листинг программы

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Math.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

double t1;

double t2;

float m1;

float m2;

float l;

double C1;

double C2;

double C12;

float g = 9.8;

double S2;

float teta1;

float teta2;

double teta1_uskr = 0;

double teta2_uskr = 0;

float teta1_spd = 0;

float teta2_spd = 0;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

Memo2->Clear();

Memo1->Clear();

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

m1 = StrToFloat(Edit1->Text);

m2 = StrToFloat(Edit2->Text);

l = StrToFloat(Edit3->Text);

teta1 = StrToFloat(Edit4->Text);

teta2 = StrToFloat(Edit5->Text);

C1 = cos(teta1*3.1416/180);

C2 = cos(teta2*3.1416/180);

C12= cos(teta1 + teta2);

S2 = sin(teta2*3.1416/180);

}

void __fastcall TForm1::Button2Click(TObject *Sender)

{

double a_t1;

double d_t1;

double c_t1;

double a_t2;

double d_t2;

double c_t2;

a_t1 = ((1/3)*m1*l*l + (4/3)*m2*l*l + m2*C2*l*l)*teta1_uskr + ((1/3)*m2*l*l + (1/2)*m2*l*l*C2)*teta2_uskr;

d_t1 = (1/2)*m2*S2*l*l*teta2_spd*teta2_spd + m2*S2*l*l*teta1_spd*teta2_spd;

c_t1 = (1/2)*m1*g*l*C1 + (1/2)*m2*g*l*C12 + m2*g*l*C1;

t1 = a_t1 - d_t1 + c_t1;

a_t2 = ((1/3)*m2*l*l + (1/2)*m2*l*l*C2)*teta1_uskr + ((1/3)*m2*l*l)*teta2_uskr;

d_t2 = (1/2)*m2*S2*l*l*teta1_spd*teta1_spd;

c_t2 = (1/2)*m2*g*l*C12;

t2 = a_t2 + d_t2 + c_t2;

Memo2->Clear();

Memo1->Clear();

Memo1->Text=t1;

Memo2->Text=t2;

Вывод

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