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

1. Объектная декомпозиция предметной области.

Проводим декомпозиции предметной области для разработки имитационной модели, выделяем сущности: сущность Робот, сущности Звенья робота, законыих движения (или задание), Монитор (некая управляющая форма), программист (или оператор), модуль «О разработчике», модуль «О программе», Заставка, модуль с описанием классов.

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

Модуль «О программе» приводит описание работы и схему движения робота.

Модуль «О разработчике» приводит сведения об исполнителе данной работы.

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

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

Для облегчения самой программы мы поместили модули «О программе», «О разработчике» и Заставку в DLL. Для их вызова мы используем индексы.

2. Имитационная модель программы.

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

Оператор

Монитор

Панель

управления

Всплывающее меню

Главное меню

Форма с моделированием движения робота

Форма

«О разработчике»

Форма

«О программе»

Форма

Помощник

Форма с графиками и таблицами

3. Разработка математической модели.

3.1 Прямоугольный несимметричный с нулевым участком.

Чтобы исследовать все характеристики рассматриваемого закона движения, рассмотрим его в аналитической форме.

Рассмотрим прямой ход ползуна, соответствующий перемещению Sm. Время ti изменяется в следующих пределах:

  1. 0 ≤ ti ≤ t1;

  2. t1 ≤ ti ≤ t2;

  3. t2 ≤ ti ≤ Tf.

Рассмотрим закон постоянного ускорения:

  1. f1II (k) = 2/k1(1-k1+k2);

  2. f2II(k) = 0;

  3. f3II(k) = (-2)/(1-k1)(1-k1+k2).

Интегрируя дважды выражение для (1) участка, получаем выражения для f1I(k) и f1(k):

f1I(k) = ∫ f1II (k)dk = ∫2dk/k1(1-k1+k2) = 2k/k1(1-k1+k2) + C1;

f1(k) = ∫ f1I (k)dk = ∫(2k/k1(1-k1+k2) + C1)dk = (k^2)/k1(1-k1+k2) + C1*k + C2.

Начальные условия: при k = 0, f1I(k) = 0, f1(k) = 0 =>C1 = C2 = 0.

f1I(k) = 2k/k1(1-k1+k2), f1(k) = (k^2)/k1(1-k1+k2).

Заменяяk=ti/Tf, k1=t1/Tfиk2=t2/Tfи домножая функции на коэффициенты, получаем выражения для a1(ti), V1(ti) и S1(ti):

a1(ti) = (Sm/Tf^2) * 2Tf/(t1*(Tf-t1+t2));

V1(ti) = (Sm/Tf) * 2ti/(t1*(Tf-t1+t2));

S1(ti) = Sm * ti/(Tf*ti*(Tf-t1+t2)).

Интегрируя дважды выражение для (2) участка, получаем выражения для f2I(k) и f2(k):

f2I(k) = ∫ f2II (k)dk = C1;

f2(k) = ∫ f2I (k)dk = C1*k + C2.

Граничные условия: при k=k1, f2I(k) = f1I(k), f2(k) = f1(k)=>

C1 = 2/(1-k1+k2), C2 = k1/(1-k1+k2) – 2k1/(1-k1+k2) = -k1/(1-k1+k2).

f2I(k) = 2/(1-k1+k2), f2(k) = 2k/(1-k1+k2) – k1 /(1-k1+k2) = (2k-k1)/(1-k1+k2).

Заменяяk=ti/Tf, k1=t1/Tfиk2=t2/Tfи домножая функции на коэффициенты, получаем выражения для a2(ti), V2(ti) и S2(ti):

a2(ti) = 0;

V2(ti) = (Sm/Tf) * 2Tf/(Tf-t1+t2);

S2(ti) = Sm * (2ti-t1)/(Tf-t1+t2).

Интегрируя дважды выражение для (3) участка, получаем выражения для f3I(k) и f3(k):

f3I(k) = ∫ f3II (k)dk = ∫(-2dk)/(1-k1)(1-k1+k2) = (-2k)/(1-k1)(1-k1+k2) + C1;

