42366

Разработка программного обеспечения управления технической системой

Лабораторная работа

Информатика, кибернетика и программирование

Необходимо разработать алгоритм и программу управления угловым движением спутника по углу тангажа в процессе поддержания нулевых угловых отклонений относительно заданного положения. Для обеспечения проверки правильности и отладки этих алгоритмов необходимо разработать имитационную математическую модель внешней среды. Алгоритм управления должен быть реализован в управляющей БЦВМ. Она эмулируется в ПК. В рамках этой эмуляции реализуется заданная дискретная во времени работа управляющего алгоритма. В рамках данной работы недостижима отладка на системной ЦВМ.

Русский

2013-10-29

694.5 KB

6 чел.

ПГУТИ

кафедра ПОУТС

Отчёт по лабораторной работе

«Разработка программного обеспечения управления технической системой»

по предмету «Технология разработки программного обеспечения»

Выполнили:

студенты гр. ПО-91

Тимошенко Д.

Еремеев А.

Игнатьев А.

Еренков А.

Проверил:

Мостовой Я.А.

Самара

2013 г.

Цель работы:

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

Алгоритм управления должен быть реализован в управляющей БЦВМ. Она эмулируется в ПК. В рамках этой эмуляции реализуется заданная  дискретная во времени работа управляющего алгоритма. В рамках данной работы недостижима отладка на системной ЦВМ.

В этом ПК должны исполняться модели внешней среды (датчиков, ИО, объекта управления), необходимые для проверки работоспособности системы и отладки алгоритма управления.

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

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

  1.  Краткое математическое описание задачи и исходные данные для управления спутником.

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

Со школы известен закон Ньютона в форме:

или ,

здесь F – вектор сил, действующих на объект,

        m – масса объекта,

- вектор ускорения.

Применительно к вращательному движению объекта относительно точки центра масс  2-ой Закон Ньютона записывается в виде

Здесь Jо – момент инерции относительно центра вращения(цм).

- угол поворота спутника по тангажу.

M – момент сил, действующих относительно Ц.М.

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

Запишем модель углового движения спутника с вращающимся маховиком по каналу тангажа.

 Jо=Mв-Myпр (1)

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

       Mупр = Jмх)   (2)

Подставим 2 в 1.

Здесь - угловое ускорение маховика Jо и Jмх – моменты инерции спутника и маховика. Начальные условия: t = 0,

Здесь управляющее воздействие   определяется  значением , которое формируется как функция от отклонений угла и угловой скорости.

Воздействия от других действующих относительно ц.м. моментов

 

момент от системы разгрузки. Когда система разгрузки не работает . Когда система разгрузки работает Мр – функция от .

Mв – возмущающий момент относительно центра масс

Значения . Поэтому можно пренебречь  по сравнению и тогда:

При работе маховика до начала его разгрузки  и движения спутника.

=     (3)

Здесь - управляющая координата – угловое ускорение вращения маховика, определяемая законом управления(4).

   (4)

Исходные данные:

J0 = 20 - момент инерции спутника.

Масса спутника = 350 кг.

Размер спутника 0,8 м (сторона Куба)

момент инерции маховика

=18н*м*сек – максимально достижимый кинетический момент маховика(реальный прибор). Отсюда

Pурд = 10-1н – тяга управляющего ракетного двигателя [кг*м/сек^2].

Мурд =  Pурд*LМ = 10-1н*0.4м = 0.04 нм, где Lм плечо силы тяги относительно цм = 0,4м

Управляющее ускорение от УРД.

урд = Мурд/Jz = 0.004[1/сек^2]

Мупрmax =Jм*max= 0,2 нм – максимально возможный управляющий момент маховика.

Отсюда максимальное ускорение при разгоне маховика

max=10 [1/сек^2]

т= 1 [1/сек2]– ускорение торможения маховика при сбросе накопленного кинетического момента.

Мт=1*0.02[ кгм^2/сек^2]=0.02 нм   - момент, возникающий при торможении маховика и действующий на спутник

Тогда угловое ускорение спутника при торможении маховика

т=0.02 нм/20кгм^2=0.001[1/сек^2]

возмущающее ускорение

в=0.002[1/сек^2]

а0=10

В интерфейсе программы предусмотрена возможность ввода своих исходных пользователем.

  1.  Схема имитационного математического моделирования для целей отладки программы управления по каналу тангажа

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

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

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

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

