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

 

Введение


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

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

.Специальная часть


.1 Анализ функционирования известных систем управления движением


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

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

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

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

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

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

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

Постановка задачи.

Рассмотрим решение задачи назначения динамических приоритетов при следующих допущениях:

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


Рис. 1. Картина выведения воздушных судов на заданную линию попутного движения при заданной дистанции безопасности x = 6 км


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

.Каждое судно (ЛА) характеризуется в текущий момент времени вектором состояния, характеризуемым координатами:

-кратчайшим расстоянием х1 от ЛА до линии пути;

-минимальным расстоянием х2 до ближайшего в эшелоне судна, уже находящегося на заданной линии пути;

-курсовым углом х3 отсчитываемым по отношению к заданному курсу линии пути;

-потраченным запасом топлива х4, предусмотренным для выполнения дополнительных маневров, для обеспечения безопасных дистанций от соседних ЛА в эшелоне.

Каждая из трех координат х123 - знакопеременная, координата х4 неотрицательная.

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

.В качестве постоянных параметров принимаются, как известные скорость полета V, максимальное допустимое боковое ускорение а при разворотах, минимальная дистанция r безопасного движения судов в эшелоне и запас топлива , отведенной на маневрирование и определяющий оставшейся на последующие действия запас топлива как (-х4). В частности, принято V=0.1 км/сек, а=1 м/сек*сек, r=6 км.

6.Принимаемое окончательное решении относится к одной из двух альтернатив (j=1,2)

-При j=1 принимается решение о введении ЛА в воздушный эшелон, если соответствующий ему риск невелик.

-При j=2 дается команда об уходе ЛА на повторный круг, если существует угроза возникновения аварийной ситуации в воздухе из-за опасного сближения судов.

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

Для координаты х1 принято


(1)


В данной работе ориентировочно было принято Т1=90 сек, Т2=180 сек.

Формула (1) показывает, что при «втягивании» ЛА на линию пути воздушное судно апериодически постепенно стремится обеспечить безопасную дистанцию r, при этом постоянная времени 12) апериодического процесса есть время Т2 попадания ЛА на саму линию пути плюс время Т1 ускоренного движения по линии пути до точки 1+r), имеющей безопасное расстояние r до соседнего ЛА0 (см. рис.1)

Для координаты х2 принято


(2),


Где Т0>T2 - время движения ЛА на повторном круге.

В данной работе это время было принято равным Т0=2ПV.

Координата х3 курсового угла стремится к нулю (к курсу заданной линии пути) примерно с той же динамикой, что и в (2).


(3).


Расход топлива для обеспечения полета должен определяться с учетом того, что на самой линии пути изменение дистанции между летящими ЛА осуществится на форсированном режиме тяги двигателей, при этом расход увеличится в (l+) раз, а «скорость догона» одного ЛА по отношению к соседнему ЛА будет лишь V. Поэтому в первом приближении можно записать


(4),


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

В данной работе принято , что соответствует также повышению скорости полета по линии пути на 20% для увеличения безопасной дистанции.

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


(5)


Поясним формулу (5). При j=1, т.е. при «втягивании» ЛА на линию пути, в каждый момент времени штрафуются квадрат отклонения от безопасной точки, квадрат отклонения от линии пути и относительный расход топлива . Чем меньше эти слагаемые, тем лучше и тем быстрее ЛА войдет в эшелон с малыми затратами топлива.

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

При j=2 отклонения х1 и х2 от линии пути при полете по повторному кругу значения не имеют, но есть опасность пересечения полета с траекториями движения других судов.

Чем больше радиус R= этого круга по сравнению с дистанцией r безопасного движения, тем хуже, поэтому функцию введена величина L штрафов встречи с другими судами, равная



Кроме того ввиду большого времени полета по повторному кругу в формулу (5) введено дополнительное слагаемое , имеющее существенную поправку при

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


1.2 Анализ известных методов синтеза законов управления


1.2.1 Динамическое программирование

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



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



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

Исходя из этого, Беллманом был сформулирован принцип оптимальности, каковы бы ни были начальное состояние и начальное управление, последующие управления должны быть оптимальными относительно состояния, являющегося результатом применения первого управления. Принцип оптимальности можно также сформулировать следующим образом: оптимальное поведение не зависит от предыстории системы, а определяется только начальным (к данному моменту времени) условием и конечной целью, и текущее управление должно выбираться с учетом последствий в будущем. Классическим примером оптимального поведения является стратегия бегуна на дальнюю дистанцию. На старте бегун составляет график своего бега так, чтобы пройти дистанцию за минимальное время. Это не значит, что каждый участок он должен бежать как можно быстрее. Наоборот, находясь на дистанции, он в каждый момент времени должен распределять свои силы так, чтобы с учетом своего состояния пробежать оставшийся участок за минимальное время, чему может соответствовать и бурный финиш в конце дистанции.

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

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

Дискретная форма динамического программирования.

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



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



где u - ограниченное в общем случае управление, т.е.


;- Дискрет времени, равный .


При заданном начальном состояний объекта и свободном правом конце необходимо за фиксированное время обеспечить минимум заданного функционала



или в виде аддитивной целевой функции



Таким образом, J есть функция (к + 1) выбираемых переменных , присутствующих в (к +1) уравнениях связи, т.е. можно попытаться решить задачу с помощью множителей Лагранжа. Однако это сложно из-за большой размерности задачи, поэтому применим иной подход.

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

Представим теперь, что система функционировала некоторое время , в результате чего к моменту она пришла в новое состояние . Тогда, согласно принципу оптимальности, оставшееся значение минимизируемого функционала


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



Поэтому, преследуя цель минимизации суммарных потерь, как текущих так и последующих, можно записать



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



Развивая этот же подход применительно к многомерному неавтономному объекту, можно получить функциональное уравнение Беллмана:



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



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

На следующем шаге, являющемся уже типичным для расчетов, снова формируются варианты состояния , а затем для каждого из них численно определяется управление , но уже исходя из минимума суммы двух слагаемых, причем второе слагаемое отыскивается в памяти ЭВМ в соответствии с переходом из B ;



где,



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

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


Рис.2. Иллюстрация численного решения с правого конца задачи при дискретной форме динамического программирования


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

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

Непрерывная форма динамического программирования

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

Рассмотрим следующий предельный случай, когда дискретность времени бесконечно мало, т.е. . Обратимся к функциональному уравнению Беллмана для одномерного объекта, заменив в нем дискретный момент времени ( на текущее время ) и согласно (1.2) и (1.3) функции и соответственно на и . Тогда можно получить выражение



При этом функция S во втором слагаемом правой части уравнения также имеет бесконечно малые приращения. Допустим, что функция Беллмана S непрерывна и, кроме того, существуют частные производные . Тогда можно разложить функцию ряд Тейлора в точке (х,t) и, пренебрегая членами второго порядка малости, получить



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



Перенеся первые два члена в левую часть, разделим уравнение на :



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


.


Если рассматривать детерминированный случай при и, наконец, исследовать поведение системы с п координатами и r управлениями ,то можно получить известное уравнение Беллмана в частных производных



Очень важно подчеркнуть, что уравнение Беллмана (1.10) является нелинейным дифференциальным уравнением, поскольку в нем присутствует операция минимизации. В векторной форме его можно записать так:



где,



Поясним теперь смысл слагаемых, входящих в правую часть уравнения (1.10). Первое слагаемое характеризует потери на текущем шаге, второе слагаемое в виде суммы членов оценивает последствия от принятого решения в будущем. Причем каждый член учитывает изменение текущего состояния по координате , возникающее за счет управления , с помощью производной , которая умножается на свой весовой коэффициент . Таким образом, производные есть своего рода «коэффициенты чувствительности» оставшегося значения минимизируемого функционала к изменениям текущих значений фазовых координат . Это соображение иллюстрирует дальновидность метода и оживляет представление о функции Беллмана как о некоторой функции отклика критерия оптимальности на измененные вектора состояния . Часто в технических задачах можно физически уяснить себе характер зависимости функции S от фазовых координат системы. Поэтому удается найти управление в функции от состояния фазовых координата , что позволяет прийти к замкнутой системе управления с обратной связью и тем самым ускорить решение задачи, что будет показано ниже в примерах.

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



где функция от времени не зависит. Для задач максимального быстродействия в уравнении (1.11) нужно ввести замену .

В заключение отметим, что вывод уравнений (1.10) и (1.11) требовал дифференцируемости функции S. Однако существуют задачи, где эта функция не является дифференцируемой, а оптимальное управление существует. Поясним на примере, что на линии переключения функция S всегда не дифференцируема.

Связь динамического программирования с вариационным исчислением и принципом максимума

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

Связь метода динамического программирования с вариационным исчислением. Пусть целевая функция зависит от скорости изменения фазовых координат. Тогда уравнение (3.10) можно записать в виде



Продифференцируем уравнение (1.12) по с учетом того, что функция Беллмана от не зависит:



Затем запишем полную производную по t:



Продифференцируем теперь уравнение (1.14) по ;



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



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

Пусть теперь граничное условие задачи в конечный момент времени есть соотношение [8]