f3(k) = ∫ f3I (k)dk = ∫ [(-2k)/(1-k1)(1-k1+k2) + C1]dk = (-k^2)/(1-k1)*(1-k1+k2) +

+ C1*k + C2.

Граничные условия: при k=1, f3I(k)=0, f3(k)=1 =>

C1 = 2/(1-k1)(1-k1+k2), C2 = 1 + 1/(1-k1)(1-k1+k2) – 2/(1-k1)(1-k1+k2) =

= [(1-k1)(1-k1+k2) – 1]/(1-k1)(1-k1+k2).

f3I(k) = (-2k+2)/(1-k1)(1-k1+k2);

f3(k) = [-(k^2) + 2k + (1-k1)(1-k1+k2) – 1]/(1-k1)(1-k1+k2).

Заменяяk=ti/Tf, k1=t1/Tfиk2=t2/Tfи домножая функции на коэффициенты, получаем выражения для a3(ti), V3(ti) и S3(ti):

a3(ti) = (Sm/Tf^2) * (-2Tf)/(Tf-t1)(Tf-t1+t2) ;

V3(ti) = (Sm/Tf) * (-2ti + 2Tf)/(Tf-t1)(Tf-t1+t2);

S3(ti) = Sm * [-ti^2 + 2ti*Tf +Tf(Tf-t1)(Tf-t1+t2)-Tf^2]/Tf(Tf-t1)(Tf-t1+t2).

3.2. Косинусоидальный симметричный.

Чтобы исследовать все характеристики рассматриваемого закона движения, рассмотрим его в аналитической форме.

Рассмотрим прямой ход ползуна, соответствующий перемещению Sm. Время ti изменяется в пределе: 0 ≤ ti≤Tf.

Вторая производная от функции имеет вид:

fII(k) = (0,5*π^2)*cosπk.

Интегрируя дваждыданное выражение, получаем выражения для fI(k) и f(k):

fI(k) = ∫ fII(k)dk = ∫ (0,5*π^2)*cosπkdk = (0,5*π)*sinπk + C1;

f(k) = ∫ fI(k)dk = ∫ [(0,5*π)*sinπk + C1]dk = -0,5*cosπk + C1*k + C2.

Начальные условия: при k=0, fI(k)=0, fI(k)=0 =>C1=0, C2=0,5.

fI(k) = (0,5*π)*sinπk, f(k) = 0,5*(1 – cosπk).

Заменяяk=ti/Tfи домножая функции на коэффициенты, получаем выражения для a(ti), V(ti) и S(ti):

a(ti) = (Sm/Tf^2) * (0,5*π^2)*cos(π*ti/Tf);

V(ti) = (Sm/Tf) * (0,5*π)*sin(π*ti/Tf);

S(ti) = Sm * 0,5*(1 – cos(π*ti/Tf)).

3.3. Равноубывающий симметричный.

Чтобы исследовать все характеристики рассматриваемого закона движения, рассмотрим его в аналитической форме.

Рассматривается поворот схвата, соответствующий угловому перемещению φm. Время изменяется в пределах 0 ≤ ti ≤ Tf.

Вторая производная от функции имеет вид:

fII(k) = 6(1-2k).

Интегрируя дваждыданное выражение, получаем выражения для fI(k) и f(k):

fI(k) = ∫ fII(k)dk = ∫ 6(1-2k)dk = 6k – 6k^2 + C1;

f(k) = ∫ fI(k)dk = ∫ (6k – 6k^2 + C1)dk = 3k^2 – 2k^3 + C1*k + C2.

Начальные условия: при k=0, fI(k)=0, f(k)=0 =>C1=C2=0.

fI(k) = 6k * (1-k), f(k) = (k^2) * (3-2k).

Заменяяk=ti/Tfи домножая функции на коэффициенты, получаем выражения для a(ti), V(ti) и S(ti):

a(ti) = (Sm/Tf^2) * 6(1-(ti/Tf));

V(ti) = (Sm/Tf) * [6ti*(Tf-ti)]/Tf;

S(ti) = Sm * [(ti^2)*(3*(Tf^2)-2ti*Tf)].