И обратно, если  и  имеют один знак, надо тормозить энергично нарастающее отклонениеспутника от заданного углового положения.

Все это учитывает закон управления угловым движением по отклонению и скорости отклонения.

           1)запросить.

2)запросить

3) рассчитать управляющее воздействие

   (4)

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

Здесь a0 ,a1 – постоянные коэффициенты закона управления, выбираемые разработчиком ПО, исходя из соображений качества и устойчивости процессов управления. В примере приложения а0=10 и а1=40.

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

            При этом вырезанные на момент k(i)T сигналы  и ,поступающие с датчиков,  в БЦВМ запоминаются как входные и не меняются в течение времени T – следующего периода работы БЦВМ (такта), потому что ЦВМ « видит» эти изменения только в момент опроса датчиков. Так происходит каждый такт.

             При этом при моделировании в динамической схеме системы необходимо учесть не только «вырезание» сигнала в момент kT, но и его «запоминание на этом уровне» до момента (k+1)T. Это запоминание в БЦВМ  при моделировании осуществляется элементом, который мы назовем экстраполятором нулевого порядка. Его характеристика во временной области имеет вид:

Экстраполятор нулевого порядка «замораживает» значение снятой с датчиков и вводимой в ЦВМ информации до начала следующего съёма.

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

Подключение системы разгрузки с УРД.

1. Если накопленная угловая скорость вращения маховика||max, то на маховик надо выдать команду торможения. При этом ускорение торможения

( знак противоположный достигнутому)

Команда торможения выдается до тех пор, пока  не станет равной 0. В работе принять

               тр=1/сек^2

2. Уравнение углового движения спутника в этом случае

J0 = Мв – Мупр + Jм*тр             (5)

3. Включить УРД в соответствии с законом управления. При этом возникнет управляющий момент

Мупр = Рупр                (6)

Нелинейная функция  приведена на рисунке.

аргумент управления

                             (7)

Значение a=0,01радиан. В случае а=0 имеем «чистую» релейную функцию.

Значения коэффициентов в законе управления а0 и а1 могут отличаться от их значений в законе управления маховиком.

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

Закон управления в БЦВМ на участке разгрузки.

1)Запросить

2)Запросить

3)Рассчитать аргумент управления  

4)В соответствии с функцией F() включить Мупр

5)При достижении  =0  перейти на закон управления при помощи маховика и прекратить работу с УРД.

Интегрирование уравнений углового движения (5) совместно с уравнением управления (6),(7) производится численным методом Эйлера.

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

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

На участке разгона отслеживается превышение максимального управляющего момента маховика и максимального управляющего ускорения маховика.

Пользователь имеет возможность регулировать управление на каждом участке, предварительно введя свои коэффициенты a0, a1.

  1.  Структурная схема программы управления студенческим спутником по каналу тангажа.

  1.  Варианты отладки программы управления спутником. Исходные данные для каждого варианта. Графики изменения параметров углового движения студенческого спутника по каналу тангажа.
  2.  Шаг интегрирования dt = 0.01 с;

Шаг дискретизации = 1 с;

A0 для первого участка = 10;

A1 для первого участка = 40;

A0 для второго участка = 1;

A1 для второго участка = 2;

Результаты управления на участке разгона маховика:

Время управления = 450 c;

Результаты управления на участке сброса кинетического момента:

Время управления = 900 c;

  1.  Шаг интегрирования dt = 0.01 с;

Шаг дискретизации = 7 с;

A0 для первого участка = 10;

A1 для первого участка = 40;

A0 для второго участка = 1;

A1 для второго участка = 2;

Результаты управления на участке разгона маховика:

Время управления = 450 c;

Результаты управления на участке сброса кинетического момента:

Время управления = 900 c

Сквозные графики

Шаг интегрирования dt = 0.01 с;

Шаг дискретизации = 7 с;

A0 для первого участка = 10;

A1 для первого участка = 40;

A0 для второго участка = 1;

A1 для второго участка = 2;

                          

5.Скриншот программы

6. Исходный код программы

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

using System.Drawing;

using System.Windows.Forms;

using System.Windows.Forms.DataVisualization.Charting;

namespace trpo_laba

{

   class trpo

   

   {

       public class Line

       {

           double Mv = 0.04;// 0.0001; расшифровки в методичке должны быть

           double I0 = 20;

           double Im = 0.02;

           double Purd = 0.1;//0.01

           double Lm = 0.4;

           double Murd = 0;