Тогда с учетом равенства (1.13) получим из (1.12) следующее соотношение, идентичное условию задачи с подвижным концом в вариационном исчислении:



Кроме того, можно убедиться, что уравнение (1.13) есть необходимое условие минимума для выражения в правой части (1.13), поскольку, во-первых, уравнение (1.13) есть частная производная от этого выражения по , приравненная к нулю. Во-вторых, дифференцируя по уравнение (1.13) вторично и учитывая равенство нулю производной от первого слагаемого, получаем еще одно необходимое условие минимума, состоящее в положительной определенности матрицы частных производных второго порядка, что совпадает с условием Лежандра в вариационном исчислении.

Можно также показать [8], что если экстремум в точке совпадает с абсолютным минимумом, т.е.



то это соответствует известному условию Вейерштрасса.

Связь метода динамического программирования с принципом максимума. Геометрическая интерпретация динамического программирования. Связь с функцией Ляпунова. Классическое описание данной взаимосвязи строится на том, что из уравнений динамического программирования при определенных допущениях выводятся результат ты, соответствующие принципу максимума [9, 10]. Основной смысл этих сопоставлений состоит в том, чтобы показать, что для применения динамического программирования нужны излишне жесткие требования, связанные с существованием непрерывных частных производных . Действительно, если для задачи с закрепленным временем ввести (п + 2)-мерную вектор-функцию



то уравнение Беллмана (1.10) можно записать в виде [7]



или тах , что соответствует принципу максимума, если ввести функцию .

Если рассмотреть задачу максимального быстродействия, то, воспользовавшись уравнением (1.14) для автономных систем и продифференцировав его по , получим


Первое слагаемое можно преобразовать, учитывая очевидное соотношение



откуда получаем следующий результат:



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

Тогда условие (1.14) для оптимального процесса приобретет вид,



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



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

или в векторной форме .


Рис. 3. Геометрическая интерпретация динамического программирования в задаче максимального быстродействия.


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

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

С помощью функции Беллмана S можно дать и другую трактовку процессу ее убывания, связав ее с функцией Ляпунова.


Действительно, если целевая функция положительно определена,



то, выразив уравнение (1.12) в виде


или


видим, что функция S есть функция Ляпунова.

Значит, если функция S положительно определена, то оптимальная система обладает еще одним замечательным свойством - она асимптотически устойчива, что особенно важно для нелинейных систем.

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

Формально это требует решения нелинейных дифференциальных уравнений вида (1.9) или (1.10) в частных производных, что так же сложно, как и решение краевых задач в принципе максимума.

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

Поскольку динамическое программирование наиболее близко к получению оптимального управления в замкнутой форме, нужно подробнее остановиться на задаче синтеза систем автоматического управления, удовлетворяющего при существующих ограничениях требуемому качеству. Одним из направлений в этой области является разработанный у нас в стране А.М.Летовым подход, названый аналитическим конструированием регуляторов [З1], когда алгоритм управляющего устройства замкнутой системы находится аналитически в соответствии с определенным функционалом качества, соответствующим квадратическому критерию вида



Минимизация функционала (1.16) соответствует задаче о регуляторе состояния, когда важно удерживать около нуля все компоненты вектора состояния. Возможны другие варианты удержания около нуля некоторой ошибки, представляющей собой разность между желаемым и выходным сигналами в задачах слежения [28], но смысловое содержания структуры критерия остается неизменным. Первое слагаемое характеризует терминальную ошибку в конечный момент, второе слагаемое преследует цель обеспечить малость ошибки при удерживании системы в заданном положении. Последнее слагаемое представляет «штраф за большие управления» и оценивает затрачиваемую на управление энергию.

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

При этом, как правило, рассматривается линейный нестационарный объект, описываемый уравнениями



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



которая при не равна нулю.

С учетом (1.16) и (1.17) уравнение Беллмана имеет вид



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



Поскольку матрица Д положительно определена, можно найти, во-первых, оптимальное управление



и, во-вторых, записать уравнение Беллмана без операции минимизации:



Уравнение (3.20) можно решить при условии .Можно показать [31], что уравнение (3.20) имеет точное аналитическое решение, которое представляет собой квадратичную форму



Где К(t) - симметричная нестационарная матрица с искомыми элементами.

Вычислив частные производные



подставим их в уравнение (1.20):



Учитывая, что , уравнение (1.22) можно преобразовать к виду



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



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



И снова, возникает закономерный вопрос -- при каких условиях структура и параметры регулятора будут неизменны. В работах Калмана доказывается, что при М= 0 и для стационарных объектов, т.е. при постоянных матрицах А, В, К и Р, решение уравнения Риккати есть постоянная матрица К, соответствующая уравнению



В этом случае оптимальная замкнутая система является стационарной



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


1.2.2 Принципы самоорганизации в сложных динамических системах

Академиком А.А. Красовским около 30 лет назад была поставлена крупная проблема создания физической теории управления, которая «базируется на фундаменте физических законов, учете ресурсов и приоритетах реального мира [18].

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

Эта теория была сначала обобщена в монографиях [14, 15] в форме метода аналитического конструирования агрегированных регуляторов (АКАР), а затем в монографии [4], в которой нелинейный системный синтез фактически приобрел завершенную форму в виде СТУ, построенной по схеме: «инварианты - самоорганизация - синтез», т.е. полностью в русле идеологии синергетики. В последующие годы СТУ и метод АКАР получили дальнейшее развитие применительно, в первую очередь, к решению сложных прикладных нелинейных проблем управления в машиностроении и энергетике.

На основе метода АКАР были решены нелинейные проблемы синтеза систем скалярного, векторного, разрывного, дискретного, селективно-инвариантного, многокритериального, терминального и адаптивного управлений многомерными и многосвязными объектами.

Так, метод АКАР был весьма успешно применен для синтеза базовых законов векторного управления нелинейными техническими объектами - летательными аппаратами (ЛА), роботами, турбогенераторами, теплоэнергетическими агрегатами, электромеханическими системами постоянного и переменного тока, решена важная проблема синтеза базовых законов координирующего управления пространственным движением ЛА, обеспечивающих их текущую структурную адаптацию к режимам и условиям полета.

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

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

Крестообразная схема размещения управляющих органов при повороте их на угол вращения равный 45° превращается в иксообразную схему, в которой моменты тангажа и рыскания создаются согласованным отклонением всех четырех управляющих органов. Если предположить, что все управляющие органы отклонены на одинаковый угол, то развиваемый при этом момент, например, тангажа будет больше в раз, чем при отклонении на тот же угол двух управляющих органов в крестообразной схеме. Аналогичный вывод справедлив и для момента рыскания. Таким образом, иксообразная схема может быть более эффективна, особенно при отработке больших по величине возмущений. Однако, анализ зависимости моментов УО от угла вращения показывает, что разворот корпуса на определенный угол вращения приводит к увеличению момента по одной оси, но при этом управляющий момент по другой оси может значительно уменьшиться и даже стать равным нулю. При законе управления по углу и угловой скорости управляющие сигналы могут быть в виде:


, .(16)


С учетом эффективности управляющих органов и получим значения моментов и их проекции на оси стартовой системы координат


.(17)


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

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


(18)


При равенстве коэффициентов эффективности УО получим


.(19)


Проведя аналогичные вычисления, для значения управляющего момента по углу рыскания получим


.(20)


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


.(21)


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

Для простоты реализации программное значение угла вращения может изменяться по следующему алгоритму


.(22)


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


.(23)


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


(24)


Аналогичные вычисления можно выполнить и для канала тангажа. Полученные выражения представляют собой преобразователь координат. Следовательно, при повороте УО на угол вращения значения управляющих моментов будут пропорциональны сигналам управления [5,6,7].

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


(25)


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

Для случая, когда возмущающий момент по каналу тангажа значительно больше, чем по каналу рыскания, то . Значение угла вращения может достигать 30°, регулируется путем выбора коэффициента k. При этом значение произведения мало, так как - мало, и управляющий сигнал по каналу рыскания вычисляется в соответствии с выражением (12), что обеспечивает пропорциональность управляющего момента по данному каналу управляющему сигналу. Управляющий сигнал по каналу тангажа будет определяться выражением , что позволит при ненулевом угле вращения получить значение управляющего момента, превосходящее максимальное (при ) на 20%. Теоретически увеличение может быть в раз, при развороте управляющих органов на угол вращения . Однако этот алгоритм более сложный.


1.2.3 Синергетические основы нелинейной теории системного синтеза

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

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

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