           int a1 = 40, a0 = 10;

           int a1_2 = 2, a0_2 = 1;

           double Mt = 0.02;

           double a = 0;

           double uskor_max = 1;

           double t_diskr = 1; //шаг дискретизации

           public Line(double _Mv, double _I0, double _Im, double _Purd, double _Lm, double _Murd, int _a1, int _a0, int _a1_2, int _a0_2, double _Mt, double _uskor_max, double _t_diskr, double _a)

           {

               Mv = _Mv;

               I0 = _I0;

               Im = _Im;

               Purd = _Purd;

               Lm = _Lm;

               Murd = _Murd;

               a1 = _a1;

               a0 = _a0;

               a1_2 = _a1_2;

               a0_2 = _a0_2;

               Mt = _Mt;

               uskor_max = _uskor_max;

               t_diskr = _t_diskr;

               a = _a;

           }

           public void FirstSecondStep(double _dt, int _a0, int _a1, double _t, Chart ch1, Chart ch2, Chart ch3, Chart ch4) //запуск обоих участков сразу

           //_dt - шаг интегрирования

              

           {

               ch1.Series[0].Points.Clear();

               ch1.Series[1].Points.Clear();

               ch2.Series[0].Points.Clear();

               ch2.Series[1].Points.Clear();

               ch3.Series[0].Points.Clear();

               ch3.Series[1].Points.Clear();

               ch4.Series[0].Points.Clear();

               ch4.Series[1].Points.Clear();

               double x1 = 0, x2 = 0, x3, w = 0; // w - скорость

               double t = 0;

               double f = 0;

              // double a = 0;

               int i = 0;

               double buf_x1 = 0, buf_x2 = 0, buf_x3 = 0, buf_w = 0;

               StreamWriter sw = new StreamWriter("D:\\abc.txt", false, Encoding.Default);

               sw.WriteLine("|t   | x1   | x2   | x3  |");

               sw.WriteLine("|0   |0     |0     | 0   |");

               ch2.Series[0].Points.AddXY(0, 0);

               ch3.Series[0].Points.AddXY(0, 0);

               x3 = 0;

               while (w <= 900)

               {

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       x3 = a0 * x1 + a1 * x2;

                   }

                   x1 = x1 + _dt * x2;

                   x2 = x2 + _dt * ((/*Mv / I0*/0.002) - (Im / I0) * x3);

                   w = w + _dt * x3;

                   t += _dt;

                   sw.WriteLine("|" + t + "   |" + x1 + "   |" + x2 + "    |" + x3 + "   |");

                   ch1.Series[0].Points.AddXY(t, x1);

                   ch2.Series[0].Points.AddXY(t, x2);

                   ch3.Series[0].Points.AddXY(t, x3);

                   ch4.Series[0].Points.AddXY(t, w);

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       ch1.Series[1].Points.AddXY(t, x1);

                       ch2.Series[1].Points.AddXY(t, x2);

                       ch3.Series[1].Points.AddXY(t, x3);

                       ch4.Series[1].Points.AddXY(t, w);

                       buf_x1 = x1;

                       buf_x2 = x2;

                       buf_x3 = x3;

                       buf_w = w;

                   }

                   else

                   {

                       ch1.Series[1].Points.AddXY(t, buf_x1);

                       ch2.Series[1].Points.AddXY(t, buf_x2);

                       ch3.Series[1].Points.AddXY(t, buf_x3);

                       ch4.Series[1].Points.AddXY(t, buf_w);

                   }

                   i++;

               }

               while (w > 0)

               {

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       f = a0_2 * x1 + a1_2 * x2;

                   }

                   // f = a0 * x1 + a1 * x2;

                   if (f > a) f = 1;

                   else if ((f >= (0 - a)) && (f <= a)) { f = 0; }

                   else if (f < (0 - a)) { f = -1; }

                   //  else if (f < -a) f = -1;

                   //  else f = 0;

                   Murd = 0.004 * f;//Purd * Lm * f;

                   x2 = x2 + _dt * ((Mt / I0) + (Mv / I0) - Murd);//(Murd / I0));

                   x1 = x1 + _dt * x2;

                   w = w - _dt * uskor_max;

                   ch1.Series[0].Points.AddXY(t, x1);

                   ch2.Series[0].Points.AddXY(t, x2);

                   ch4.Series[0].Points.AddXY(t, w);

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       ch1.Series[1].Points.AddXY(t, x1);

                       ch2.Series[1].Points.AddXY(t, x2);

                       //  ch3.Series[1].Points.AddXY(t, x3);

                       ch4.Series[1].Points.AddXY(t, w);

                       buf_x1 = x1;

                       buf_x2 = x2;

                       buf_x3 = x3;

                       buf_w = w;

                   }

                   else

                   {

                       ch1.Series[1].Points.AddXY(t, buf_x1);

                       ch2.Series[1].Points.AddXY(t, buf_x2);

                       //  ch3.Series[1].Points.AddXY(t, buf_x3);

                       ch4.Series[1].Points.AddXY(t, buf_w);

                   }

                   t += _dt;

               }

               /*   DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)

                      cell.Value*/

               sw.Flush();

               sw.Close();

           }

           public void FirstStep(double _dt, int _a0, int _a1, double _t, Chart ch1, Chart ch2, Chart ch3, Chart ch4) //запуск обоих участков сразу

           //_dt - шаг интегрирования

            

           {

               ch1.Series[0].Points.Clear();

               ch1.Series[1].Points.Clear();

               ch2.Series[0].Points.Clear();

               ch2.Series[1].Points.Clear();

               ch3.Series[0].Points.Clear();

               ch3.Series[1].Points.Clear();

               ch4.Series[0].Points.Clear();

               ch4.Series[1].Points.Clear();

               double x1 = 0, x2 = 0, x3, w = 0; // w - скорость

               double t = 0;

               double f = 0;

              // double a = 0;

               int i = 0;

               double buf_x1 = 0, buf_x2 = 0, buf_x3 = 0, buf_w = 0;

               StreamWriter sw = new StreamWriter("D:\\abc.txt", false, Encoding.Default);

               sw.WriteLine("|t   | x1   | x2   | x3  |");

               sw.WriteLine("|0   |0     |0     | 0   |");

               ch2.Series[0].Points.AddXY(0, 0);

               ch3.Series[0].Points.AddXY(0, 0);

               x3 = 0;

               while (w <= 900)

               {

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       x3 = a0 * x1 + a1 * x2;

                   }

                   x1 = x1 + _dt * x2;

                   x2 = x2 + _dt * ((/*Mv / I0*/0.002) - (Im / I0) * x3);

                   w = w + _dt * x3;

                   t += _dt;

                   sw.WriteLine("|" + t + "   |" + x1 + "   |" + x2 + "    |" + x3 + "   |");

                   ch1.Series[0].Points.AddXY(t, x1);

                   ch2.Series[0].Points.AddXY(t, x2);

                   ch3.Series[0].Points.AddXY(t, x3);

                   ch4.Series[0].Points.AddXY(t, w);

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       ch1.Series[1].Points.AddXY(t, x1);

                       ch2.Series[1].Points.AddXY(t, x2);

                       ch3.Series[1].Points.AddXY(t, x3);

                       ch4.Series[1].Points.AddXY(t, w);

                       buf_x1 = x1;

                       buf_x2 = x2;

                       buf_x3 = x3;

                       buf_w = w;

                   }

                   else

                   {

                       ch1.Series[1].Points.AddXY(t, buf_x1);

                       ch2.Series[1].Points.AddXY(t, buf_x2);

                       ch3.Series[1].Points.AddXY(t, buf_x3);

                       ch4.Series[1].Points.AddXY(t, buf_w);

                   }

                   i++;

               }

             //  MessageBox.Show("Этап 1 завершен!");

             

               sw.Flush();

               sw.Close();

           }

           public void SecondStep(double _dt, int _a0, int _a1, double _t, Chart ch1, Chart ch2, Chart ch3, Chart ch4) //запуск обоих участков сразу

           //_dt - шаг интегрирования

              

           {

               double x1 = 0, x2 = 0, x3, w = 0; // w - скорость

               double t = 0;

               double f = 0;

              // double a = 0;

               int i = 0;

               double buf_x1 = 0, buf_x2 = 0, buf_x3 = 0, buf_w = 0;

               StreamWriter sw = new StreamWriter("D:\\abc.txt", false, Encoding.Default);

               sw.WriteLine("|t   | x1   | x2   | x3  |");

               sw.WriteLine("|0   |0     |0     | 0   |");

              // ch2.Series[0].Points.AddXY(0, 0);

               //ch3.Series[0].Points.AddXY(0, 0);

               x3 = 0;

               while (w <= 900)

               {

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       x3 = a0 * x1 + a1 * x2;

                   }

                   x1 = x1 + _dt * x2;

                   x2 = x2 + _dt * ((/*Mv / I0*/0.002) - (Im / I0) * x3);

                   w = w + _dt * x3;

                   t += _dt;

                   sw.WriteLine("|" + t + "   |" + x1 + "   |" + x2 + "    |" + x3 + "   |");

                 //  ch1.Series[0].Points.AddXY(t, x1);

                   //ch2.Series[0].Points.AddXY(t, x2);

                   //ch3.Series[0].Points.AddXY(t, x3);

                   //ch4.Series[0].Points.AddXY(t, w);

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                     //  ch1.Series[1].Points.AddXY(t, x1);

                       //ch2.Series[1].Points.AddXY(t, x2);

                       //ch3.Series[1].Points.AddXY(t, x3);

                       //ch4.Series[1].Points.AddXY(t, w);

                       buf_x1 = x1;

                       buf_x2 = x2;

                       buf_x3 = x3;

                       buf_w = w;

                   }

                   else

                   {

                       //ch1.Series[1].Points.AddXY(t, buf_x1);

                       //ch2.Series[1].Points.AddXY(t, buf_x2);

                       //ch3.Series[1].Points.AddXY(t, buf_x3);

                       //ch4.Series[1].Points.AddXY(t, buf_w);

                   }

                   i++;

               }

               //MessageBox.Show("Этап 1 завершен!");

               //a0 = 1;

              // a1 = 2;

               ch1.Series[0].Points.Clear();

               ch2.Series[0].Points.Clear();

               ch3.Series[0].Points.Clear();

               ch4.Series[0].Points.Clear();

               ch1.Series[1].Points.Clear();

               ch2.Series[1].Points.Clear();

               ch3.Series[1].Points.Clear();

               ch4.Series[1].Points.Clear();

               //t = 0;

               while (w > 0)

               {

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       f = a0_2 * x1 + a1_2 * x2;

                   }

                   // f = a0 * x1 + a1 * x2;

                   if (f > a) f = 1;

                   else if ((f >= (0 - a)) && (f <= a)) { f = 0; }

                   else if (f < (0 - a)) { f = -1; }

                   //  else if (f < -a) f = -1;

                   //  else f = 0;

                   Murd = 0.004 * f;//Purd * Lm * f;

                   x2 = x2 + _dt * ((Mt / I0) + (Mv / I0) - Murd);//(Murd / I0));

                   x1 = x1 + _dt * x2;

                   w = w - _dt * uskor_max;

                   ch1.Series[0].Points.AddXY(t, x1);

                   ch2.Series[0].Points.AddXY(t, x2);

                   ch4.Series[0].Points.AddXY(t, w);

                   if (Math.Round(t, 3) % t_diskr == 0)

                   {

                       ch1.Series[1].Points.AddXY(t, x1);

                       ch2.Series[1].Points.AddXY(t, x2);

                       //  ch3.Series[1].Points.AddXY(t, x3);

                       ch4.Series[1].Points.AddXY(t, w);

                       buf_x1 = x1;

                       buf_x2 = x2;

                       buf_x3 = x3;

                       buf_w = w;

                   }

                   else

                   {

                       ch1.Series[1].Points.AddXY(t, buf_x1);

                       ch2.Series[1].Points.AddXY(t, buf_x2);

                       //  ch3.Series[1].Points.AddXY(t, buf_x3);

                       ch4.Series[1].Points.AddXY(t, buf_w);

                   }

                   t += _dt;

               }

               /*   DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)

                      cell.Value*/

               sw.Flush();

               sw.Close();

           }

       

       }

   }

       }

       