Дело, однако, заключается в том, что для эффективного применения идей синергетики в проблемах системного синтеза причинного способа самоорганизации было явно недостаточно и требовался новый, принципиальный шаг в понимании сущности процессов управления и самоуправления в синергетике. Новизна заключалась в переходе от непредсказуемого поведения системы по алгоритму диссипативной структуры к направленному движению вдоль желаемых инвариантных многообразий (ИМ) - аттракторов, к которым подстраиваются все другие переменные динамической системы. Это уже способ направленной самоорганизации синтезируемых систем. При таком подходе цель - аттрактор - определяет сущность процесса, а его истинное понимание состоит в самоуправлении и направленной самоорганизации в соответствии с поставленной целью. С информационной точки зрения этот способ отражает процесс рецепции информации, что на языке теории динамических систем означает перевод соответствующей системы в определенное конечное состояние независимо от ее прежнего состояния. В свойстве самоуправляемости и направленной самоорганизации нелинейных систем проявляется новый взгляд на проблему системного синтеза, видна тенденция перехода от классических методов кибернетики к современным идеям синергетики. Такой подход позволил создать новую синергетическую теорию управления (СТУ), имеющую глубокое естественнонаучное обоснование как приложение принципов самоорганизации в проблемах управления [14-20].

Основные особенности СТУ применительно к проблеме системного синтеза состоят, во-первых, в кардинальном изменении целей поведения синтезируемых систем; во-вторых, в непосредственном учете естественных свойств нелинейных объектов; и, в-третьих, в формировании нового механизма генерации ОС, т.е. законов управления. Конкретно суть этих нововведений состоит в следующем:

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

целевые аттракторы и ИМ отражают физическую сущность процессов, протекающих в соответствующем объекте. Эти многообразия формируются на основе желаемых технологических инвариантов;

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


Рис.4 «Принцип «расширения - сжатия» пространства состояний систем»


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

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

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

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

Подчеркнем тот очевидный факт, на который почему-то редко обращают внимание, что в начальный момент t = 0 ИТ находится и пространстве размерности n, в конечный же момент, т.е. после завершения процесса управления, ИТ попадает в точку с нулевой размерностью. Это означает, что под действием управления ИТ постепенно переходит из исходного пространства размерности n в подпространство размерности затем , и т. д. вплоть до одномерного многообразия , двигаясь вдоль которого на финишном участке ИТ и попадает в начало координат фазового пространства. Другими словами, под действием непрерывного управления происходит постепенное сжатие объема фазового потока, в котором движется ИТ объекта.


Рис.5 «Постановка проблемы синергетического синтеза систем»


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

В общем, плане можно утверждать, что синтезируемая система управления должна обладать достаточным числом степеней свободы для реализации поставленной технологической задачи управления. Это означает, что в тех случаях, когда исходный объект обладает ограниченным числом степеней свободы n, то для реализации поставленной цели управления, заключающейся, например, в отслеживании или подавлении некоторой функции, представляемой решением дифференциального уравнения размерности , необходимо предварительно осуществить операцию расширения фазового пространства исходного объекта, по меньшей мере до размерности . Отсюда следует важный вывод о том, что для синтеза эффективных систем управления следует предварительно произвести тем или иным способом добавление стольких степеней свободы, сколько было бы достаточным для реализации цели управления. Это положение корреспондируется с известным в кибернетике законом Эшби о необходимом разнообразии. Здесь только понятие «разнообразие» конкретизируется в понятии «степени свободы» системы, так как именно степени свободы служат источником возможного разнообразия. Изложенные выше соображения позволяют сделать следующие общие важные выводы о задачах управления при синтезе систем:

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

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

·в-третьих, редуцируемые степени свободы замкнутой системы представляют собой элементы управления как некоторые системные категории, а инвариантные многообразия (синергии) ограничивают разнообразие системы и формируют связи, т. е. некоторые акции управления[51].

1.3 Синтез алгоритма безопасного движения речного транспорта


Постановка задачи

Дано:

Заданы уравнения движения транспорта


(1)


Задан другой транспорт , двигающийся по закону :



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



где - координата транспорта по поступательному движению, - поступательная скорость транспорта, - координата поступательного движения другого транспорта, - скорость движения другого транспорта.


Задан интегральный критерий качества (2), где (3)- подынтегральное выражение функционала J, учитывающего штраф за приближение к другому транспорту, штраф за отклонение скоростей и штраф за потраченную мощность при управлении

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

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

Решение прямой задачи методом динамического программирования

Функция Беллмана записывается таким образом :

программирование безопасный движение транспорт

(4)


Запишем уравнение Беллмана и представим ёе степенным полиномом:


(5)


Оптимизируем функцию Беллмана по параметру u2 , получаем таким образом:


(6)

(7)


Подставим (7) в выражение (6) получим :


(8);


Подставим функцию (8) в уравнение Беллмана (5) и представим правую часть уравнения Беллмана степенным рядом и получаем т.о :


(9);


Приравнивая сомножители при одинаковых степенях и группируем их по степеням, получим систему дифференциальных уравнений


(10)


Заменим дифференциальные уравнения алгебраическими при:


(11)


После преобразования всех уравнений, их взаимной замены системы уравнений (11) и из 5-го уравнения этой системы, если пренебрежем составным элементом , то окончательно нашли нижеследующее решение :


(12)


Подставим четыре составляющих решения (12) в выражение и получим :


(13)


Подставим полученную функцию в выражение (1), получим :


(14)


Моделирование обхода препятствия на примере.

Моделирование системы управления попутным движением проводилось при условиях:

Результаты моделирования при попутном движении двух воздушных судов показаны на рис.6.


Рис.6. «Результаты моделирования при попутном движении двух воздушных судов»


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


1.4 Модулирование на ЭВМ


Модулирование на ЭВМ производил программе Matlab r2008a. Код программы приведен в приложении 1.


2.Экономическая часть


2.1 Определение целесообразности разработки алгоритма


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

Для экономической эффективности разрабатываемых алгоритмов и программного продукта (ПП) необходимо:

·определить целесообразность разработки;

·определить трудоемкость и затраты на создание ПП;

·определить показатели экономической эффективности разработки ПП.

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

Анализируемые характеристики качества алгоритмов и программных продуктов представлены в таблице 1.


Таблица 1. Характеристики качества алгоритмов и программных продуктов.

№Характеристики качества ППЕдиница измеренияЗначения характеристик качества ППЗначимость характеристиканалогновый вариант1УниверсальностьОтносительные единицы140.42Точность120.33Наглядность отображения входных данных и результатов расчета130.24Простота использования140.1Итого1.0

Определим индекс технического уровня разработки по формуле:


,


где xiН, xiБ - уровень i-ой функциональной характеристики соответственно нового и базового ПП;

?i - значимость i-ой функциональной характеристики;

n - количество рассматриваемых функциональных характеристик.

Значимость i-ой функциональной характеристики определяется экспертным путем, при этом учитывается условие:


.


Таким образом, индекс технического уровня равен:



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

= JТУ ( Kв + 1 ) ,


где Kв - коэффициент влияния.

Значения коэффициента определяются экспертно. Общепринятым значением коэффициента Kв для техники, улучшающей характеристики системы управления, (именно к этому классу относится разрабатываемый алгоритм), является значение Kв= 0,25. Таким образом:


J = 3.2 (0.25+1) = 4


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


2.2 Определение трудоемкости разработки алгоритма и ПП


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


tПП = tО + tИ + tА + tК + tОТ + tД ,


где tО - затраты труда на подготовку описания задачи;

tИ - затраты труда на изучение описания задачи;

tА - затраты труда на разработку алгоритма решения задачи;

tК - затраты труда на составление программы;

tОТ - затраты труда на отладку программы;

tД - затраты труда на подготовку документации по ПП.


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


,


где q - предполагаемое количество команд;

КС - коэффициент сложности программ (КС=1.25 - 2.0);

КК - коэффициент коррекции программы при ее разработке


(КК= 0.05 - 0.1);


n - количество коррекций программы в ходе ее разработки.

Примем:

q = 1000;

KC = 1.8;

KK = 0.08;

n = 7.

Таким образом, условное количество команд в разрабатываемой программе:



Составляющие затрат труда рассчитываются по формулам:


;

;

;

;

,


где В - коэффициент увеличения затрат труда на изучение и постановку задачи вследствие их сложности и новизны (В = 1.2 - 3.0);

К - коэффициент квалификации разработчиков (при стаже 2-3 года К=1).

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

Таким образом, составляющие трудоемкости разрабатываемого ПП (чел.-час.):


;

;

;

;

;


Значение tO примем равным 7 чел.-час.

Тогда общие затраты труда составляют:


tПП = 7 + 52.4 + 140.4 + 280.8 + 561.6 + 327.6 = 1369.8 чел.-час.


2.3 Календарное планирование


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

Производственный цикл каждого этапа определяется по формуле:


;


где ТЭ - трудоемкость этапа, чел.-час.;

tРД - продолжительность рабочего дня, ч. (tРД = 8ч.);

q - количество работников одновременно участвующих в выполнении работ, чел.

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


.


Произведем расчет длительности каждого этапа:


; ;

; ;

; ;

; ;

; ;


2.4 Расчет заработной платы основного персонала


Заработная плата разработчиков программы рассчитывается на основе трудоемкости стадий работ. Часовые ставки определяются на основе должностных окладов разработчиков и разрядов работ (часовых тарифных ставок). Расчет заработной платы представлен в таблице 3.


Таблица 3 Расчет заработной платы основного персонала

№Стадии (этапы)Трудоем-кость стадий, чел.-дн.ИсполнителиДневн. ставка, руб.Сред. дневн. ставка, руб.З/п, руб.З/п с уч. премий, руб.должностьчисл.1Подготовка описания и изучение задачи7программист1600600460058802Разработка алгоритма16программист160014002240031360ведущий специалист19003Программирование23программист160060013800193204Отладка программы70программист160060042000588005Анализ результатов и подготовка документации38программист16006002280031920Всего154105600147280

Премия составляет 40% от заработной платы. Заработная плата основного персонала рассчитана по формуле:


,

где k - количество этапов;

ТЭi - трудоемкость i-го этапа;

- средняя часовая тарифная ставка оплаты труда работ i-го этапа.


2.5 Определение затрат на создание алгоритмов и ПП


Затраты на создание алгоритмов и ПП определяются по следующим статьям:

1.заработная плата основных исполнителей;

2.отчисления на социальные нужды;

.накладные расходы;

.прочие расходы.


2.5.1 Заработная плата основных исполнителей

Заработная плата основных исполнителей рассчитана в пункте 2.4 и, с учетом премий, составляет ЗПП = 147280 р.


2.5.2 Отчисления на социальные службы


р.


2.5.3 Накладные расходы


,

р.


2.5.4 Прочие расходы


,

р.


2.5.5 Сводная таблица затрат

Затраты на создание алгоритмов и ПП сведены в таблицу 4.


Таблица 4 Структура затрат на создание алгоритмов и ПП

№ Наименование статей затратЗатраты, руб.Удельный вес, %1Заработная плата основных исполнителей14728037.92Отчисления на социальные нужды12.93Накладные расходы45.54Прочие расходы3.8Итого:388819,2100

2.5.6 Цена предложения

Цена первоначально разработанных алгоритмов и ПП с учётом рентабельности разработки:


,


где ЗПП - затраты на создание алгоритмов и ПП;

ЗППП - заработная плата основных исполнителей;

- рентабельность разработки ПП по отношению к оплате труда персонала, обеспечивающая безубыточную деятельность ( =200-400%; выберем значение - 250%)

Таким образом:


р.


2.6 Расчет экономической эффективности


Использование разработанного алгоритма и ПП для управления безопасным движением речным транспортом приведет к повышению качества (точности и универсальности) алгоритма. Поэтому показатель годового экономического эффекта определяется по формуле:


,


где - годовые эксплуатационные затраты в информационной системе по базовому и новому варианту соответственно, руб.

Таким образом:


руб.


Для разрабатываемого ПП уровень экономической эффективности капиталовложений составляет:


,

.


Срок окупаемости затрат на создание алгоритмов и ПП определяется как величина, обратная ЕПП:



На основании величины уровня экономической эффективности (ЕПП=1.02), а также срока окупаемости затрат на создание алгоритмов и ПП (около 11 месяцев) можно сделать вывод о том, что разработка и внедрение данного ПП являются экономически целесообразными и эффективными.


3.Охрана труда и окружающей среды


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

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

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

длина = 6 м;

ширина = 3 м;

высота = 3,5 м;

площадь = 18 м2;

объем = 63 м3;

количество рабочих мест = 2;

количество окон = 1 (размером 1,5х2 м);

количество ламп дневного света на потолке = 3;

количество вычислительных шкафов = 2;

количество ПЭВМ = 2;

количество мониторов = 2 (диагональ 17 дюйма);

количество кондиционеров = 1.


3.1 Санитарно-гигиенические факторы


3.1.1 Микроклимат

Требования к микроклимату определяются ГОСТ 12.1.005-88 "Система стандартов безопасности труда. Общие санитарно-гигиенические требования к воздуху рабочей зоны" и СанПиН 2.2.4.548-96 «Гигиенические требования к микроклимату производственных помещений».

Выполняемая работа относится к Iа категории «Легкая физическая», т.к. не связаны с систематическими физическими нагрузками. В этой категории энергозатраты не превышают 120 ккал/ч (139 Вт).

Температура в помещении, в котором производится разработка подсистемы формирования входных сообщений, 23…24°С в теплый и 22…23°С в холодный периоды года. Относительная влажность - 50…60 %. Скорость движения воздуха - 0.08…0.1м/с.

Допустимые и оптимальные значения температуры, относительной влажности воздуха и скорости движения воздуха в рабочей зоне регламентированы в ГОСТ 12.1.005-88. Оптимальные величины показателей микроклимата на рабочих местах производственных помещений приведены ниже в таблице 1.


Таблица 1 - Оптимальные величины показателей микроклимата на рабочем месте.

Период годаПараметр микроклиматаВеличинаХолодныйТемпература воздуха в помещении Относительная влажность Скорость движения воздуха22…24°С 40…60 % до 0,1м/сТеплыйТемпература воздуха в помещении Относительная влажность Скорость движения воздуха23…25°С 40…60% 0,1…0,2м/с

Для контроля и поддержания оптимальной температуры используется современная система кондиционирования кондиционер Panasonic CS-YW7MK0D/CU-YW7MKD <#"justify">Таким образом, параметры микроклимата помещения соответствуют допустимым параметрам ГОСТ 12.1.005-88.


3.1.2 Шум

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

Под воздействием шума снижается концентрация внимания, нарушаются физиологические функции, появляется усталость в связи с повышенными энергетическими затратами и нервно-психическим напряжением, ухудшается речевая коммутация. Все это снижает работоспособность человека и его производительность, качество и безопасность труда. Длительное воздействие интенсивного шума [выше 80 дБ(А)] на слух человека приводит к его частичной или полной потере.

Источниками шума на рабочем месте программиста являются: вентиляторы охлаждения ПК, жесткие диски, монитор, клавиатура, принтер, сканер и другие периферийные устройства.

В таблице 2 указаны допустимые уровни звукового давления, в соответствии с ГОСТ 12.1.003-83 «Шум. Общие требования безопасности».


Таблица 2: Допустимые уровни звукового давления, дБА, на рабочих местах.

Уровни звукового давления, дБАУровни звука, дБАСреднегеометрические частоты октавных полос, Гц631252505001000200040008000716154494542403850

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

Таким образом, фактический уровень шума в рабочем помещении не превышает 15 дБ. При включение вычислительных шкафов для выполнения работ с автоматизированной системой уровень шума систем охлаждения составляет около 35 дБА (связано с тем, что шкафы представляют собой закрытую конструкцию, которая позволяет изолировать шум).

Общий уровень шума составляет 50 дБА, что соответствует ГОСТ 12.1.003-83.


3.1.3 Вибрация

Вибрации не должны превышать предельно допустимых значений, установленных ГОСТ 12.1.012-90 (1996) «Система стандартов безопасности труда. Вибрационная безопасность. Общие требования».

Программист, работающий в офисе за ПЭВМ, подвергается локальным вибрациям, создаваемыми вентиляторами в системном блоке, работой жесткого диска и устройства CD-ROM, передаваемыми ему через контакт с поверхностью стола. Уровень возможных вибраций от всех ПЭВМ, находящихся в помещении не превышает 10 дБ, тем самым удовлетворяет требованиям ГОСТ 12.1.012-90 (1996), в соответствии с которым, уровень локальных вибраций не должен превышать 75 дБ.


3.1.4 Освещение

Равномерное распределение яркости в поле зрения имеет важное значение для поддержания работоспособности человека. Если в поле зрения постоянно находятся поверхности, значительно отличающиеся по яркости (освещенности), то при переводе взгляда с ярко- на слабоосвещенную поверхность глаз вынужден переадаптироваться. Частая переадаптация ведет к развитию утомления зрения и затрудняет выполнение производственных операций.

Рабочие столы согласно требованиям СанПин следует размещать таким образом, чтобы видеодисплейные терминалы были ориентированы боковой стороной к световым проемам, чтобы естественный свет падал преимущественно слева. На рассматриваемом рабочем месте столы расположены таким образом, что естественный свет присутствует недостаточно, что является нарушением рекомендаций СанПин 2.24.548-96.

Помещение имеет естественное и искусственное освещение.

Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300-500 люкс согласно "Гигиенические требования к персональным электронно-вычислительным машинам и организации работы. СанПиН 2.2.2/2.4.1340-03".

В рабочем помещении окно имеет жалюзи, лампы белого света расположены равномерно по площади потолка.

Освещение совмещенное, верхнее.

В соответствии со СНиП 23-05-95 разряд зрительной точности - очень высокая точность (II), класс в, наименьший размер объекта различения равен 0,2мм (размер точки экрана монитора). Освещенность - 400-500 лк.

Минимальное значение показателя освещенности (Eн) в помещении 400 люкс.

Анализ освещенности на рабочем месте будет произведен ниже.


3.1.5 Электромагнитное излучение

Уровень электромагнитного излучения в помещении регламентируются нормами ГОСТ 12.1.006-84 «Электромагнитные поля радиочастот. Допустимые уровни на рабочих местах и требования к проведению контроля», ГОСТ Р 50948-2001 «Средства отображения информации индивидуального пользования. Общие эргономические требования и требования безопасности».

Опасное воздействие на работающих могут оказывать электромагнитные поля радиочастот (60 кГц-300 ГГц) и электрические поля промышленной частоты (50 Гц).