7. Выводы по лабораторной работе

По итогам данной лабораторной работы мы прошли через все этапы разработки конкретного ПО – программы управления угловым движения спутника

По результатам программы можно сделать вывод, что точность вычислений параметров спутника обратно пропорциональна шагу интегрирования. При этом чем меньше шаг интегрирования, тем больше времени потребуется на выполнение программы. Также точность вычислений обратна пропорциональна шагу дискретизации. Большое значение шага дискретизации (> 7 c) отрицательно влияет на точность параметров и на вид графиков.


t

EMBED Equation.3  d(t)

EMBED Equation.3  (t)

Т

F(kT)


 

А также другие работы, которые могут Вас заинтересовать

25049. Соціокультурні світи 34 KB
  Будьякий соціокультурний світ відрізняється не тільки своєрідністю культури але й звичаями життя у ньому. Соціокультурні світи можуть бути замкнуті у сферу якоїнебудь окремої етнічної культури наприклад світ Стародавнього Єгипту чи світ інків. Але на відміну від національних культур вони не обов`язково виникають на основі етнічної спільності і можуть охоплювати різні народи і країни наприклад світ європейського середньовіччя світ арабської культури.
25050. Вихідним моментом інформаційно-семіотичного підходу до культури 58.5 KB
  І такими видами смислів виступають знання цінності і регулятиви. Відповідно цьому знання те що дається пізнанням цінності те що встановлюється за допомогою оцінки і регулятиви те чим регулюються дії представляють собою три основних види смислів. Знання когнітивний смисл лат cognitio знання пізнання це інформація про властивості об'єкту. Невірне помилкове твердження це також знання тільки недостовірні якщо враховувати що у знаннях є елемент суб'єктивності і що істинність їх відносна; Таким чином знання важлива...
25051. Мир культуры во всем его разнообразии и богатстве творится человеком 36.5 KB
  Как человек творит культуру так и культура формирует человека обусловливает цели и смысл его бытия развивает его собственную сущность. Существенными определяющими ведущими для человека в целом являются не биологические а общественные закономерности его развития 191. Анализируя соотношение человека и культуры исследователи отмечают его многоаспектный характер. Духовность человека это богатство мыслей сила чувств и убеждений.
25052. Желчнокаменная болезнь 1.23 MB
  Желчнокаменная болезнь (камни в желчном пузыре) известна с глубокой древности. Упоминания о ней встречаются в трудах врачей эпохи Возрождения. Развитие анатомии в ХVI-ХVII веках способствовало изучению заболеваний печени и желчного пузыря.
25053. Методи й принципи культурології 32 KB
  Він становить епістемологію культури епістемологіяце теорія пізнання представлену загальною системою методологічних підходів принципів і методів пізнання систематизації й аналізу світових культурних процесів: Діахронний виклад явищ фактів і подій світової та вітчизняної культури у хронологічній послідовності. Археологічний вивчення загального стану розвитку культури минулих поколінь на підставі матеріальних знахідок. Психологічний вивчення субєктивних механізмів функціонування культури індивідуальних якостей людини та...
25054. Створення контркультури 38 KB
  Поняття контркультура з'явилось в західній літературі у 1960 р. Контркультура об'єднує концепції які утворюють еклектичну суміш з різних понять екзистенціалізму фрейдизму вульгаризованого марксизму руссоїзму анархізму цинізму східної філософії та релігії. Контркультура протиставляла себе тим що ставила на перше місце чуттєвоемоційне переживання буття що знаходиться за рамками умогляднологічних методів пізнання. Контркультура як правило не просто має парадигму відмінну від парадигми домінуючої культури а й явно протиставляє...
25055. Жизнедеятельность общества 38 KB
  Культура играет важную роль в жизни человека и общества которая состоит прежде всего в том что культура выступает средством аккумуляции хранения и передачи человеческого опыта. Именно культура делает человека личностью. Культура личности обычно ассоциируется с развитыми творческими способностями эрудицией пониманием произведений искусства свободным владением родным и иностранными языками аккуратностью вежливостью самообладанием высокой нравственностью и т. Культура сплачивает людей интегрирует их обеспечивает целостность...
25056. Контркультура 40.5 KB
  Она определила функциональное направление и начала выполнять действие определенное законами диалектического процесса развития общества. Культура как олицетворение процесса жизнедеятельности вырабатывала своеобразный комплекс правила игры коллективного сосуществования определяла критерии оценивания тех или других интеллектуальных действий вырабатывала методы и методики передачи информации которое оказывало содействие развитию общества. Соответственно цивилизационный процесс существенно различается у народов каждой исторической эпохи а...
25057. Народная культура 44.5 KB
  Попкультура совокупность произведений различных видов искусства музыки живописи скульптуры прикладного искусства и т. Попкультура ныне включает в себя музыку кинематограф и мультипликацию литературу средства массовой информации включая комиксы и Интернет моду кулинарию рекламу спорт туризм дизайн и множество других элементов. Культура приобретает приставку поп в случае если она превращается в нечто большее чем просто игру разума или творческое рефлексирование некое произведение должно стать широко популярным в обществе....