Напряженность магнитного поля на расстоянии не менее 50 см от экрана составляет 15В/м, плотность магнитного потока - 150 нТл. Максимально допустимое значение, установленное ГОСТ 12.1.006-84 - 25 В/м, а для плотности магнитного потока - 250 нТл. Значения показателей полностью соответствуют ГОСТ.


3.1.6 Электробезопасность

Электробезопасность обеспечивается в соответствии с ГОСТ 12.1.030 - 81 «Электробезопасность. Защитное заземление. Зануление». В ПЭВМ одним из источников опасности является электрическая часть, а именно входные цепи блока питания, который подключен к сети переменного тока напряжением 220 В, частотой 50 Гц, с изолированной нейтралью. Выходные цепи блока питания составляют +/-15, +/-5 В. Используемое помещение с ПЭВМ относится к классу помещений без повышенной опасности с точки зрения поражения электрическим током. В помещении непроводящие полы, отсутствует токопроводящая пыль, электрически активная среда, возможность одновременного прикосновения к металлическим частям прибора и заземляющему устройству исключена, высокая температура и сырость отсутствует (согласно Правилам устройства электроустановок).

Пользователь должен выполнять общие требования по электробезопасности:

-не прикасаться к металлическим нетоковедущим частям системного блока ПЭВМ, которые могут оказаться под напряжением в результате повреждения изоляции;

-не использовать электрические приборы, такие как электрические плиты, чайники, обогреватели.

Так как все токоведущие части ПЭВМ в кабинете изолированы, то случайное прикосновение к ним исключено. Для обеспечения защиты от поражения электрическим током применяется заземление корпуса ЭВМ подведением заземляющей жилы к питающим розеткам.

Уровень электробезопасности соответствует ГОСТ 12.1. 030. - 81.


3.1.7 Противопожарная безопасность

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

Пожарная безопасность обеспечивается системой предотвращения пожара и системой пожарной защиты. В рассматриваемом помещении на видном месте располагается «План эвакуации людей при пожаре», имеется система пожарной сигнализации, а также в удобном месте находятся углекислотные огнетушители, способные как эффективно справляться с пламенем, так и оставлять в сохранности электрооборудование. Входные двери - шириной 1100 мм, при высоте 2000 мм отвечают противопожарным нормам (СНиП 21-01-97 «Пожарная безопасность зданий и сооружений»).


3.2 Психофизиологические факторы


.2.1 Характеристика монитора

Дисплей на рабочем месте имеет диагональ 17 и находится ниже уровня глаз оператора, угол наблюдения составляет 20? относительно горизонта. Этот показатель полностью удовлетворяет требованиям ГОСТ Р50923-96 (не более 40?). Монитор оборудован поворотной площадкой, позволяющей перемещать его в горизонтальной и вертикальной плоскости и изменять угол наклона экрана. Экран имеет антибликовое покрытие.

При определении оптимального режима восприятия информации с экрана монитора устанавливается уровень яркости, контраста и соотношение яркостей в поле зрения экрана согласно ГОСТ Р50923-96.

Технические характеристики монитора приведены в таблице 3:


Таблица 3:Технические характеристики монитора

ПараметрФактическое значениеГОСТ Р50923-96Яркость свечения экрана250 кд/Не менее 100 кд/Минимальный размер светящейся точки0,2 ммНе более 0,3 ммКонтрастность изображения0,9Не менее 0,8Освещенность экрана300 лк100 - 500 лкЧеткость изображения70 кд/70 кд/Высота символов на экране5 ммНе менее 3,8 ммКоличество знаков в строке150Не менее 64Количество строк40Не менее 24Расстояние от глаз оператора до экрана60 см40 - 80 см

Сравнивая требуемые и фактические значения параметров и характеристик монитора, делаем вывод, что он соответствует требованиям ГОСТ Р 50948-2001 и СанПиН 2.2.2/2.4.1340-03.

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

Работа оператора производится сидя 70% времени. Значимость ошибки велика, также как и ответственность за функциональное качество конечного продукта. Эти факторы отрицательно сказываются на психическом здоровье оператора и нервном напряжении.


3.2.2 Характеристика клавиатуры


ПараметрЗначение требования СанПиН 2.2.2/2.4.1340-03Фактическое значениеВЫВОДЦветДолжен быть близок к цвету корпуса монитораЧерныйСоответствуетУгол наклона12-1514СоответствуетНаличие блестящих деталей, способных создавать бликиДолжны отсутствоватьОтсутствуютСоответствуетВозможность плавного и легкого изменения угла наклона поверхности для клавиатурыДолжна присутствоватьПрисутствуетСоответствуетУгол изменения угла наклона поверхности для клавиатурыот 0 до 10 град.от 0 до 15 град.СоответствуетУсилие, необходимое для нажатия клавиш0,25 - 1,5 Н0,5 НСоответствуетШирина клавиш, мм10 - 19 15 Соответствует

Сравнивая требуемые и фактические значения параметров и характеристик клавиатуры, делаем вывод, что она соответствует требованиям ГОСТ Р 50948-2001 и СанПиН 2.2.2/2.4.1340-03.


3.2.3 Умственное перенапряжение, монотонность труда, эмоциональные перегрузки

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

В зависимости от категории трудовой деятельности и уровня нагрузки за рабочую смену при работе с ПЭВМ устанавливается суммарное время регламентированных перерывов. Работа нашего программиста относится к категории I, суммарное время регламентированных перерывов 30 минут.

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

Программист работает за компьютером не все рабочее время, а лишь большую его часть, примерно 80 %. При этом он делает перерыв на обед и небольшие перерывы для зрительных упражнений, таким образом его работа соответствует требованиям СанПиН 2.2.2/24.1340-03 в части режима труда и отдыха.


3.3 Эргономические факторы


Главными элементами рабочего места программиста являются письменный стол и кресло. Основным рабочим положением является положение сидя. Рабочее место для выполнения работ в положении сидя организуется в соответствии с СанПиН 2.2.2/2.4.1340-03 „Гигиенические требования к персональным электронно-вычислительным машинам и организации работы. Рабочая поза сидя вызывает минимальное утомление программиста.

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




Рассмотрим оптимальное размещение предметов труда и документации в зонах досягаемости рук в соответствии с ГОСТ 12.2.032-78 <#"195" src="doc_zip349.jpg" />


ДОКУМЕНТАЦИЯ в зоне легкой досягаемости ладони - в (слева) - литература и документация, необходимая при работе; в выдвижных ящиках стола - литература, неиспользуемая постоянно.

- сканер, 2 - монитор, 3 - принтер, 4 - поверхность рабочего стола,

- клавиатура, 6 - манипулятор типа «мышь».

Для комфортной работы стол должен удовлетворять следующим условиям:

  • высота стола должна быть выбрана с учетом возможности сидеть свободно, в удобной позе, при необходимости опираясь на подлокотники;
  • нижняя часть стола должна быть сконструирована так, чтобы программист мог удобно сидеть, не был вынужден поджимать ноги;
  • поверхность стола должна обладать свойствами, исключающими появление бликов в поле зрения программиста;
  • конструкция стола должна предусматривать наличие выдвижных ящиков (не менее 3 для хранения документации, листингов, канцелярских принадлежностей).
  • высота рабочей поверхности рекомендуется в пределах 680-760мм. Высота поверхности, на которую устанавливается клавиатура, должна быть около 650мм.
  • Большое значение придается характеристикам рабочего кресла. Так, рекомендуемая высота сиденья над уровнем пола находится в пределах 420-550мм. Поверхность сиденья мягкая, передний край закругленный, а угол наклона спинки - регулируемый.
  • Необходимо предусматривать при проектировании возможность различного размещения документов: сбоку от видеотерминала, между монитором и клавиатурой и т.п. Кроме того, в случаях, когда видеотерминал имеет низкое качество изображения, например заметны мелькания, расстояние от глаз до экрана делают больше (около 700мм), чем расстояние от глаза до документа (300-450мм).
  • Положение экрана определяется в соответствии с ГОСТ Р 50923-96 «Дисплеи. Рабочее место оператора. Общие эргономические требования к производственной среде. Методы измерения»:
  • расстоянием считывания (0,6…0,7м);
  • углом считывания, направлением взгляда на 20° ниже горизонтали к центру экрана, причем экран перпендикулярен этому направлению.
  • Должна также предусматриваться возможность регулирования экрана:
  • по высоте +3 см;
  • по наклону от -10° до +20° относительно вертикали;
  • в левом и правом направлениях.
  • Большое значение также придается правильной рабочей позе пользователя. При неудобной рабочей позе могут появиться боли в мышцах, суставах и сухожилиях. Требования к рабочей позе пользователя видеотерминала следующие:
  • голова не должна быть наклонена более чем на 20°,
  • плечи должны быть расслаблены,
  • локти - под углом 80°…100°,
  • предплечья и кисти рук - в горизонтальном положении.

Рис. 3 - Рабочее положение оператора


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

Существенное значение для производительной и качественной работы на компьютере имеют размеры знаков, плотность их размещения, контраст и соотношение яркостей символов и фона экрана. Если расстояние от глаз оператора до экрана дисплея составляет 60…80 см, то высота знака должна быть не менее 3мм, оптимальное соотношение ширины и высоты знака составляет 3:4, а расстояние между знаками - 15…20% их высоты. Соотношение яркости фона экрана и символов - от 1:2 до 1:15.

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

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

Все эргономические требования, представленные на рабочем месте, соответствуют:

·ГОСТ 12.2.032-78 <#"justify">·СанПиН 2.2.2/2.4.1340-03

3.4 Проектирование системы освещения


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

Обычно искусственное освещение выполняется посредством электрических источников света двух видов: ламп накаливания и люминесцентных ламп. Будем использовать люминесцентные лампы, которые по сравнению с лампами накаливания имеют ряд существенных преимуществ:

  • по спектральному составу света они близки к дневному, естественному свету;
  • обладают более высоким КПД (в 1,5-2 раза выше, чем КПД ламп накаливания);
  • обладают повышенной светоотдачей (в 3-4 раза выше, чем у ламп накаливания);
  • более длительный срок службы.

Расчет освещения производится для комнаты площадью 30 м2, длиной 6 м и шириной 5 м.

Расчет освещения будем производить по методу коэффициента использования светового потока. Рассматриваемый метод позволяет производить расчет осветительной установки (ОУ) с учетом прямой и отраженной составляющих освещенности и применяется для расчета общего равномерного освещения <#"45" src="doc_zip352.jpg" />; , где

- рассчитываемый световой поток, Лм;

Е - нормированная минимальная освещенность, Лк (определяется по таблице). Работу инженера, в соответствии с этой таблицей, можно отнести к разряду точных работ, следовательно, минимальная освещенность будет Е = 400Лк;

S - площадь освещаемого помещения (в нашем случае S =30 м2);

Z - отношение средней освещенности к минимальной (обычно принимается равным 1,1…1,2 , пусть Z = 1,1);

К - коэффициент запаса, учитывающий уменьшение светового потока лампы в результате загрязнения светильников в процессе эксплуатации (его значение зависит от типа помещения и характера проводимых в нем работ и в нашем случае К = 1,5); - установленное число светильников;

n - число ламп в светильнике;

? - коэффициент использования светового потока, (выражается отношением светового потока, падающего на расчетную поверхность, к суммарному потоку всех ламп и исчисляется в долях единицы; зависит от характеристик светильника, размеров помещения, окраски стен и потолка, характеризуемых коэффициентами отражения от стен (Рс) и потолка (Рп)), значение коэффициентов Рс и Рп: Рс=0.4 Рп=0.6 (в помещениях, где находится компьютер, необходимо обеспечить следующие величины коэффициента отражения: для потолка: 60... 70%, для стен: 40... 50%, для пола: около 30%. Для других поверхностей и рабочей мебели: 30... 40%).

Индекс помещения:


, где

- площадь помещения, S = 18 м2;

h - расчетная высота подвеса, h = 3,5 м;

A - ширина помещения, А = 3 м;

В - длина помещения, В = 6 м.

Подставив значения, получим: I = 0,6

Зная индекс помещения I, по таблице находим ? ?0,48.

Подставим все значения в формулу для определения светового потока F и получим следующее значение: F = 2148,4375 Лм.

В помещении используются люминесцентные лампы типа ЛБ-40, световой поток которых F=3120 Лм.

Таким образом, используемые лампы дневного света удовлетворяют требованиям.


Вывод


На основании проведенных исследований можно сделать следующие выводы:

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

.В математической модели относительного встречного движения необходимо учитывать факт подвижности препятствия;

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

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

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

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

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

Фактор освещенности признан основным. Произведен анализ условий труда и расчет освещенности кабинета. Оптимальными для освещения помещения являются лампы ЛБ-40 (лампы люминесцентные белого света, мощность - 40 Вт, световой поток - 3120 лм). Показатель освещенности в данном помещении не отклоняется от нормы. Оценка соответствия размещения устройств управления на рабочем месте и устройств отображения информации показала, что основные значения параметров по этим факторам не противоречат нормативным.

Шум и вибрация в помещении соответствуют нормам.

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


Приложение


#include <ansi_c.h>

#include <cvirte.h>

#include <userint.h>

#include <windows.h>

#include "radioGroup.h"

#include <formatio.h>

#include <utility.h>

#include <mmsystem.h>

#include "car.h"RotateImage (int angle, char ship_path[25], int ship);risk_function (int x1, int x2, int x3, int x4);int Safety_System;int CTRL_OBJ_top, CTRL_OBJ_left, CTRL_OBJ_top0, CTRL_OBJ_left0; int SM_WAY_OBJ_left, SM_WAY_OBJ_top, SM_WAY_OBJ_top0 = 244, SM_WAY_OBJ_left0 = 650;int ONCOMING_OBJ_top, ONCOMING_OBJ_left, ONCOMING_OBJ_top0, ONCOMING_OBJ_left0;int ONCOMING_y_threshold, risk_max; int width, height;int distance, distance_side, risk;int Side_motion = 1;int vehicle, oncoming = 0; int velocity_ctrl = 3, velocity_ctrl_side = 0, velocity_second = 4;int panelHandle, pan2, bit, n=0, k=-1, tmr = 0, l=0;angle = 0, activate = 0, done = 0, pos = 0; rot = 1, ctrl, second;risk_threshold;risk_function (int x1, int x2, int x3, int x4)

{ double f1, f2, f3, f4, rsk;ro, r1, r2, r3, D, a, b, m, z, ymax, A, B, Bo, M, u;psi12, psi13, psi23, p, gamma1, gamma2, gamma3;beta1, beta2, beta3, tetla;= 1; = 4;= 2; = 100; = 20; = 0.5; = 0.1; =0;= 5; = 300;

//A = r3*(D-z)*2^(-x3^2/D^2)-r1*m;= r3*(D-z)*pow(2,(-pow(x3,2)/pow(D,2)))-r1*m;= sqrt(ro*(r1+r3))/b;= (0.5*r2+psi12)/a;= a + pow (b, 2)*gamma2;= (-z*(D-z)*r3/pow(D,3))*pow(2,(-pow(x3,2)/pow(D,2)));= (r3*pow((D-z),2)/pow(D,2))*pow(2,(-pow(x3,2)/pow(D,2)));= psi12*(a+pow(b,2)*gamma2/ro);=0;= 2*Bo*x4/(pow(b,4)*pow(psi12,3))*(B*psi12-2*p*A)*(1+2*p*pow(Bo,2)*pow(x4,2)/(pow(b,4)*pow(psi12,3)));= B/(pow(b,2)*psi12);= 1/(pow(b,2)*psi12)*(A-2*pow(Bo,2)*pow(x4,2)/(pow(b,4)*pow(psi12,3))*(B*psi12-2*p*A));= beta2*Bo+x4*psi23;= -pow(b,2)*beta2*psi23/x4;= -gamma3*ymax;= Bo*psi23+2*x4*tetla;= -b*(beta2+gamma2*x2+psi12*x1+psi23*x3+tetla*pow(x3,2)+p*pow(x3,2)*x1)/ro;(u<-4) u=-4;if (u>4) u=4;= ro*pow(u,2)/2 + r1*pow((x1-m),2)/2 + r2*pow(x2,2)/2 + 1/2*r3*pow((x1-z+D),2)/(1+pow(x3,2)/pow((x1+D),2)); = (beta1+gamma1*x1+psi12*x2+psi13*x3+p*pow(x3,2)*x2)*x2;= (beta2+gamma2*x2+psi12*x1+psi23*x3+tetla*pow(x3,2)+p*pow(x3,2)*x1)*(-a*x2+b*u);= -(beta3+gamma3*x3+psi13*x1+psi23*x2+2*tetla*x3*x2+2*p*x3*x1*x2)*x4;= f1+f2+f3+f4;rsk;

}SetDefault ()

{(PANEL, PANEL_TEXTMSG, ATTR_VISIBLE, 0);(PANEL, PANEL_ONCOMING_OBJ, ATTR_TOP, ONCOMING_OBJ_top0);(PANEL, PANEL_ONCOMING_OBJ, ATTR_LEFT, ONCOMING_OBJ_left0);(PANEL, PANEL_CTRL_OBJ, ATTR_TOP, CTRL_OBJ_top0);(PANEL, PANEL_CTRL_OBJ, ATTR_LEFT, CTRL_OBJ_left0);(PANEL, PANEL_SM_WAY_OBJ, ATTR_TOP, SM_WAY_OBJ_top0);(PANEL, PANEL_SM_WAY_OBJ, ATTR_LEFT, SM_WAY_OBJ_left0);(panelHandle, PANEL_ONCOMING_OBJ, ATTR_WIDTH, width);_OBJ_top = ONCOMING_OBJ_top0;_OBJ_left = ONCOMING_OBJ_left0;_OBJ_top = CTRL_OBJ_top0;_OBJ_left = CTRL_OBJ_left0;_WAY_OBJ_top = SM_WAY_OBJ_top0;_WAY_OBJ_left = SM_WAY_OBJ_left0;_side = CTRL_OBJ_top0 - (ONCOMING_OBJ_top0 + height);= ONCOMING_OBJ_left0 - (CTRL_OBJ_left0 + width);(PANEL, PANEL_FWD_DIST, distance);(PANEL, PANEL_RISK, 0);= 0; angle = 0; activate = 0; done = 0; pos = 0; l=0;(vehicle == 0) SetCtrlAttribute (panelHandle, PANEL_TIMER, ATTR_INTERVAL, 0.02);(vehicle == 1) SetCtrlAttribute (panelHandle, PANEL_TIMER, ATTR_INTERVAL, 0.08);(panelHandle, PANEL_ONCOMING_OBJ, VAL_ENTIRE_OBJECT);(panelHandle, PANEL_CTRL_OBJ, VAL_ENTIRE_OBJECT);(PANEL, PANEL_ONCOMING_OBJ, second, VAL_ENTIRE_OBJECT, MakeRect(0, 0, VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));(PANEL, PANEL_CTRL_OBJ, ctrl, VAL_ENTIRE_OBJECT, MakeRect(0, 0, VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));(PANEL, PANEL_FWD_DIST, ATTR_FILL_COLOR, VAL_GREEN);(PANEL, PANEL_RISK, ATTR_FILL_COLOR, VAL_GREEN);

}draw ()

{ long fs;char mask[2994], mask2[2994], b[72496];mm, f, f2;(oncoming == 0) velocity_second = 1;velocity_second = 0;(panelHandle, PANEL_CTRL_OBJ, VAL_ENTIRE_OBJECT);(panelHandle, PANEL_ONCOMING_OBJ, VAL_ENTIRE_OBJECT);(panelHandle, PANEL_BACKGROUND, VAL_ENTIRE_OBJECT);(mask, 0, 2994);(mask2, 0, 2994);(vehicle) {0:("Pictures\\road_texture.bmp", &bit);("Pictures\\car_ctrl.bmp", &ctrl);(!oncoming) {("Pictures\\car_vstr.bmp", &second);= 56;_y_threshold = 200;

}{("Pictures\\st1.bmp", &second);= 100;_y_threshold = 170;

}= OpenFile ("Pictures\\car_mask.bmp", VAL_READ_ONLY, VAL_OPEN_AS_IS, VAL_BINARY);= OpenFile ("Pictures\\car_mask2.bmp", VAL_READ_ONLY, VAL_OPEN_AS_IS, VAL_BINARY);(f, 62, 0);(f2, 62, 0);(f, mask, 880);(f2, mask2, 880);= 119;;1: ("Pictures\\water_texture.bmp", &bit);("Pictures\\shp_ctrl.bmp", &ctrl);("Pictures\\shp_vstr.bmp", &second); (oncoming == 0) {("Pictures\\shp_vstr.bmp", &second);= 46;_y_threshold = 210;

}{("Pictures\\island.bmp", &second);= 100;_y_threshold = 170;

}= OpenFile ("Pictures\\shp_mask.bmp", VAL_READ_ONLY, VAL_OPEN_AS_IS, VAL_BINARY);= OpenFile ("Pictures\\shp_mask2.bmp", VAL_READ_ONLY, VAL_OPEN_AS_IS, VAL_BINARY); (f, 62, 0);(f2, 62, 0);(f, mask, 2994);(f2, mask2, 2994);= 128;;

}(b, 0, 72000);(ctrl, NULL, NULL, NULL, NULL, NULL, b, NULL);(ctrl, -1, 32, NULL, b, mask);(!oncoming) {(b, 0, 72000); (second, NULL, NULL, NULL, NULL, NULL, b, NULL);(second, -1, 32, NULL, b, mask2);

}(panelHandle, PANEL_CTRL_OBJ, ATTR_HEIGHT, height);(panelHandle, PANEL_CTRL_OBJ, ATTR_WIDTH, width);(panelHandle, PANEL_ONCOMING_OBJ, ATTR_HEIGHT, height);(panelHandle, PANEL_ONCOMING_OBJ, ATTR_WIDTH, width);(vehicle != 2) {(panelHandle, PANEL_SM_WAY_OBJ, ATTR_VISIBLE, 0);_OBJ_top0 = 249;_OBJ_left0 = 75; (!oncoming) ONCOMING_OBJ_top0 = 130;ONCOMING_OBJ_top0 = 149;_OBJ_left0 = 605;

}(PANEL, PANEL_BACKGROUND, bit, VAL_ENTIRE_OBJECT, MakeRect(0,0,VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));(PANEL, PANEL_CTRL_OBJ, ctrl, VAL_ENTIRE_OBJECT, MakeRect(0,0,VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));(PANEL, PANEL_ONCOMING_OBJ, second, VAL_ENTIRE_OBJECT, MakeRect(0,0,VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));

/*GetCtrlAttribute (PANEL, PANEL_SM_WAY_OBJ, ATTR_TOP, &SM_WAY_OBJ_top);(PANEL, PANEL_SM_WAY_OBJ, ATTR_LEFT, &SM_WAY_OBJ_left);(PANEL, PANEL_CTRL_OBJ, ATTR_TOP, &CTRL_OBJ_top);(PANEL, PANEL_CTRL_OBJ, ATTR_LEFT, &CTRL_OBJ_left);(PANEL, PANEL_ONCOMING_OBJ, ATTR_TOP, &ONCOMING_OBJ_top);(PANEL, PANEL_ONCOMING_OBJ, ATTR_LEFT, &ONCOMING_OBJ_left);

*/= ONCOMING_OBJ_left - (CTRL_OBJ_left + 119);_side = CTRL_OBJ_top - ONCOMING_OBJ_top - 56;(PANEL, PANEL_FWD_DIST, distance);(PANEL, PANEL_ONCOMING_OBJ, ATTR_LEFT, ONCOMING_OBJ_left);_max = risk_function (0, 0, 0, (height+ONCOMING_y_threshold-ONCOMING_OBJ_top0)/25);(panelHandle, PANEL_RISK, ATTR_MAX_VALUE, risk_max);_threshold = (1 + 3 + 0.5*oncoming)*20;(panelHandle, PANEL_RISK_2, risk_threshold);

}main (int argc, char *argv[])

{(InitCVIRTE (0, argv, 0) == 0)-1;/* out of memory */((panelHandle = LoadPanel (0, "car.uir", PANEL)) < 0)-1;= LoadPanel (0, "car.uir", PANEL_2);(pan2);(panelHandle);();(panelHandle);0;

}CVICALLBACK QuitCallback (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{(event)

{EVENT_COMMIT:(0);;

}0;

}CVICALLBACK go (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{ int i, j, i0;(event)

{EVENT_COMMIT:=!tmr;(PANEL, PANEL_BACKGROUND, ATTR_PEN_FILL_COLOR, VAL_WHITE);(PANEL, PANEL_TIMER, ATTR_ENABLED, tmr);(panelHandle, PANEL_Clr, ATTR_DIMMED, tmr);(panelHandle, PANEL_Snos_vstr, ATTR_DIMMED, tmr || oncoming);(PANEL, PANEL_Safety_System, &Safety_System);;

} 0;

}CVICALLBACK TMR_TICK (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{ int y;(event) {EVENT_TIMER_TICK:++;(vehicle !=2) {(!done) {(PANEL, PANEL_BACKGROUND, bit, VAL_ENTIRE_OBJECT, MakeRect(0,-n%25*3,VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));= 5*rand()/(RAND_MAX); ((ONCOMING_OBJ_left <= 434) && (Side_motion)) { (ONCOMING_OBJ_top <= ONCOMING_y_threshold) {_OBJ_top += 2;(PANEL, PANEL_ONCOMING_OBJ, ATTR_TOP, ONCOMING_OBJ_top);(!(n % 2) && (vehicle == 1) && (rot <= 4)) {++; (rot*2, "Pictures\\Ship_rotate\\Vstr_", PANEL_ONCOMING_OBJ);

}

}((ONCOMING_OBJ_top >= ONCOMING_y_threshold) && (vehicle == 1) && (rot >= 1)) {--;

RotateImage (rot*2, "Pictures\\Ship_rotate\\Vstr_", PANEL_ONCOMING_OBJ);

}

}((ONCOMING_OBJ_left <= 15) && (l < width/4)) {++; (panelHandle, PANEL_ONCOMING_OBJ, ATTR_WIDTH, width-l*(3+velocity_second));(PANEL, PANEL_ONCOMING_OBJ, second, VAL_ENTIRE_OBJECT, MakeRect(0,-l*(velocity_second+3),VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));(l == width/4) CanvasClear (panelHandle, PANEL_ONCOMING_OBJ, VAL_ENTIRE_OBJECT);

}{_OBJ_left -= velocity_second+3; (PANEL, PANEL_ONCOMING_OBJ, ATTR_LEFT, ONCOMING_OBJ_left);

}_side = CTRL_OBJ_top - (ONCOMING_OBJ_top + height);= ONCOMING_OBJ_left - (CTRL_OBJ_left + width); (distance >= 0) (PANEL, PANEL_FWD_DIST, distance);_threshold = (1 + 3 + 0.5*oncoming)*20;(panelHandle, PANEL_RISK_2, risk_threshold);= risk_function (CTRL_OBJ_top-CTRL_OBJ_top0, velocity_ctrl_side, distance/25, (height+ONCOMING_OBJ_top-ONCOMING_OBJ_top0)/25);(!Safety_System || (risk <= risk_max)) SetCtrlVal (PANEL, PANEL_RISK, risk);(distance < 100) SetCtrlAttribute (PANEL, PANEL_FWD_DIST, ATTR_FILL_COLOR, VAL_RED); if (distance < 200) SetCtrlAttribute (PANEL, PANEL_FWD_DIST, ATTR_FILL_COLOR, VAL_YELLOW);SetCtrlAttribute (PANEL, PANEL_FWD_DIST, ATTR_FILL_COLOR, VAL_GREEN);

(risk > risk_max*2/3) SetCtrlAttribute (PANEL, PANEL_RISK, ATTR_FILL_COLOR, VAL_RED);

else if (risk > risk_max/3) SetCtrlAttribute (PANEL, PANEL_RISK, ATTR_FILL_COLOR, VAL_YELLOW);SetCtrlAttribute (PANEL, PANEL_RISK, ATTR_FILL_COLOR, VAL_GREEN);((((vehicle == 0) && (distance <= -15)) || ((vehicle == 1) && (distance <= -45))) && (distance_side <= 0)&& (!activate)) {=0;(PANEL, PANEL_TIMER, ATTR_ENABLED, 0);(panelHandle, PANEL_Clr, ATTR_DIMMED, tmr);(panelHandle, PANEL_Snos_vstr, ATTR_DIMMED, tmr || oncoming);

}(Safety_System && (((risk >= (0.9) * risk_max) && (!oncoming)) || ((risk >= (0.96) * risk_max) && (oncoming)))) {(PANEL, PANEL_TEXTMSG, ATTR_VISIBLE, 1);++;

}(ONCOMING_OBJ_left <= -100) {

tmr = 0;

SetCtrlAttribute (PANEL, PANEL_TIMER, ATTR_ENABLED, 0);

SetCtrlAttribute (panelHandle, PANEL_Clr, ATTR_DIMMED, tmr);(panelHandle, PANEL_Snos_vstr, ATTR_DIMMED, tmr || oncoming);

}


}(activate) {

//velocity_ctrl = 2;((CTRL_OBJ_top < 280) && (!done)) {(!(n%2)) (vehicle == 1)(angle <= 10) {+=4;--;(angle, "Pictures\\Ship_rotate\\ctrl_", PANEL_CTRL_OBJ);((!oncoming) && (rot >= 0)) RotateImage (rot*2, "Pictures\\Ship_rotate\\vstr_", PANEL_ONCOMING_OBJ);(angle >= 10) {= 1;= -1;

}

}_OBJ_top += 3;(PANEL, PANEL_CTRL_OBJ, ATTR_TOP, CTRL_OBJ_top);_OBJ_left += 2;(PANEL, PANEL_CTRL_OBJ, ATTR_LEFT, CTRL_OBJ_left);

}{= 1;(panelHandle, PANEL_TIMER, ATTR_INTERVAL, 0.02); (!(n%6)) {(vehicle == 1) {(pos == 1) {(angle == 0) pos = 2;(angle, "Pictures\\Ship_rotate\\ctrl_", PANEL_CTRL_OBJ);-=4;

}(pos == 3) {(angle, "Pictures\\Ship_rotate\\ctrl_", PANEL_CTRL_OBJ);(angle == -12) pos = 4;

angle -=4;

}((pos == 4) && (angle < 0)) {+=4; (angle, "Pictures\\Ship_rotate\\ctrl_", PANEL_CTRL_OBJ);

}

}

}((CTRL_OBJ_top > CTRL_OBJ_top0) && (CTRL_OBJ_left > ONCOMING_OBJ_left + width)) {_OBJ_top -= 1;(PANEL, PANEL_CTRL_OBJ, ATTR_TOP, CTRL_OBJ_top);(pos == 2) pos = 3;

}_OBJ_left += 2;(PANEL, PANEL_CTRL_OBJ, ATTR_LEFT, CTRL_OBJ_left);((ONCOMING_OBJ_left <= 15) && (l < 17)) {++; (panelHandle, PANEL_ONCOMING_OBJ, ATTR_WIDTH, width-l*velocity_second);(PANEL, PANEL_ONCOMING_OBJ, second, VAL_ENTIRE_OBJECT, MakeRect(0,-l*velocity_second,VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));(l == 17) CanvasClear (panelHandle, PANEL_ONCOMING_OBJ, VAL_ENTIRE_OBJECT);

}{_OBJ_left -= velocity_second; (PANEL, PANEL_ONCOMING_OBJ, ATTR_LEFT, ONCOMING_OBJ_left);

}

//}(CTRL_OBJ_left >= 450) {=0;(PANEL, PANEL_TIMER, ATTR_ENABLED, 0);(panelHandle, PANEL_Clr, ATTR_DIMMED, tmr);(panelHandle, PANEL_Snos_vstr, ATTR_DIMMED, tmr || oncoming);

}

}

}

}{(PANEL, PANEL_BACKGROUND, bit, VAL_ENTIRE_OBJECT, MakeRect(0,-n%100*3,VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));(!(n%20)) k=-k;

//if (!(rand()%3))_WAY_OBJ_left += k*2;(PANEL, PANEL_SM_WAY_OBJ, ATTR_LEFT, SM_WAY_OBJ_left);((n > 20) && (CTRL_OBJ_left < 400)) {_OBJ_left += 2;(PANEL, PANEL_CTRL_OBJ, ATTR_LEFT, CTRL_OBJ_left);((CTRL_OBJ_left > 200) && (CTRL_OBJ_top < SM_WAY_OBJ_top)) {_OBJ_top += 3;(PANEL, PANEL_CTRL_OBJ, ATTR_TOP, CTRL_OBJ_top);

}

}

};

}0;

}CVICALLBACK Accelerate (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{(event)

{EVENT_COMMIT:((CTRL_OBJ_left < 400)&&(distance > 2)) {_OBJ_left += 4;(PANEL, PANEL_CTRL_OBJ, ATTR_LEFT, CTRL_OBJ_left);

};

}0;

}CVICALLBACK Break (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{(event)

{EVENT_COMMIT:(CTRL_OBJ_left > 54) {_OBJ_left -= 4;(PANEL, PANEL_CTRL_OBJ, ATTR_LEFT, CTRL_OBJ_left);

};

}0;

}RotateImage (int angle, char ship_path[25], int ship)

{bmp;an[4], pict[34];(an, "%s<%i", angle);(pict, ship_path);(pict, an);(pict, ".bmp");(pict, &bmp);

//SetCtrlAttribute (panelHandle, ship, ATTR_HEIGHT, height+abs(angle));(panelHandle, ship, bmp, VAL_ENTIRE_OBJECT,

MakeRect (0, 0, VAL_KEEP_SAME_SIZE, VAL_KEEP_SAME_SIZE));

0;

}CVICALLBACK Activate_side (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{(event)

{EVENT_COMMIT:_motion = !Side_motion;;

}0;

}CVICALLBACK Initially_select_vehicle (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{(event)

{EVENT_COMMIT:(pan2, PANEL_2_LISTBOX, &vehicle);(vehicle != 2) {(panelHandle, PANEL_ONCOMING_RING, ATTR_VISIBLE, 1);(panelHandle, PANEL_Snos_vstr, ATTR_VISIBLE, 1);

}(pan2);(panelHandle, PANEL_VEHICLE_RING, vehicle);(PANEL, PANEL_SM_WAY_OBJ, ATTR_TOP, &SM_WAY_OBJ_top0);(PANEL, PANEL_SM_WAY_OBJ, ATTR_LEFT, &SM_WAY_OBJ_left0);(PANEL, PANEL_Safety_System, &Safety_System);();();;

}0;

}CVICALLBACK Select_vehicle (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{ (event)

{EVENT_VAL_CHANGED:(panelHandle, PANEL_VEHICLE_RING, &vehicle);(vehicle == 2) {(panelHandle, PANEL_ONCOMING_RING, ATTR_VISIBLE, 0);(panelHandle, PANEL_Snos_vstr, ATTR_VISIBLE, 0);

}{(panelHandle, PANEL_ONCOMING_RING, ATTR_VISIBLE, 1);(panelHandle, PANEL_Snos_vstr, ATTR_VISIBLE, 1);

}();(); ;

}0;

}CVICALLBACK Select_oncoming (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{(event)

{EVENT_VAL_CHANGED:(panelHandle, PANEL_ONCOMING_RING, &oncoming);(panelHandle, PANEL_Snos_vstr, ATTR_DIMMED, oncoming);_motion = !oncoming;(panelHandle, PANEL_Snos_vstr, Side_motion); ();();;

}0;

}CVICALLBACK Reset_pict (int panel, int control, int event,*callbackData, int eventData1, int eventData2)

{(event)

{EVENT_COMMIT:();;

}0;

}


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

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