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

кандидата технических наук
Овсяницкая, Лариса Юрьевна
город
Челябинск
год
2000
специальность ВАК РФ
05.13.14
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Математические модели и алгоритмы обработки информации для управления системой восстановления двигательной активности человека»

Автореферат диссертации по теме "Математические модели и алгоритмы обработки информации для управления системой восстановления двигательной активности человека"

На правах рукописи

РГБ ОД

- з то н ш

ОВСЯНИЦКАЯ Лариса Юрьевна

МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ ОБРАБОТКИ ИНФОРМАЦИИ ДЛЯ УПРАВЛЕНИЯ СИСТЕМОЙ ВОССТАНОВЛЕНИЯ ДВИГАТЕЛЬНОЙ АКТИВНОСТИ ЧЕЛОВЕКА

Специальность 05ЛЗЛ4 - «Системы обработки информации и управления»

Автореферат диссертации на соискание ученой степени кандидата технических наук

Челябинск-2000

Работа выполнена в Южно-Уральском государственном университете.

Научный руководитель - доктор технических наук.

профессор Щипицын А.Г.

Официальные оппоненты: доктор технических наук,

профессор Воронин С.Г.;

кандидат технических наук, доцент Даровских С.Н.

Ведущее предприятие - Федеральное государственное унитарное предприятие Конструкторское бюро «Медавтоматика» (г. Екатеринбург).

Защита состоится 4 мая 2000 г., в Г5Ш ч, на заседании диссертаци онного Совета Д 053.13.06 при Южно-Уральском государственном университет! по адресу: 454080, г. Челябинск, пр. им. В.И. Ленина, 76 (ауд.244).

Ваш отзыв в двух экземплярах, заверенных гербовой печатью, просим На правлягь по адресу: 454080, г. Челябинск, пр. им. В.И.Ленина, 76, ЮжноУральский государственный университет, ученый совет, т. (3512) 39-91-23.

С диссертацией можно ознакомиться в библиотеке университета.

Автореферат разослан «5/» ■Л/Яр/й.2000 1

¿л*. 1Щ- 3 - 5

/

Ученый секретарь диссертационного,, Совета, д.т.ь., профессор Х/Г^/) у М.В. Устюгов

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

Поэтому является актуальной проблема создания такой технической системы, которая, имитируя движения здорового ребенка, обеспечивала бы одновременно заданное количество принудительных движений частей тела человека (ЧТЧ) в соответствии с предписанными ему методиками ЛФК. Система представляет собой комплексный тренажер с программным управлением, предназначенный для изменения углового положения конечностей и, тем самым, отработки определенной методики ЛФК. Движение каждой конечности человека описывается математическими моделями и разработанными на их основе алгорит-. мами и программами независимо. Одновременная реализация необходимых движений обеспечивает комплексное функционирование системы.

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

Функциональная схема СВДАЧ приведена на рис. 1. Блоки, разработанные в диссертации, выделены пунктирной линией. В целом СВДАЧ включает: основание (1), приводы (2), устройство управления приводами (3), приспособления для фиксации ЧТЧ (4), датчики физиологического состояния (5) и угловых перемещений (6), компьютер (7), осуществляющий координацию и управление системой. Особенностью предлагаемого способа является реализация захватного типа движений. Привод фиксируется на теле человека в особых контрольных точках, исходя из физиологических особенностей организма, а конструкция

\ttiin. \1>и>1':н/, тгириги мы II прогримчы чычиаенин тконип тиенения вечичим* упрчч шющи\ см

Л/|//и. \ин)е:ш, ачгоритпм и программы кит мшпического " и динамического ашпим (Ншжений - ■

г"

ДФС

т

I .Л

¿.¿•^йаэи -

:

управления режи.и&чи работы ЭПК

Методы обработки Оиины\ (11Я фор ш шции то дик .ЧФК

Обработки информации с датчики а угловых

перемещений и (К1 ингйпеишй анализ рау ¡ьншщав

Анализ точности реализации движений

" ! Т Г ГТ Т Т 1 *

Г1ГЛ1.. и_"О'.ЛГИЕ!______

Рис. ]. Функциональная схема СВДАЧ

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

Рабочей средой для надувания всех элементов конструкции служит воздух, поступающий от компрессора (8). Управление потоками воздуха осуществляется с помощью распределителей (9) от блока управления, которым руководит компьютер. Датчики физиологического состояния служат для организации обратной связи по самотувствию пациента, датчики угловых перемещений используются при снятии информации во время задания методистом образцовых движений и при контроле положения конечности во время выполнения упражнении.

Исполнительные устройства привода установлены на жестком основании. Приведен пример приложения сил Р, , Pi, Р3к. ,Pi~' в точках D* и Д,.,. Силы изменяются по величине, а направления их действий всегда параллельны соответствующим координатным осям. Таким образом, суммарный вектор силового воздействия изменяется по величине и направлению. В работе разработаны математические модели и алгоритмы, в которых параметры и функции искомых точек захвата определяются относительно неподвижного основания.

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

Об актуальности работы может свидетельствовать поддержка ее грантом «Университеты России - фундаментальные исследования».

Предшествующие работы. Большой вклад в развитие лечебных тренажеров внесли А.Е. Штеренгерц и К.А. Семенова. С середины 70-х годов в кабинетах ЛФК г. Риги работает автоматическая система, позволяющая механически воздействовать на конечность человека. Однако, данная система реализует только те движения, которые в данный момент выполняет либо здоровый человек, либо здоровая конечность. В настоящей работе, согласно постановке задачи, необходимо отрабатывать движения, заданные тем или иным способом заранее. Л.О. Бадалян, В.А. Сергеев классифицируют группы тренажеров: имитационные, равновесия и координации, силовые, массирующие. Задача же тренажера с программным управлением - комбинировать указанные выше отдельные функции и, таким образом, оказывать комплексное воздействие на больного.

Вопросы динамики управляемых объектов, описание движения, достигающего цели управления, а также вопросы пространственного движения системы «глаз-рука» рассмотрены Г.В. Кореневым. Известны работы в области разработки манипуляционных систем Г.С. Черноруцкого, B.C. Жабреева, А.И. Телегина. Предлагаемая система является имитатором движения, по своему назначению и конструкции адаптированной к медицинским целям. Принципы экспериментального определения характеристик реакций суставов приведены у A.M. McLean, однако, в его работе указаны методы вычисления параметров только для 2 - звенных цепей; в диссертации приведены методы определения параметров для К - звенных цепей.

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

Из цели вытекают следующие задачи:

- определение способов обработки данных для формализации методик ЛФК;

- разработка математических моделей, алгоритмического и программного обеспечения для задачи кинематического анализа СВДАЧ - определение зависимостей изменения координат, скоростей и ускорений точек захвата во времени, при которых реализуются требуемые законы изменения углов поворотов ЧТЧ;

- разработка математических моделей, алгоритмов и программ для задачи динамического анализа и синтеза СВДАЧ, позволяющих вычислять необходимые характеристики и законы изменения величин управляющих сил, приложенных в точках захвата, при которых реализуются требуемые законы изменения углов поворотов ЧТЧ во времени;

- определение точностных параметров реализации движений;

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

Научная новизна и практическая значимость работы.

Научная новизна. Разработаны математические модели и алгоритмы кинематического, динамического и точностного анализа СВДАЧ, позволяющие обрабатывать информацию о законах изменения углов поворота ЧТЧ во времени V на этой основе синтезировать силы для реализации заданных движений в соответствии с предписанными методиками ЛФК.

Практическая значимость.

1. Создан пакет прикладных программ для проведения численного моделирования кинематического, динамического и точностного анализа и синтеза СВДАЧ для определения законов изменения величин управляющих сил.

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

Апробация работы, публикации, внедрения. По теме диссертации опуб ликовано 13 работ, в том числе два учебных пособия, раздел в коллективной мо нографии, тезисы докладов на конференции, свидетельство о регистрации-про граммы для ЭВМ в РосАПО. Материалы работы использованы в 3-х отчетах I НИР.- Подана заявка на выдачу патента РФ на изобретение.

Основные результаты докладывались на

- Международной конференции «Актуальные проблемы педиатрии, неотлож ной медицины и медицинского образования» (Челябинск, 1997);

- Уральской конференции молодых ученых «Физика а биологии и медицине» (Екатеринбург, 1998);

- Кафедре «Приборостроение» ЮУрГУ (Челябинск, 1999);

Результаты работы используются Федеральным государственным унитарным предприятием КБ «Медавтоматика», г.Екатеринбург, при зыполнении работ, связанных с международной программой «Здоровая семья».

Результаты исследований используются в лекциях по курсу «Информационное обеспечение медицинских систем» в Уральской государственной медицинской академии дополнительного образования. Созданный ПАК определения положения конечности человека используется на практических занятиях по дисциплине «Теория, расчет и проектирование приборов и систем» студентов 3-го курса специальности 190100, проводимых в ЮУрГУ.

Структура и объем диссертации. Диссертация состоит из аннотации, введения, б глав, заключения, списка литературы (92 наименования), приложения. Основной текст диссертации изложен на 144 машинописных страницах и содержит 26 рисунков и 11 таблиц; в приложение вынесено описание пакета прикладных программ, тексты исходных модулей на языке Turbo Pascal 7.0 (63 стр.) и заключения об использовании результатов работы.

СОДЕРЖАНИЕ РАБОТЫ

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

В первой главе рассмотрены основные способы формализации методик ЛФК - обработки словесной информации о движениях с целью аппроксимации : ее зависимостями углов поворотов частей тела человека во времени. Приведены зависимости, описывающие движения здорового человека. Задача методиста -определение физиологических особенностей пациента и внесение поправок и корректировок на амплитуды и частоты совершения колебательных движений. Приведены способы прямого снятия информации с датчиков, закрепленных на. теле пациента, а также с помощью бесконтактных методов, например, видеокамеры или систем 3D сканирования.

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

0 it : = С,, + С, sin at + С , cas <ai . il. í )

В сгп-'чае. когда упражнение представляет собой более сложную непесио-•дическую :ааиснмость. то лучшие результаты дала аппроксимация кзнониче-

ским полиномом в виде:

<р(О=С0+С11 + С/+„СХ. (1.2)

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

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

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

Рис. 2. К задаче кинематического анализа СВДАЧ

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

Общий алгоритм решения задачи состоит в следующем.

1. Задать расстояния между шарнирами, начальное положение и законы изменения углов ЧТЧ, начальное, конечное время, временную дискрету.

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

_ ■ ! Си = X X Г; С?"' = С*'2 ;

(2.1)

3

С рор? __ ^ с?0'1 С ' с.°5 = ^ с62с23.

3. Ввести направляющие косинусы, задающие ориентацию относительно друг

5 о ;0'

друга двух любых введенных систем координат, например: £>» = £ С™ С .

т-1

Направляющие косинусы были сведены в блочную матрицу (табл. 3.1).

4. Зная все компоненты матрицы, определить необходимые кинематические параметры относительно подвижных и неподвижных систем координат:

— угловые скорости в проекциях на подвижные оси:

т=1

Таблица 3.1

Матрица направляющих косинусов

Орт Орт 1] у; хр N р у Г" )

О, да/" 1>Ч Ну!* и, га/" О, г-;" • £> г

в ! 1 да/" о, (У»/* Г>9 Г)-/" В* ■ - Л«

— ...

V .,к О, о „ В, (У! У*" ■ ¿»У**" р,

в проекциях на неподвижные оси: О? = П," + £ £> - ;

- угловые ускорения в проекциях на неподвижные оси:

• гл - ёг + « ёг;;

' г»;0'*

в проекциях на подвижные оси: с,* = 2, с ? ;

- координаты точек ЧТЧ на оси связанной с основанием системы координат:

3 /¡г?'1

я? =/?,"' +£о» г^;

„„, ) г«;»»! л • п-/0»5

- скорости тонок ЧТЧ: V," = к? + £(Я, ^' а7г?/ >

^ ы

- ускорения точек ЧТЧ:

з (гу;® Д, V иг»®

5. Провести аналогичные вычисления на следующем интервале времени.

На основе общего алгоритма составлен развернутый алгоритм и разработана программа для решения указанных задач. Общий объем пакета прикладных программ - 129 кБ, дополнительно резервируемое место на жестком диске при работе программы - 1 Мб.

В третьей главе построены математические модели и разработаны алгоритмы динамического анализа привода СВДАЧ для возможности дальнейшего синтезирования величин управляющих сил. Было рассмотрено движение под действием известных сил механической системы, состоящей из К сочлененных тел, где каждое сочленение представляет собой сферический шарнир (рис. 3). Считаем, что каждое тело имеет массу; в произвольных точках Б, к телам приложены силы, параллельные соответствующим осям декартовой системы координат, связанной с Землей. На рис.3 показаны силы Р*. Каждое тело к имеет

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

необходимых массо-геометрических ха-X рактеристик тел.

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

■д..

'О¿г/.-

ГГГТТПТГП '

' -v'

Рис. 3. Система из К сочлененных тел

С--

С С

С

с

С С ••• С j 2. Задать: количество, массы тел; моменты инерции тел, а также координаты шарниров, центров масс и точек приложения сил в связанных с телами системах координат; начальные углы поворотов тел; начальное, конечное вр^мя, временную дискрету.

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

относительно точки Ог. = = М> где К*- вектор количества

движения тела к, _/"*- главный вектор внешних сил, приложенных к телу к,

с

о.

З' - вектор кинетического момента тела к относительно точки О], Д/' - главный момент внешних сил относительно точки Оь приложенных к телу 'к.

4. Ввести обобщенные коэффициенты, определяемые по двум тео- т'Сг ^ ремам и составить систему из (2*3*к) дифференциальных уравнений движения тел:

>

V V ь I

/ = и

и привести ее к нормальной форме, у - Р(У)+()(}') Р, (3.1)

где У-матрица размера Кух 1 переменных состояния: углов и угловых скоростей тел (Ыу=2*к*3); Р-матрица размера Кух 1, компоненты которой являются нелинейными функциями переменных У,; (^-матрица размера Иух^у, компоненты которой являются нелинейными функциями переменных У,; Р-матрица размера Ку х 1, компоненты которой являются проекциями векторов сил в системе координат Х® ||уя г= -Ч ¡г

5. Проинтегрировать полученную систему уравнений (3.1) на интервале М] и вычислить углы, скорости и ускорения тел.

6. Вычислить силы реакций шарниров:

, связанной с основанием:

1»° 1Р !ес 0

= -- 1 /> = !-- {? = - - -

Г" 1 о 0 0

5',=-г/,

•с-4 /Т>211 '

Vерч с<-

V В22* £'*Т В

Б, =

I (ТВ

v £ в:з ь

22 Ь . Ь .

ТВ

2?Ь

р = и.

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

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

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

В качестве метода взят метод динамического программирования Беллмана з дискретном варианте. Задача заключается в определении: 1) проекций сил Р| в виде функций времени, т.е..

Р,=Р,(0, 1~1,(к*3), . 1вЦ0;Т), (4.1

таких, которые обеспечивали бы изменение переменных состояния У, по задш ным законам во времени: /,=/,(0, 1ер0;Г]

и удовлетворяли бы ограничениям: |Р, (¡^ |р~ (1^, где Р\"Ц) - априорно заданны законы изменения величин управляющих сил; 2) мощностей этих сил.

В качестве критерия метода был взят функционал:

ф = 1 {£ ё к - /. он + £ & (Р, (1}-р,~ , (4.:

I, I '•< Л Г, J

где /," — наибольшие по абсолютным величинам значения функций У, 1 всем интервале времени, Р/"" - наибольшие по абсолютным величинам знач( ния управляющих сил на всем интервале времени. 1 Приведем общий алгоритм решения задачи.

1. Задать матрицы Р и <2 (раздел 3), начальное, конечное время, временную ди< крету, Р™", конечные значения и законы изменения переменных состо: ния, конечные значения величин управляющих сил.

2. Задать степень влияния того или иного слагаемого заданием весовых коэ<| фициентов, исходя из условия:

£ (X, / =1 и ввести обозначения:

.г кг

к,'

(4.3

3. Переписать критерий (4.2) в виде:

Ф = /{[У - "яЧУ - «01 + МЧО-Р"(0Гч»(Р(0 -,

где V-символ транспонирования матрицы, и аппроксимировать его суммой:

Ф = 2]{(Ук-^1Гч1'(Ук-Гк)+(Рк-Р**ГчР(Рк-Р")}Д/. (4/

к«0

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

X. Условие минимума критерия при М-к ДI имеет вид: ^ * = О.

5. Проведя соответствующие преобразования и введя переобозначения, запишем выражения для управляющих сил: = 1а"~к. 5. Углы и угловые скорости определим по рекуррентной формуле:

у*-» + />"-*)дг, к = 0,Ы-1. (4.5)

7. Определим мощность привода по формуле:

^ = £¿1 Це^С^Ц (4.6)

* т-1 л.1 7ш1 р=ш1

На основе общего алгоритма составлен развернутый алгоритм и разработана программа, позволяющая производить указанные вычисления. Объем трограммы - 40 кБ, резервируемое место на диске -1 Мб.

В частности, например, рассмотрена составляющая силы (приложена в гочке Ау2 параллельная оси рис.2) при выполнении упражнения — разведения тредплечья в стороны. Ниже приведены получившиеся зависимости изменений лгла отведения руки в горизонтальной плоскости, угловой скорости и величины отравляющей силы от времени. Исходные данные: масса 0,3 кг, длина предолгая 0,15 м, расстояние до точки приложения силы 0,1 м.

Зависимость угла Зависимость изменения Зависимость изменения

поворота руки от угловой скорости величины управляющей

времени: от времени: силы от времени:

^ и

2', "

_-М

-в» - и - и

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

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

рения точи! М. На рис. 4 представлена система двух шарнирно связанны? тел.

Я = Vв°Чкг К - й == У

Щ = Г1 = К, = £ . 1 = 12.

3. Построим математическую модель по грешности системы. Параметры длины ко Л"° нечности Ь, и функции утло

Ь\, 1]1>1 представлены в виде:

Рис.4. Система двух шарнирно свя- V. =«+{/,,- ]

занных тел „ „

и1 =ы, + 1/\; £/, =и,-С/,.!

где I, -тачное значение параметров; я,,и,.и. -точные законы изменения соот-

(5.1

ветствуюших функций; (У,¿/¡Д -погрешности задания соответствующих фунь ций, являющиеся центрированными случайными величинами (ЦСВ); Ь , - пс грешности параметров, являющиеся ЦСВ. Указанные выше ЦСВ представлены виде:

=/,. С,; и! = и V,: 0, =и0,; {/, =«' и, , 1=1,2, (5.;

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

ем системы [Ь>,Т]; [/¡,.и1. ¿Л- безразмерные ЦСВ, заданные своими средние квадрата чес ким и отклонениями:

Восемь величин (5.3) пред ставляют собой исходные от носительные погрешности рас сматриваемой системы

1!I =и' О, , ¡=1,2,

(5-3)

в, = "¡М 10, Н 0, = 10, ? /

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

Р-

■у—

(ЧлХь >■

X.

На основе общего алгоритма составлен развернутый алгоритм и разраС тана программа для ЭВМ, входящая в пакет прикладных программ В частност на рис.5 представлены полученные зависимости изменения-относительных г грсшностсй радиуса-вектора (КО), скорости I УО) и ускорения |\л<0> точки от I •аенения относительных погрешностей задания исходных параметров и функш

когхо)

ОЛС75 -

(ХО).

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

йпк-'-—■---

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

«АС 1'МЙ едо 9,<Ю6 «Л!

Рис. 5. Анализ точности кинематических параметров движения конечности человека

./ — = 1,р —ти! со.ч < Л 2

-М.

П (г„)-П0

</<р где <р-

(5.4)

1

у тол поворота тела массы т и имеющего момент инерции 3 = ~гп1~

олз т®£1 в, 02

относительно оси вращения; О- угловая скорость тела; р„.О-0- начальные условия для о. £7; Ь- расстояние от оси до точки приложения силы, Р - величина силы, приводящей в движение; ро,Т] - интервал времени движения; М - момент

сил вредного сопротивления; в- гравитационное ускорение; I- длина тела. . 2. Задать относительные погрешности исходных параметров и функций. 2. Определить величину управляющей силы с помощью метода динамического программирования Беллмана. Вычислить значения управляющих сил с учетом погрешности исходных, параметров и функций. На основе общего алгоритма составлен развёрнутый алгоритм и разработана про-Рис. 6. Анализ точности определения грамма для ЭВМ. После выполнения вы-управляющей силы при движении ко- числений, в частности, была получена за-нечности человека висимость (рис. 6) изменения относитель-

ной погрешностей определения управляющей силы (ВР) от изменения относительных погрешностей задания исходных параметров (ОЕ). .

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

ПК

голо СВДАЧ с точки зрения точности привода и средств измерений, используемых для снятия информации и контроля выполнения упражнений ЛФК.

В шестой главе описан созданный программно-аппаратный комплеь (ПАК) определения положения конечности человека, предназначенный для пр<

ведения измерений по определению параметре

В положения конечности человека в пространс-

_ ве, обработки и дальнейшего анализа получе!

^^ ной информации. Конструкция ПАК показаг

на рис. 7. ПАК является частью СВДАЧ и сл; жит для следующих целей: 1. Для снятия информации о значениях угле поворотов конечности во времени при выпо.1 нении упражнения методистом с целью дат

С )

Рис. 7. Конструкция ПАК

нейшего создания банка данных методик ЛФК.

2. Для осуществления постоянного контроля за положением верхней конечности (как частный случай) в пространстве в каяедый момент времени.

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

4. Для записи полученной информации в файл с целью проведения дальнейшего анализа точности выполнения пациентом той или иной методики ЛФК.

В основе конструкции датчиков угловых перемещений (ркс.7, поз.1) лежит устройство манипу-

Рис. 8. Схема алгоритма работы ПАК

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

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

Информация для анализа может быть представлена в трех видах - в числен-ом (выводится таблица численных значений углов поворотов плеча и предпле-ья в каждый момент времени), в виде непосредственного просмотра на экране ыполнения упражнения и графическом (на одном листе выводятся графики по-ожения плеча (предплечья) при работе методиста и пациента для анализа раз-ицы в выполнения методики с целью ее последующего корректирования). Прозам м а для ПАК написана на языке Turbo Pascal 7.0. Занимаемый объем -45 кБ.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИИ

. Предложено принципиальное схемное решение по созданию системы восстановления двигательной активности человека (СВДАЧ). . Приведены методы формализации методик лечебной физкультуры для обработки словесной информации о движениях с целью аппроксимации ее зависимостями углов поворотов частей тела человека (ЧТЧ) во времени; приведены два способа построения аппроксимирующих функций в зависимости от вида имеющейся информации. . Разработаны математические модели, алгоритмы и программы для задач кинематического анализа СВДАЧ, позволяющие на основе обработанной информации о законах изменения углов поворотов ЧТЧ so времени вычислять кинематические характеристики системы: проекции векторов угловых скоростей и ускорений ЧТЧ на оси неподвижной (или подвижной) системы координат (С К); координаты контрольных точек и проекции векторов скоростей и ■ ускорений ЧТЧ на оси неподвижной СК, при которых реализуются требуемые законы изменения углов поворотов ЧТЧ.

4. Разработаны математические модели, алгоритмы и программы для задачи динамического анализа и синтеза СВДАЧ, позволяющие вычислять необходимые величины силовых управляющих воздействий для отработки движений характеризуемых методиками ЛФК, а также определять силы реакций в суставах и мощность привода, обеспечивающего требуемые движения.

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

6. Создан программно-аппаратный комплекс определения положения конечно сти человека в пространстве (ПАК), позволяющий получать информацию I положении конечности человека в пространстве, регистрировать и обрабаты вать ее в режиме реального времени, а в дальнейшем анализировать обраоо тайные результаты для принятия решения по выбору методики лечения.

7. Результаты работы используются Федеральным государственным унитарны! предприятием КБ «Медавтоматика», г.Екатеринбург, при выполнения работ связанных с международной программой «Здоровая семья».

8. Результаты исследований используются в лекциях по курсу «Информацион ное обеспечение медицинских систем» в Уральской государственной меда цинской академии дополнительного образования. ПАК определения положс ния конечности человека используется на практических занятиях по дисциг лине «Теория, расчет и проектирование приборов и систем» студентов 3-г курса специальности 1901, проводимых в ЮУрГУ.

НАУЧНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Свидетельство Российской Федерации об официальной регистрации програл мы для ЭВМ X» 960490. Кинематический анализ системы биомеханическс стимуляции мышц человека: ППП "АСБСМ1.0"// Правообладатель: Челя< гос. техн. ун-т, авторы Щипицын А.Г., Ус Л.Ю.-Заявка № 960406. Зарегес рир. 19.11.96

2. Овсяницкая Л.Ю. Подходы к формализации методик лечебной физкультур для системы биомеханической стимуляции мышц человека // Информации но-измерительные и управляющие системы и устройства: Тем. сб. на\ч. тр Челябинск:ЧГТУ, 1998. - С. 65-69.

3. Овсяницкая Л.Ю. Система биомеханической стимуляции мышц человека Уральская конференция молодых ученых "Физика в биологии и медицине Сб. науч. работ - Екатеринбург, Уральский государственный университет, 2 марта 1999.-С. 40-41.

4. Ус(Овсяницкая) Л.Ю. Задача анализа точности реализации движений конеч-

■ ностей человека для системы биомеханической стимуляции мышц человека //

Элементы и приборы систем управления: Тем. сб. науч. тр. - Челябинск: ЧГТУ, 199Ó.-C. 121-125.

5. Шиптщын А.Г., Овсяницкая Л.Ю., Чернецкая И.В., Чернешсий В О., Коваленко В.В. Разработка математических моделей, алгоритмов и программ для задач синтеза система биомеханической стимуляции мышц человека. - Отчет о НИР по теме №1.29.97; № гос.рег. 01.970002852; инв. № 02.990003251.

6. Щипицын А.Г., Ус Л.Ю. К задаче кинематического анализа системы двух шарнирно связанных тел. -Рукопись предст. Челяб. гос. техн.ун-м. Деп. в ВИНИТИ 12.06.96 N 1202-B96.-23C.

7. Щипицын А.Г., Ус Л JO. Система биомеханической стимуляции мышц человека. Кинематический и динамический анализ: Учебное пособие.-Челя-бннск-.ЧГТУ, 1997—75с.

8. Щипицын А.Г., Юсупов В.А., Коваленко В.В., Ус Л.Ю. Система биомеханической стимуляции мышц человека. Математические модели и алгоритмы анализа - Челябинск: ЧГТУ, 1997.-142с.

9. Щипицын А Т., Овсяницкая Л.Ю., Чернепкая И.В. Система биомеханической стимуляции мышц человека (динамический синтез): Учебное пособие. - Челя-бинск:Изд-во ЮУрГУ, 1998. - 142с.

10.Щипицын А.Г., Овсяницкая Л.Ю., Чернецкая И.В. Синтез системы биомеханической стимуляции мышц человека для лечения церебрального паралича. Рек.-тех. описание по теме № 0098139 (грант "Университеты России"), № гос.рег. 01.980006976, инв. № 02.990003864.

11 .Шитпшын А.Г., Овсяницкая Л.Ю. Математическая модель, алгоритмы и программа динамического анализа привода блока системы биомеханической стимуляции мышц человека. - Рукопись предст. Юж. -Уральским ун-м. Деп. в ВИНИТИ 06.09.99 N 2777-В99.-27с.

12.Щипицын АГ., Овсяницкая Л.Ю. Математическая модель, алгоритмы и программа синтеза управления приводом блока системы биомеханической стимуляции мышц человека. - Рукопись предст. Юж. -Уральским ун-м. Деп. в ВИНИТИ 15.10.99 № 3091-В9?.-9 с. '

13.Шипицын А.Г., Щипицын П.Г., Кацай Д.А., Ус Л.Ю. и др. Разработка математических моделей для задач синтеза лечебно-диагностических систем. -Отчет о НИР по теме №29.97; № гос.рег. Ш .970002852; инв. № 02.980002428.

/ С'£

Издательство Южно-Уральского государственного университета_

ИД N 00200 от 28.09.99. Подписано в печать 23.03.2000. Формат.

60*84 1/16. Печать офсетная. Усл. печ. л. 0,93. Уч.-изд. л. 1.

_._Тираж 80 экз. Заказ 141 /135._

УОП Издательства. 454080, г. Челябинск, пр. им. В.И. Ленина, 76.

Оглавление автор диссертации — кандидата технических наук Овсяницкая, Лариса Юрьевна

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ.

0. ВВЕДЕНИЕ.

0.1. Формулировка проблемы и ее актуальность.

0.2. Медицинские аспекты создания системы.

0.3. Обзор предшествующих работ.

0.4. Принципиальное решение задачи.

0.5. Цель и задачи работы.

0.6. Научная новизна и практическая значимость работы.

0.7. Апробация работы, публикации, внедрения.

0.8. Структура и объем диссертации.

1. ФОРМАЛИЗАЦИЯ МЕТОДИК ЛЕЧЕБНОЙ ФИЗКУЛЬТУРЫ.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ПЕРВОГО РАЗДЕЛА.

2. МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ ДЛЯ ЗАДАЧ КИНЕМАТИЧЕСКОГО АНАЛИЗА СВДАЧ.

2.1. Постановка задачи. Системы координат.

2.2. Ориентации систем координат.

2.3. Угловые скорости и ускорения ЧТЧ.

2.4. Координаты точек ЧТЧ.

2.5. Скорости точек ЧТЧ.

2.6. Ускорения точек ЧТЧ.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ВТОРОГО РАЗДЕЛА.

3. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ И АЛГОРИТМЫ ДИНАМИЧЕСКОГО АНАЛИЗА ПРИВОДА СВДАЧ.

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

3.2. Векторные уравнения.

3.3. Ориентация тел.

3.4. Векторные кинематические уравнения.

3.5. Скалярные уравнения.

3.6. Определение реакций в суставах.

3.7. Приведение уравнений к нормальной форме.

3.8. Алгоритм решения задачи.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ТРЕТЬЕГО РАЗДЕЛА.

4. СИНТЕЗ УПРАВЛЕНИЯ ПРИВОДОМ СВДАЧ.

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

4.2. Методы решения задачи.

4.3. Математическая модель метода динамического программирования.

4.4. Мощность привода блока.

4.5. Алгоритм определения управляющих сил и мощности привода.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ЧЕТВЕРТОГО РАЗДЕЛА.

5. АНАЛИЗ ТОЧНОСТИ РЕАЛИЗАЦИИ ДВИЖЕНИЙ.

5.1. Кинематический анализ движения конечности человека.

5.2. Анализ и синтез точности кинематических параметров.

5.3. Анализ точности динамических параметров конечности человека.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ПЯТОГО РАЗДЕЛА.

6. ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ОПРЕДЕЛЕНИЯ

ПОЛОЖЕНИЯ КОНЕЧНОСТИ ЧЕЛОВЕКА.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ШЕСТОГО РАЗДЕЛА.

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Овсяницкая, Лариса Юрьевна

0.1. Формулировка проблемы и ее актуальность

Проблемы лечения детского церебрального паралича (ДЦП) физиотерапевтическими методами в последнее время приобретают особую актуальность. Полному излечению это заболевание не подлежит, однако, при правильно и своевременно поставленном диагнозе, весьма эффективным средством является лечебная физкультура (ЛФК).

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

Поэтому является актуальной проблема создания такой технической системы, которая, имитируя движения здорового ребенка, обеспечивала бы одновременно заданное количество принудительных движений частей тела человека (ЧТЧ) в соответствии с предписанными ему методиками ЛФК. Система представляет собой комплексный тренажер с программным управлением, предназначенный для изменения углового положения конечностей и, тем самым, отработки определенной методики ЛФК. Движение каждой конечности человека описывается математическими моделями и разработанными на их основе алгоритмами и программами независимо. Одновременная реализация необходимых движений обеспечивает комплексное функционирование системы.

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

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

Об актуальности работы может также свидетельствовать поддержка ее грантом «Университеты России - фундаментальные исследования».

0.2. Медицинские аспекты создания системы

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

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

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

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

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

При ДЦП в результате поражения мозга на ранних этапах онтогенеза дезорганизованы мозговые механизмы, направленные на координированную работу мышц, ответственных за поддержание позы, равновесия и выполнение целенаправленных движений [58].

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

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

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

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

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

0.3. Обзор предшествующих работ

Задел для решения проблемы начал создаваться с конца 50-х годов. Существенный вклад в создание тренажеров внесли А.Е. Штеренгерц и К.А. Семенова [58,7/ ]. В середине 70-х годов в кабинетах ЛФК г. Риги работала автоматическая система, позволяющая механически воздействовать на конечность человека [10]. Однако, данная система имела возможность реализовывать только те движения, которые в данный момент выполняли либо здоровый человек, либо здоровая конечность. В нашей работе, согласно постановке задачи, необходимо отрабатывать движения, заданные тем или иным способом заранее.

В [53] дана классификация групп тренажеров: имитационные, равновесия и координации, силовые, массирующие. Задача же тренажера с программным управлением - комбинировать указанные выше отдельные функции и, таким образом, оказывать комплексное воздействие на больного. В дальнейшем, при задании управляющих воздействий, мы анализируем потребности и программируем тренажер на необходимую группу (группы) воздействий. Кроме того, отличительная особенность биомеханической стимуляции - возможность измерять мощность и, следовательно, дозировать упражнения ЛФК. Статистические данные, приведенные в [16], иллюстрируют положительный эффект лечения с помощью частичного применения биоуправления. Данные приведены на основе исследований, проводимых в детском психоневрологическом санатории «Комарово».

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

Известны работы в области разработки манипуляционных систем Г.С. Черноруцкого, B.C. Жабреева, А.И. Телегина, Ю.И. Мелентьева [38,69]. Предлагаемая система является имитатором движения, по своему назначению и конструкции адаптированной к медицинским целям.

Способы формализации и описания многозвенных систем в пространстве рассмотрены в [60]. В качестве примера описана кинематическая схема руки человека, состоящая из 4-х твердых тел (корпус, плечо, предплечье, кисть). Рассмотрена биомеханическая модель человека, имеющая 34 степени свободы. Модель условно разбита на 5 ветвей: нижняя часть туловища, бедро, голень, стопа; верхняя часть туловища, голова, плечо, предплечье. Проанализированы возможные движения звеньев. Однако, при разработке системы необходимо знание кинематических параметров звеньев относительно основания в каждый момент времени. То есть, необходимо введение единообразных индексов при обозначении всех звеньев и ветвей.

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

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

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

0.4. Принципиальное решение задачи

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

Согласно предлагаемому способу, в основу создания реализующего устройства положены следующие принципы [82]:

1. Устройство должно автоматически реализовывать движения конечностей пациента согласно современным методикам ЛФК.

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

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

4. Устройство должно удовлетворять современным требованиям, предъявляемым к медицинской технике (стерильность и др.).

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

Функциональная схема СВДАЧ приведена на рис. 0.1. Блоки, разработанные в диссертации, выделены пунктирной линией. В целом СВДАЧ включает: основание (1), приводы (2), устройство управления приводами (3), приспособления для фиксации ЧТЧ (4), датчики физиологического состояния (5) и угловых перемещений (6), компьютер (7), осуществляющий координацию и управление системой. Особенностью предлагаемого способа является реализация захватного типа движений. Привод фиксируется на теле человека в особых контрольных точках, исходя из физиологических особенностей организма, а конструкция привода, выполненная в виде надувных деформируемых элементов, обладает податливостью в той степени, которая обеспечивает травмо-безопасность пациента. Это позволяет использовать СВДАЧ для детей, начиная с раннего возраста.

Рабочей средой для надувания всех элементов конструкции служит воздух, поступающий от компрессора (9). Управление потоками воздуха осуществляется с помощью распределителей (10) от блока управления, которым руобработки формализации .меюшжЛЖ.

ГшраОо^ка.информадаи I' ¿С даГ'ШКОЗ угЛОВЫХ .;./.::! йерёмщряйя дальненг.епшй алалт

Анализ гот юс I и реалнипш!

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

Исполнительные устройства привода установлены на жестком основании. Приведен пример приложения сил Р!", Pj, Р/, /f, Р2к4, Ff~* в точках Dj, и Dk-i. Силы изменяются по величине, а направления их действий всегда параллельны соответствующим координатным осям. Таким образом, суммарный вектор силового воздействия изменяется по величине и направлению. В работе разработаны математические модели и алгоритмы, в которых параметры и функции искомых точек захвата определяются относительно неподвижного основания.

0.5. Цель и задачи работы

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

1. Определение способов обработки данных для формализации методик ЛФК.

2. Разработка математических моделей, алгоритмического и программного обеспечения для задачи кинематического анализа СВДАЧ - определение зависимостей изменения координат, скоростей и ускорений точек захвата во времени, при которых реализуются требуемые законы изменения углов поворотов ЧТЧ.

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

4. Определение точностных параметров реализации движений.

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

0.6. Научная новизна и практическая значимость работы

Научная новизна. Разработаны математические модели и алгоритмы кинематического, динамического и точностного анализа СВДАЧ, позволяющие обрабатывать информацию о законах изменения углов поворота ЧТЧ во времени и на этой основе синтезировать силы для реализации заданных движений в соответствии с предписанными методиками ЛФК.

Практическая значимость.

1. Создан пакет прикладных программ для проведения численного моделирования кинематического, динамического и точностного анализа и синтеза СВДАЧ для определения законов изменения величин управляющих сил.

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

0.7. Апробация работы, публикации, внедрения

Публикации. По теме диссертации опубликовано 13 работ, в том числе два учебных пособия, раздел в коллективной монографии, тезисы докладов на конференции, регистрация программы для ЭВМ в Рое А ПО. Материалы работы использованы в 3-х отчетах о НИР. Подана заявка на выдачу патента РФ на изобретение.

Основные результаты докладывались на:

- Международной конференции «Актуальные проблемы педиатрии, неотложной медицины и медицинского образования» (Челябинск, 1997);

- Уральской конференции молодых ученых «Физика в биологии и медицине» (Екатеринбург, 1998);

- Кафедре «Приборостроение» ЮУрГУ (Челябинск, 2000);

Результаты работы использую гея Федеральным государственным унитарным предприятием КБ «Медавтомa i и ка», г.Екатеринбург, при выполнения работ, связанных с международной программой «Здоровая семья» [37].

Результаты исследований используется в лекциях по курсу «Информационное обеспечение медицинских систем» в Уральской государственной медицинской академии дополнительного образования; созданный ПАК определения положения конечности человека используется на практических занятиях по дисциплине «Теория, расчет и проектирование приборов и систем» студентов 3-го курса специальности 190100, проводимых в ЮУрГУ.

0.8. Структура и объем диссертации

Диссертация состоит из аннотации, введения, 6 глав, заключения, списка литературы (92 наименования), приложения. Основной текст диссертации изложен на 144 машинописных страницах и содержит 26 рисунков и 11 таблиц; в приложение вынесено описание пакета прикладных программ, тексты исходных модулей на языке Turbo Pascal 7.0 (63 стр.) и заключения об использовании результатов диссертации.

Заключение диссертация на тему "Математические модели и алгоритмы обработки информации для управления системой восстановления двигательной активности человека"

Результаты работы используются Федеральным государственным унитарным предприятием КБ «Медавтоматика», г.Екатеринбург, при выполнения работ, связанных с международной программой «Здоровая семья».

Результаты исследований используются в лекциях по курсу «Информационное обеспечение медицинских систем» в Уральской государственной медицинской академии дополнительного образования. ПАК определения положения конечности человека используется на практических занятиях по дисциплине «Теория, расчет и проектирование приборов и систем» студентов 3-го курса специальности 1901, проводимых в ЮУрЕУ.

ЗАКЛЮЧЕНИЕ

Предложено принципиальное схемное решение по созданию системы восстановления двигательной активности человека (СВДАЧ). Приведены методы формализации методик лечебной физкультуры для обработки словесной информации о движениях с целью аппроксимации ее зависимостями углов поворотов частей тела человека (ЧТЧ) во времени; приведены два способа построения аппроксимирующих функций в зависимости от вида имеющейся информации.

Разработаны математические модели, алгоритмы и программы для задач кинематического анализа СВДАЧ, позволяющие на основе обработанной информации о законах изменения углов поворотов ЧТЧ во времени вычислять кинематические характеристики системы: проекции векторов угловых скоростей и ускорений ЧТЧ на оси неподвижной (или подвижной) системы координат (СК); координаты контрольных точек и проекции векторов скоростей и ускорений ЧТЧ на оси неподвижной СК, при которых реализуются требуемые законы изменения углов поворотов ЧТЧ. Разработаны математические модели, алгоритмы и программы для задачи динамического анализа и синтеза СВДАЧ, позволяющие вычислять необходимые величины силовых управляющих воздействий для отработки движений, характеризуемых методиками ЛФК, а также определять силы реакций в суставах и мощность привода, обеспечивающего требуемые движения.

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

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

Библиография Овсяницкая, Лариса Юрьевна, диссертация по теме Системы обработки информации и управления

1. Алексеев В.М., Тихомиров В.М., Фомин C.B. Оптимальное управление. -М.: Наука, 1979.-432 с.

2. Аш Ж. и др. Датчики измерительных систем. Кн.1. Пер. с франц. М.: Мир, 1962.-с. 342-398.

3. Афанасьев В.П., Колмановский В.Б., Носов В.Р. Математическая теория конструирования систем управления. М.: Высшая школа, 1998. - 574с.

4. Бадалян Л.О., Журба Л.Т., Тимонина О.В. Детские церебральные параличи-Киев:Здоровье,1988-328 с.

5. Банди Б. Методы оптимизации. Вводный курс: Пер. с англ. М.: Радио и связь, 1988. - 128 с.

6. Батков A.M. и др. Методы оптимизации в статистических задачах управления. М.: Машиностроение, 1974. - 240 с.

7. Бесекерский В.А., Попов Е.П. Теория систем автоматического регилирования. М.: Наука, 1975. - 768 с.

8. Бесекерский В.А. Цифровые автоматические системы. М.: Наука, 1976. -576 с.

9. Бессонов A.A. и др. Методы и средства идентификации динамических объектов. Л.: Энергоатомиздат, 1989. - 280 с.

10. Биомеханика. Профилактика, патогенез и лечение травм и ортопедических деформаций. Труды Рижского НИИ травматологиии и ортопедии: Выпуск XIII, Рига, 1975. И.З. Гольденштейн. Регуляция движений по заданной программе.

11. П.Болтянский В.Г., Гамкрелидзе Р.В., Понтрягин Л.С. К теории оптимальных процессов // Доклады АН СССР, т. 110, 1956, № 1.

12. Болтянский В.Г. Математические методы оптимального управления. М.: Наука, 1969.-408 с.1 '3 V5 О

13. Болтянский В.Г. Оптимальное управление дискретными системами. М.: Наука, 1973.-448 с.

14. Большая медицинская энциклопедия М.: Советская энциклопедия, 1977, Т.7.-с. 567-603.

15. Брайсон А. Прикладная теория оптимального управления: Пер. с англ. -М.: Мир, 1972. 544 с.

16. Варман Б.Г., Бортфельд С. А., Мовсиянц С. А. Опыт применения направленной двигательной коррекции в комплексном лечении ДЦП в условиях специализированного санатория: Вопросы охраны материнства и детства, Ж2, 1985, Москва, Медицина.

17. Василевский H.H., Яковлев Н.М. Системы с биорегулируемыми обратными связями в клинике. Адаптивная тренировка, компенсации и коррекции патологически измененных функций. М.Медицина, 1977.

18. Васильев Ф.П. Численные методы решения экстремальных задач. 2-е изд. -М.: Наука, 1988.- 552 с.

19. Войтенков И.Н. Методы и средства дифференциального оценивания и идентификации моделей. Киев: Наукова думка, 1989. - 2.88 с.

20. Воронов A.A. Устойчивость, управляемость, наблюдаемость. М.: Наука, 1979. - 336 с.2'¡.Воронов A.A., ред. Анализ и оптимальный синтез на ЭВМ систем управления. М.: Наука, 1984. - 344 с.

21. Гроп Д. Методы идентификации систем: Пер. с англ. М.: Мир, 1979. 304 с.

22. Егоров К.В. Основы теории автоматического регулирования. 2-е изд. -М.: Энергия, 1967. - 648 с.

23. Каталог фирмы Ohtagon System Solution. 1995 г.

24. Клинический инкубатор ICB-T41. Изготовитель: Акционерное общество электромедицинского и ри боро-строе i i и я "Медикор", г. Будапешт.

25. Коренев Г.В. Введение в механику управляемого тела. М.: Наука, 1964568 с.

26. Коренев Г.В. Введение в механику человека. М.: Наука, 1977. 263 с.

27. Коренев Г.В. Цель и приспособляемость движения. М.: Наука, 1976. - 528 с.

28. Красикова И.С. Энциклопедия массажа. С.-Петербург: Кристалл, 1996. -448 с.

29. Красовский A.A., ред. Справочник по теории автоматического управления. -М.: Наука, 1987.-712 с.

30. Круг Г.К. и др. Планирование эксперимента в задачах идентификации и экстраполяции. М.: Наука, 1977. - 208 с.

31. Лебедев А.Н. и др. Методы цифрового моделирования и идентификации стационарных случайных процессов в информационно-измерительных системах. Л.: Энергоатом-издат, 1988. - 64 с.

32. Лернер А.Н. и др. Оптимальное управление. М.: Энергия, 1970. - 360 с.

33. Лурье А.И. Аналитическая механика.-М.: Физматиз, 1961.-824 с.

34. Льюнг Д. Идентификация систем. Теория для пользователя: Пер. англ. / Под ред. ЯЗ. Цыпкина. М.: Наука, 1991. - 432 с.

35. Мастюкова Е.М. Физическое воспитание детей с ЦП. Младенчество, ранний и дошкольный возраст.-М.: Просвещение, 1991.-159с.:ил.

36. Международная программа «Здоровая семья». Бизнес план. Ред. Юсупов В.А.- Екатеринбург, КБ «Медавтоматика», 1999.

37. Мелентьев Ю.И., Телегин А.И. Динамика манипуляционных систем роботов Иркутск: Изд-во Иркут. ун-та, 1985. - 352 е., ил.

38. McLean, A.M. Ahmed. Design and Development of an Unconstrained Dynamic Knee Simulator, 1993, ASME, J. of Biomechanical Engineering, Vol 115, p. 144148.

39. Овсяницкая Л.Ю. Система биомеханической стимуляции мышц человека // Уральская конференция молодых ученых "Физика в биологии и медицине": Сб. науч. работ Екатеринбург, Уральский государственный университет, 2-4 марта 1999,-С. 40-41.

40. Перельман И.И. Оперативная идентификация объектов управления. М.: Энергоиздат, 1982. - 272 с.

41. Понтрягин Л.С. Математическая теория оптимальных процессов. М.: Наука, 1976.-392 с.46 .Попков Ю.С. и др. Идентификация и оптимизация нелинейных стохастических систем. М.: Энергия, 1976. - 440 с.

42. Розенвассер E.H., Юсупов P.M. Чувствительность систем управления. М.: Наука, 1981.-464 с.

43. Ройтенберг Я.Н. Автоматическое управление. 2-е изд. - М.: Наука, 1978. - 552 с.

44. Рубекинг Н. Турбо Паскаль для Windows. Том 1. Пер. с англ. М.; Мир, 1993.-536 с.

45. Рубекинг Н. Турбо Паскаль для Windows. Том 2. Пер. с англ. М.: Мир, 1993.-552 с.

46. Сейдж ЭЛ. и др. Оптимальное управление системами: Пер. с англ. М.:

47. Радио и связь, 1982. 392 с.

48. В.А. Сергеев, Б.В. Чижов. Использование тренажеров в лечении детей: Вопросы курортологии, физиотерапии и лечебной физкультуры, М., Медицина, №2,1993

49. Сильвестров и др. Идентификация и оптимизация автоматических систем. -М.: Энергоатомиздат, 1987. 200 с.

50. Система мониторинга физиологических функций Cardiocap TM 2. -Руководство по эксплуатации № 880900-2. Фирма Datex. Instrument Corp. P.O. Box 446, SF-00101, Helsinki Finland. 1993.

51. Сергиевский M.B., Шалашов A.B. Турбо Паскаль 7.0: Язык, Среда программирования. М.Машиностроение.-!996. -254 с.

52. Семенова К. А. Лечение двигательных расстройств при детских церебральных параличах.-М.: Медицина, 1976.-184 с.

53. Семенова К.А., Мастюкова Е.М., Смуглин М.Я. Клиника и реабилитационная терапия детских церебральных параличей.-М.: Медицина, 1972.-328 с.

54. Семенова К.А., Штеренгерц А.Е., Польский В.В. Патогенетическая восстановительная терапия больных церебральным параличем.-Киев: Здоров'я, 1986.-167 с.

55. Сиразетдинов Т.К. Методы решения многокритериальных задач синтеза технических систем. М.: Машиностроение, 1988. - 160 с.

56. B.B. Текорюс Лечение двигательных нарушений у детей с церебральным параличом: Журнал невропатологии и психиатрии им. С.С. Корсакова, том 84, М.: Медицина, 1984

57. Телегин А.И. Системы твёрдых тел. Математическое обеспечение решения задач механики и управления. Часть 1. Челябинск: ЧГТУ, 1994. - 172 с.

58. Третье измерение.: Компьютер Пресс, №1, 1998, Москва, Компьютер Пресс.

59. Ус Л.Ю. Задача анализа точности реализации движений конечностей человека для системы биомеханической стимуляции мышц человека/УЭлементы и приборы систем управления: Тем. сб. науч. тр. -Челябинск: ЧГТУ, 1996. с. 121-125.

60. Фаненштих К., Хаселир Р. Универсальная версия Windows for Workgroups 3.11: Практ. пособие / Пер. с нем. М.: ЭКОМ.,1995,- 416 с.

61. Фаронов В.В. Основы Турбо Паскаля. М.: Учебно-инженерый центр "МВТУ-ФЕСТО ДИДАКТИК", 1992. - 304 с.

62. Флеминг У. и др. Оптимальное управление детерминированными и стохастическими системами: Пер. с англ. М.: Мир, 1978. - 320 с.

63. Фрайзен П., ред. Микрокомпьютеры в физиологии. Пер. с англ. H.H. Алипова. Под ред. Б.А. Бабаяна. М.: Мир, 1990. - с. 265 - 268.

64. Черноруцкий Г.С., Сибрин А.П., Жабреев B.C. Следящие системы автоматических манипуляторов / Под ред. Г.С. Черноруцкого- М.: Наука, гл. ред. физ.-мат. лит., 1987. 272 с. - (Научные основы робототехники).

65. Штейнберг Ш.Е. Идентификация в системах управления. М.: Энергоатомиздат, 1987. - 80 с.71 .Штеренгерц А.Е. Лечебная физкультура и массаж при заболеваниях и травмах нервной системы у детей Киев: Здоров'я, 1989. 186 с.

66. Щипицын А.Г. Обработка информации в инерциальных навигационных системах-Челябинск. ЧГТУ, 1995, 4.1.-196 с.

67. Щипицын А.Г., Коваленко В.В. и др. К разработке математической модели движения частей тела новорожденного на основе методики лечебной физкультуры-Рукопись предст. Челяб. гос. техн.ун м. Деп. в ВИНИТИ 6.09.95 N2351-B95.-33c.

68. Щипицын А.Г., Овсяницкая Л.Ю. Математическая модель, алгоритмы и программа динамического анализа привода блока системы биомеханической стимуляции мышц человека. Рукопись предст. Юж. -Уральским ун-м. Деп. в ВИНИТИ 06.09.99 N 2777-В99.-27с.

69. Щипицын А.Г., Овсяницкая Л.Ю. Математическая модель, алгоритмы и программа синтеза управления приводом блока системы биомеханическойстимуляции мышц человека. Рукопись предст. Юж. -Уральским ун-м. Деп. в ВИНИТИ 15.10.99 Ж3091-В99.-9 с.

70. Щипицын А.Г., Овсяницкая Л.Ю., Чернецкая И.В. Система биомеханической стимуляции мышц человека (динамический синтез):Учебное пособие. Челябинск:Изд-во ЮурГУ, 1998. - 142с.

71. Щипицын А.Г., Овсяницкая Л.Ю., Чернецкая И.В. Синтез системы биомеханической стимуляции мышц человека для лечения церебрального паралича. Рек.-тех. описание по теме № 0098139 (грант "Университеты России"), № гос.рег. 01.980006976, инв. № 02.990003864.

72. Щиттиттын А.Г., Ус Л.Ю. К задаче кинематического анализа системы двух шарнирно связанных тел. -Рукопись предст. Челяб. гос. техн.ун-м. Деп. в ВИНИТИ 12.06.96 N 1202-В96-23с.

73. Щипицын А.Г., Коваленко В.В., Юсупов В .А., Батретдинов Н.Ш., Овсяницкая Л.Ю. Способ и устройство системы биомеханической стимуляции мышц и восстановления двигательных функций. Заявка на выдачу патента РФ на изобретения.

74. Щипицын А.Г., Щипицын П.Г., Кацай Д.А., Ус Л.Ю. и др. Разработка математических моделей для задач синтеза лечебно-диагностических систем: тема №29.97; № гос.рег. 01.970002852; инв. № 02.980002428.144

75. Щипицын А.Г., Коваленко В.В., Юсупов В.А., Ус Л.Ю. Система биомеханической стимуляции мышц человека. Математические модели и алгоритмы анализа Челябинск:ЧГТУ, 1997-142с.

76. Цыпкин ЯЗ. Основы информационной теории идентификации, М.: Наука, 1984.-320 с.

77. Цыпкин Я.З. Основы теории автоматических систем. М.: Наука, 1977. 560 с.

78. Чаки Ф. Современная теория управления.-М.: Мир, 1975. 424с.

79. Эйкхофф П. Основы идентификации систем управления: Пер. с англ. М.: Мир, 1975.-688 с.

80. Эйкхофф П. и др. Современные методы идентификации систем: Пер. с англ. М.: Мир, 1983.-400 с.

81. Юревич Е.И. Теория автоматического управления. «Энергия», 1975-416с.

82. Яковлев Н.М., Сметанкин A.A. Применения портативных приборов с электромиографической обратной связью в функциональном лечении больных с ДЦП: методические указания к использованию приборов «Сигнал-КД» и «Миотоник-02». НПО «Биосвязь», С-Пб., 1994.

83. Янг Л. Лекции по вариационному исчислению и теории оптимального управления: Пер. с англ. М.: Мир, 1974 - 488 с.

84. П1. Исходный текст программы аппроксимации функции методомнаименьших квадратов

85. Program UlMinSqu; Uses WinCRT; Typeft=Array1.100. of Real; at=AiTay[1.3,1 .2] of Real; bt=Array[1.3] of Real; ut=Array[1.2] of Real; Label 1;

86. Var w,d,d(),dl ,d2,c0,cl ,c2,r,r0,ro,radl ,rad2,rad:Real; t,f,fi,ir,uul,uu2:ft; i,kj:lnteger; a:at;b:bt;fl:text; s,ss,kk,sl,s2,s3,s4:string; tt:real; c,cc,c,gJi:intcgcr;u:ut; Begin ClrScr;

87. For i:=0 to 30 do begin t1.:=i;f1.:=1.6*sin(l *ti.)+l ,21*cos(l *t[i]);cnd;w:=0.1;j:=0;1: FillChar(a, Sizcof(a),())', FillChar(b,Sizeof(b),0); r:=0;r0:=0;

88. ПЗ. Состав пакета прикладных программ БИОМЕХАНИКА

89. Для запуска программы необходимо подвести курсор к файлу new.exe и нажать Enter. На экране появится заставка к программе.

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

91. Запуск программы на выполнениекинематического, динамического иточностного анализадвижения частей тела человека1. Авторы:1. Щипицын А.Г. Ус Л.Ю.1. Меню выбора режима работы

92. Меню выбора режима работы включает в себя следующие пункты: > Движение частей тела человека Движение руки человека Выход в DOS

93. Активный элемент меню выделяется значком ">" контрастного цвета и мигающим курсором. Переход и выбор нужного пункта осуществляется клавишами управления курсором и нажатием Enter.

94. Выход из программы осуществляется выбором пункта "Выход в DOS" и нажатием Enter.

95. После выбора первого или второго пункта на экране появится основное меню:

96. Данные Кинематика ,Динамика Точность Графика Выход

97. Выбор подпункта осуществляется нажатием кнопки с буквой, выделенной на экране контрастным цветом. Неверное нажатие сопровождается звуковым сигналом.

98. Рассмотрим подробнее каждый подпункт основного меню.

99. Подпункт "Данные" основного меню

100. Выбрав данный подпункт, вы попадаете в следующее подменю:

101. Данные Кинематика Динамика Точность Графика Выход

102. Ввод новых данных Просмотр введенных данных Вывод результатов на экран / принтер

103. Xi-длины плеча; Х2-длины предплечья;

104. Х3, Х4—функций Ui(t), U2(t);

105. Х5,Х6~ производных по времени функций U.(t), U2O:);

106. Подпункт "Вывод результатов на экран / принтер предназначен для изменения режима отображения информации.

107. Вывод результатов на экран / принтер

108. Вывод на экран I Вывод на принтер

109. Подпункт "Кинематика" основного меню

110. После вывода всей информации вы возвращаетесь в основное меню. Вычисленные результаты хранятся в файлах:

111. Еои^х^кинематические характеристики движения ЧТЧ; Fff.txt- кинематические характеристики движения руки человека.

112. Подпункт "Динамика" основного меню

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

114. Определение законов движения тел в данной версии программы не предусмотрено.

115. Подпункт "Точность" основного меню

116. В подпункте "Точность" основного меню вычисляются точностные характеристики движения руки человека. Вычисление точностных характеристик движения ЧТЧ в данной версии программы не предусмотрено.

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

118. Т-время; Щ1., Ух], \\ф]-проекции соответственно радиуса-вектора, скорости и ускорения точек;

119. Я01., У01., \¥0 [^-относительные погрешности определения соответственно радиуса-вектора, скорости и ускорения точек ;

120. Л, V, ^-модуль радиуса-вектора, скорости и ускорения точек;

121. Подраздел "Графика" основного меню

122. Выбрав подраздел "Графика" основного меню, вы попадаете в следующее подменю:энные Кинематика Динамика Точность Графика Выход

123. Погрешность определения радиуса-вектораскорости.■ ускорения.

124. Представление движения руки человека

125. Реакции опор (1 вариант) мах00. 05 0. 030.00-0.45-0.80-0.800.000.80

126. Рис. 1. Фрагмент работы программы

127. Подраздел "Выход" основного меню

128. Раздел служит для изменения режима работы программы или выхода в DOS. Нажатие кнопки, выделенной контрастным цветом, позволяет войти в меню выбора режима работы.

129. Способ математического описания методики лечебной физкультуры

130. Для создания собственного описания методики ЛФК и адаптации ее к созданной программе, необходимо выполнить следующий алгоритм:

131. Зайти в интегрированную среду Borland Pascal и вызвать файл Fimct.exe , в котором находятся уже созданные описания методик.

132. PPRZYfJ. вторая производная радиус-вектора Rzy=OzOv;-RYXJ,P. радиус-вектор Ryxp=OyOxp;-PRYXJ,P.- первая производная радиус-вектора Ryxp=OyOxp;-PPRYXJ,P.- вторая производная радиус-вектора Ryxp=OyOxp;-RXVJ,P.- радиус-вектор Rxvp=OxpOvp;

133. PRXVJ,P. первая производная радиус-вектора Rxvp=OxpOvp;-PPRXVJ,P.- вторая производная радиус-вектора Rxvp=OxpOvp; 3. Нажать F3 для компиляции модуля FUNCT, в который внесены изменения, и выявления возможных ошибок.

134. Открыть файл NEW.Pas и нажать Ctrl+F9 для запуска программы на выполнение и создание ехе-файла.

135. Выйти из среды Borland Pascal и запустить программу на выполнение (файл New.exe). Сейчас на запрос "Введите номер методики лечебной физкультуры" вы вводите цифру подпункта "Собственная методика лечебной физкультуры".

136. Исходный текст пакета прикладных программ «Биомеханика»1. PROGRAM NEW;

137. Uses Graph,Crt.TPY.Newl ,New2,Nevv3; BEGIN dr:=9; md:=2;1.i t Gra p h (d r, m d, 'c: \bp\bgi'); Graphdefaults; ClearDevice; Setcolor(11); SetFillStyle(i,Il); SetBkColor(9); I:=70;J:=420; While I<250 do begin Line(i j,(640-i)j); j:=j-l;i:=i+l; End;

138. Ваг30(70,420,570,60,35,тор0п);1. SetTcxtStyle(0,0,3);1. Setcolor(O);

139. OutTextX Y(200,100,'Про1рамма'); SetTextStyle(0,0,2);

140. OutTextXY(80,150,"кинематического, динамического");1. OutTe)itXY(300,180,'и');

141. OutTextX Y(160,210, хочносшо! о анализа');

142. OutTextXY(240,240,"движения*);

143. OutTextXY(160,270,'частей тела человека 'J;

144. OutTextXY(70,310,'--------------------------------');

145. Out TextXY(l 30,358,'авторы:"); Out TextXY(310,343,"Щипицын А.Г."); OutTextXY(310,380,rYc Л.Ю.1); Sound(llO); delay(40); NoSound; ReadKey; i:=70y:=60;

146. Clear Device; Seteolor(l); SctFillStyle(l,l); Bar(0,0,640,480); Setcolor(7); SetFillStyle(l ,7); Bar(0,0,630,18); Setcolor(15); Rectangle(0,25,630,470); Rectangle(2,27,628,468); Set Text Style(0,0,1); Setcolor(O);

147. OutTcxlXY(20,7,'BO/ данных); OiitTextXY(13(),7,'nHCMa'mKa'): OutTextXY(235,7,'nHaMiiKa'); OutTextXY(325,7,'o4Hocib'); Out TcxtXY(420,7,'рафика'); OutTextXY(510.,7,'Вых'); On t Text XY(540.7, 'д');

148. Setcolor(ll); OutTcxtXY(10,7;'B'); OutTextXY(120,7,'K'); OutTextXY(225,7,7I') Out TextXY(315,7,T); OutTextXY(415!7,T'); 0utTextXY(533,7,*0'); Ln:=ReadKey; Case Ln of

149. B':Men2InpData; 'd':Men2InpData;1. K':KinCalk; 'r':KinCalk;flYDinara; T:Dinam;lYErrCalk; 'n':ErrCalk;

150. T':Men2Graph; V:Men2Graph;0':PreMen; f.PreMen;

151. Else Begin Sound(l 10); delay(90); NoSound;1. Menu; End; End; End;1. Procedure Men2InpData;1. Begin

152. Setcolor(7); SetFillStyle(l,7); Bar(50,43,300,100); Sctcolor(O); On t Text X Y (65,53, 'вод новых данных); OutTextXY(65,75,'pocMOTp введенных данных);

153. Mark=0 then goto 1; Setcolor(7); SetFfflStyle(l,7); Bar(250,43,600,130); Setcolor(O); OutTextXY(265,55,'Погрешность определения адиуса-вектора ); OutTextXY(483,75,,KopocTH'); Out Text XY(4H3,95,'cKopciin.q');

154. Else Begin Sound(l 10); delay{90); NoSound; 1: Menu; End; End; End; Procedure GrError; Label 1,2,3; Const

155. Color 1 = 13;Color2= 15; Begin

156. U1.:=U0I.*pi/l 80+UA[Ij*pi/l 80*Sin(Q[I]*pi/l 80*S I+F1.*pi/i 80); PU[I]:=UA[I]*pi/I80*Q[I]*pi/180*Cos(Q[I]*pi/180*Sl+F[I]^>i/180); PPU[I]:=-UAtI]^i/180*Q[I]^i/I80*Q[I]^i/180*Sin(Q[I]^i/180*SI+F[I]''pi/ISO); End;

157. Abs(Ul.)>Abs(MXUl) Then MXU1:=U1.; If Abs(U[2])>Abs(MXU2) Then MXU2:=U[2]; If Abs(PU[l])>Abs(MXPUl) Then MXPU1 :=PU[1]; If Abs(PU[2])>Abs(MXPU2) Then MXPU2:=PU[2];

158. Abs(PPUl.)>Abs(MXPPUl) Then MXPPU1:=PPU1.; If Abs(PPU[2])>Abs(MXPPU2) Then MXPPU2:=PPU[2]; S1:=S1+TT; End;

159. ZU1.:=MXU1; ZU2.:=MXU2; ZPU[1]:=MXPUI; ZPU[2]:=MXPU2; ZPPU[1]:=MXPPUI; ZPPU[2]:=MXPPU2; T0:=T;

160. While T0<TL Do Begin For i:=l to 2 Do Begin

161. U1.:=U0I.^i/180+UA[I]*pi/180*Sm(Q[l]*pi/180*T0+F[I]*pi/180); PU[I]:=UAfI]^i/180*Q[I]*pi/180*Cos(Q[I]*pi/180*T0+F[I]*pi/180); PPU[I]:=-UAH^i/180*Q[I]^i/180*Q[I]^i/180*Sm(Q[I]*pi/180*T0+F[I]*pi/180); End;

162. BB; ABCD; If w<0.01 then goto 2; ERROR; M:=(trunc(80+(550/TL)*T0)); Case Flag of LGrErKrd; 2:GrErSp; 3:GrErAcs; End; 2: T0:=T0+TT;1. M>550 Then Goto 3; End;3: ReadKey;

163. Flagl = l Then TT:=TT*20; Menu; End; Procedure GrErKrd; Const

164. Color 1 = 13;Color2= 11; Begin

165. PutPixel (trunc(80+(550/TL)*T0),truttc(400-((400/2)*(rr))),color 1); PutPixel (trunc(80+(550/TL)*T0),trunc(400-((400/0.4)*(rp))),color2); End; Procedure GrErSp; Const

166. Color 1 = 13;Color2= 11 ; Begin

167. PutPixel (trunc(80+(55O/TL)*TO),trunc(400-((400/4)*(vv))),color 1); PutPixel (trunc(80+(550/TL)*T0),trunc(400-((400/0.4)*(vp))),color2);1. End;1. Procedure GrErAcs; Const

168. Color 1 = 13;Color2= 11; Begin

169. Put Pixel (trunc(80+(550/TL)*T0),trunc(400-((400/9)*(ww))),colorl); Put Pixel (trunc(80+(550/TL)*T0),trune(400-((400/0.4)*(wp))),color2); End;1. Procedure GoodBuy; Begin

170. RestoreCRTMode; Window(l ,1,80,25); TextBackGround(blue);

171. For i:=l to 100 Do Begin WriteLn(''); End; \Vmdow(l 5,5,80,20):

172. Text Color(Yellow); WntcLn('BBc;imc длину плеча*);

173. Read(Ll.); WriteLn("BBe,nnTe длину предплечья1);

174. Read(L2J); Writ сLn('Введите начальное значение времени, сек');

175. Read(T); WriteLn ('Введете конечное значение времени, сек');

176. Read(TL); WriteLn("Введите значение временной дискреты, сек");

177. Read(TT); WriteLn("BBC,mi e значение амплшуды движения плеча (рад)1);

178. Read(UAl .); WriteLn ("Введите значение амплитуды движения предплечья (рад)");

179. Read(UA2.); WriteLn(' 'Введите значение начального угла плеча (рад');

180. Read(U0l.); WriteLn("Введите значение начального угла предплечья (рад');

181. Read(U02.); WritcLiiC'BBe^mie значение частоты движения плеча (рад');

182. Read(Ql.); Wntcl л1("'Введнте значение частоты движения предплечья (рад');

183. Read(Q2.); Writе Ln (' Вве tiне значение погрешности XI');

184. Read(KPl.); WriteLn(' Введите значение погрешности Х2');

185. Read(KP2.); WriteLn(' Введате значение погрешности ХЗ);

186. Read(KP3.); WriteLn(' Введите значение погрешности Х4');

187. Read(KP4.); WriteLn(' Введите значение погрешности X5');

188. Read(KP5J); WriteLn(' Введите значение погрешности Х6');

189. Read(KP6.); WriteLn(' Введите значе1ше погрешности Х7');

190. Read(KP7.); WriteLn(' Введите значение погрешности Х8);1. Read(KP8.); WriteLn;

191. WriteLnf Спасибо !'); ReadKey;

192. SetGraphMode(GetGraphMode);1. Flag 1:=1; Menu; End;1. Procedure SccSData;1.bel 1;1. Begin

193. KP1.:=0.04; KP2.:=0.04; KP[3]:=0.04; КР[4]:=0.04; КР[5}:=0.04; КР[б]:=0.04; КР[7]:=0.04;кР[8]:=0.04; TextColor(Yellow); Read(L[l]); Read(UA[2]>; WriteLn(');

194. Read(UOl}>; WriteLn("BBe;jjíTe; Read(U0[2.>; ШгйеЬп("Введате (рад');

195. Read(QlJ); Шп1еЬп("Введцте значение частоты движения предплечья (рад'); Read(Q[2.); WriteLn('BBc;i,HTC значение погрешности XI); Read(KP[I j); WriteLnC Введите Х2);

196. Unit NEW2; INTERFACE Procedure KinCalk; Procedure ErrCalk; IMPLEMENTATION

197. Uses Graph,€rt,TPY,ABC,PPBB,ERR,Newl ,NewMec; Pi ocedure KjnCalk; Label 1,2; Begin

198. Mark=0 Then Begin LKinCalk;{Menu}goto 2;End; RestoreCRTMode; Window(l, 1,80,25); TextBackGround(blue); For i:=l to 100 Do Begin WriteLnC End; Window(15,1,80,9); TextColor(Yellow);

199. WriteLnC Значения векторов координат, скоростей, ускорений точки М); WriteLnC11 их модулей в зависимосш от утлов Ui);1. WriteLnC');

200. WriteLnC! T,cek ! и1,рад ! R1,m ! VI,м/с ! WÍ,m/c*c !); WriteLnC! ! и2,рад ! R2,m ! V2,m/c ! W1,m/c*c !);

201. WriteLn('! ! ! R,m ! V,m/c ! W,m/c*c !);1. WriteLnC!!!!!!);

202. Window(l5,9,80,25); If Flagl=l Then Goto 1; T:=0; tt:=0.2;tl:=5; L1.:=0.45;L2.:=0.35; U0[I]:=-75; U0[2]:=0; UA[I]:=120; UA[2]:=I40; Qtl]:=45; Q[2]:=45; F1.:=0;F[2]:=0; 1: K:=0;T0:=T; While T0<TL Do Begin For i:=l to 2 Do1. Begin

203. U1.:=U0I.^i/180+UA[I]^i/180*Sm(Q[I]^i/180*T0+F[I]*pi/180); PU[I]:=UAH^i/l 80*Q[I] *pi/l 80*Cos(Q[I] *pi/l 80*T0+F[I}^)i/l 80); PPU[I]:=-UA[I]*pi/l 8 0 * Q [I] *pi/180 *Q [I] *pi/180*Sin(Q[I]*pi/l 80*T0+F[I]*pi/l 80); End;1. K:=K+1;

204. K>3 Then Begin K:=0; ReadKey; ClrScr; End; BB;

205. WriteLn(T0:8:3,Ul.: 11:3,R1.: 11:3,V£1}: 11:3,W[1]:11:3); WriteLn(U[2}: 19:3,R[2]: 11:3,V[2}: 11:3,W[2]: 11:3); WriteLn(RR:30:3,W: 11:3,WW: 11:3); WriteLnf);1. T0:=T0+TT; End; ReadKey;2: SetGraphMode(GetGraphMode); Menu; End;

206. Procedure ErrCalk; Label 1,2,3; Begin

207. Mark=0 Then goto 3; RestoreCRTMode; Window(l, 1,80,25); TextBackGround(bIue);

208. For i:= 1 to 100 Do Begin WriteLnf ); End;

209. Window(15, t ,80,10); TcxtColor(Yellow);

210. WriteLnC Значения проекций и модуля векторов ');

211. WriteLn(' координат, скоростей и ускорений ');

212. WriteLnC точки М и их относительных погрешностей');1. WriteLnC');

213. WriteLnC! Т, ! Rl. ! RO[l] ! V[l] ! VO[l] ! W[l] ! WO[l] !); WriteLnC! cek ! R[2] ! RO[2] ! V[2] ! VO[2] ! W[2] ! WO[2] !'); WriteLn('! ! R ! RO ! V ! VO ! W ! WO !');

214. WriteLn('! ! m ! ! ra ! ! m/c*c ! !);1. WriteLnC!!!! !!!!');

215. U1.:=U0I.*pi/l 80+UA[I]*pi/l 80*Sin(Q[I]*pi/l 80*Sl+F[I]*pi/l 80); PU[I]:=UA[I]*pi/180*Q[I]*pi/180*Cos(Q[I]*pi/180*Sl+F[I] ^pi/180); PPU[I]:=-UA[I]*pi/l 80*Q[I]*pi/l 80*Q[I]*pi/l 80*Sin(Q[I]*pi/l 80*S 1 +F[I]*pi/l 80); End;

216. ZU1.:=MXU1; ZU2.:=MXU2; ZPU[1]:=MXPU1; ZPU[2]:=MXPU2; ZPPU[1]:=MXPPU1; ZPPU[2]:=MXPPU2; T0:=T;

217. While T0<TL Do Begin For i:=l to 2 Do Begin

218. U1.:=U0I.^i/180+UA[I]^i/180*Sm(Q[I]*pi/180*T0+F[I]*pi/180); PU[I]:=UA[I]*pi/180*Q[I]*pi/180*Cos(Q[I]*pi/180*T0+F[I}*pi/180); PPU[I]:=-UA[I]^i/180*Q[I}^i/18O*Q[I]^i/180*Sm(Q[I]^i/180*TO+F[I]^i/18O); End;

219. Flag2:=Flag2+l; If Flag2>2 Then Begin Flag2:=0; ReadKey; ClrScr; End; BB; ABCD; Ifw<0.01 then goto 2; ERROR;

220. WriteLn(T0:6:3,Rl.:10:3,RPM[l]:8:3,Vfl]:8:3,VPM[l}:9:3,W[l]:8:3,WPM[l]:9:3);

221. WriteLn(R2.:16:3,RPM[2]:8:3,V[2]:8:3,VPM[2]:9:3)W[2]:8:3,WPM[2]:9:3);

222. WriteLn(RR:16:3,RP:8:3,VV:8:3,VP:9:3,WW:8:3,WP:9:3);1. WriteLnO;2: T0:=T0+TT; End;1. ReadKey;3: Set GraphMode(Gct GraphMode); Menu; End; BEGIN END. Unit New3; INTERFACE Procedure GrRepr; Procedure Add; IMPLEMENTATION

223. Uses Graph,Crt.TPY, ABC,PPBB,ERR,New2,New 1; Procedure GrRepr; Label 1,2,3; Begin

224. U1.:=U0I.*pi/180+UA[I]*pi/180*Sin(Q[I]*pi/180*tl+F[I]); PU[I]:=UA[I]*pi/180*QfI]*pi/180*Cos(Q[I]^pi/180*t2+F[I]); PPU[I]:=-UA[I]>!pi/180*Q[I]*pi/180*Q[I]*pi/180*Sin(Q[I]*pi/180*Sl+F[I]); End;

225. Ul.:=UAfl]*pi/180*Sin(-Q[l]*pi/180:f;Tl)-U0[l]*pi/180; U[2]:=UA[2]*pi/I80*Sin(-Q[2]*pi/l 80*T2)-U0[2]*pi/I80; BB;1. ABCD; ERROR;

226. Str(-ul.:6:2,Sosl); Str(-u[2]:6:2,Sos2); Str(t:4:l,Sos3);

227. U1.:=U0I.*pi/l 80+UA[I]*pi/l 80*Sin<Q[I]*pi/l 80*S 1 +F[I]*pi/l 80); PU[I]:=UA[l]*pi/l 80*Q[I]*pi/l 80*Cos(Q[I]*pi/l 80*S1 +F[I]*pi/l 80); PPU[I]:=-UAfI]*pi/l 80*Q[I]*pi/l 80*Q[I]*pi/l 80*Sin(Q{I]*pi/l 80*S1 +F[I]*pi/l 80); End;

228. ZU1.:=MXU1; ZU2.:=MXU2; ZPU[1]:=MXPU1; ZPU[2]:=MXPU2; ZPPU[1]:=MXPPU1; ZPPU[2]:=MXPPU2; T0:=T;

229. While T0<TL Do Begin For i:=1 to 2 Do Begin

230. U1.:=U0Ij*pi/l 80+UA[I.*pi/l 80*Sin(Q[I]*pi/ 180*TO+F[I]*pi/l 80); PU[I]:=UA[I]*pi/l 80*Q[I]*pi/l 80*Cos(Q[l]*pi/l 80*TO+F[I]*pi/l 80); PPU[I]:=-UA[I]*pi/180*Q[I]^i/180*Q[I]*pi/180*Sm(Q[I]*pi/180*TO+F[I]*pi/18O); End; BB;1. ABCD; ERROR;

231. T0:=T0+TT; End; End; BEGIN END. UNIT ABC;

232. TERFACE Uses TPY,PPBB; Procedure ABCD; IMPLEMENTATION Procedure ABCD; Begin

233. A1,1,1,1.:=-SIN(U1.); A[l,l,l,2]:=0; A[1,1,2,1]:=-SIN(U[1]+U[2]); A[1,1,2,2]:=-SIN(U[l]+U[2]); A[2,1,1,l]:=COS(U[l]); A[2,1,1,2]:=0; A[2,l,2,l]:=COS(U[l]+U[2]); A[2,l,2,2]:=COS(U[l]+U[2J); PA[I,l,I,I]:=-PU1.*COS(U[l]); PA[l,l,l,2j:=0;

234. PAl,t,2,I.:=-(PU1.+PU[2])*COS(U[I]+U[2]); PA[t,t,2,2]:=-(PU[l]+PU[2])*COS(U[l]+U[2]); PA[2,1,1,1]:=-PU1.*SIN(U[1]); PA[2,1,1,2}:=0;

235. USES FUNCT,UTYPE,GNCOS; Procedure DNC; IMPLEMENTATION Procedure DNC; Begin

236. GETC2(CX,iCX);GETC2(CL,iCL);GETC2(CN,iCN);GETC2(CV,iCV); GETC2(DXL,iDXL);GETC2(DLN,iDLN); GETC2(DNV,iDNV);GETC2(DXN,iDXN); GETC2(DLV,iDLV);GETC2(DXV,iDXV);

237. DYZAJ,I,N,K.:=DZYA[I,J,K,N]; End; End; End; End; GETC2(DLX,iDLX); GETC2(DNL,iDNL); GETC2(DVN,iDVN); Fori:=lto3Do Begin Forj:=lto3Do Begin. Fork:=0to3Do Begin

238. For p:=1 to 5 Do Begin For n:=0 to 3 Do Begin DLXAJ,I,P,N,P,K.:=DXLA[I,J,P,K,P,N]; DNLA[J,I,P,N,P,K]:=DLNAfI,J,P,K,P,N]; DVNA[J,I!P,N!P!K]:=DNVA[I,J!P)K,P,N];

239. End; End; End; End; End; PUTC2(DXL,iDXL);PUTC2(DLX,iDLX); PUTC2(DLN,iDLN);PUTC2(DNL,iDNL); PUTC2(DNY,iDNV);PUTC2(DVN,iDVN); GETC2(DNX4DNX); GETC2(DVL,iDVL); GETC 2(D VX,iD VX);

240. Fori:=ito3Do Begin Forj:=lto3Do Begin Fork:=0to3Do Begin

241. For p:=l to 5 Do Begin For n:=0 to 3 Do Begin DNXAJ,I,P,N,P,K.:=DXNA[I,J,P,K,P,N]; DVLA[J,I,P,N,P,K]:=DLVA[I)J,P,K,P,N]; DVXA[J,I,P)N,P)K]:=DXVA[I,J,P)K,P,N];

242. End; End; End; End; End; PUTC2(DXN,iDXN);PUTC2(DNX,iDNX); PUTC2(DLV,iDLV);PUTC2(DVL,iDVL); PUTC2(DXV,iDXV);PUTC2(DVX,iDVX); GETC2(DXX,iDXX);GETC2(DW4DW); GETC2(DNN4DNN);GETC2(DLL,iDLL);

243. DZZA:=CZA; DYYA:=CYA; DXXA:=CXA; DLLA:=CLA; DNNA:=CNA; DWA:=CVA; Dispose(CX);Dispose(CL);Dispose(CN);Dispose(CV);

244. For I:=l to 2 Do Begin Fork:=l to 4 Do Begin S1 :=S 1 +SQR(QRI,K.*KP[K}); End; For k:=1 to 6 Do Begin S2:=S2+SQR(QV[I,K]*KP[Kj); End; Fork:=l to 8 Do Begin S3:=S3+SQR(QW[1,K]*KP[K]); End;

245. RPM1.:=SQRT(S1); VPMI.:=SQRT(S2); WPMp]:=SQRT(S3); S1:=0;S2:=0;S3:=0; End;

246. For K:=l to 4 Do Begin For I:=l to 2 Do Begin QRPK.:=QRP[K]+(SQR(R1.)*QR[I,K])/SQR(RR); End; End;

247. For K:=l to 6 Do Begin For I:=l to 2 Do Begin QVPK.:=QVP[K]+(SQR(V1.)*QV[I,K])/SQR(W); End; End;

248. UNIT FUNCT; INTERFACE USES Crt,UTYPE; Procedure FUN(T:Real); Procedure See{(T:Real)}; IMPLEMENTATION Procedure FUN(T:Real); Begin

249. For j:= 1 to 3 Do Begin For p:=l to 5 Do Begin

250. PMRXAJ,P.:=0; PPMRXA[J,P]:=0; MRVA[J,P]:=0; PMRVA[J,P]:=0; PPMRVA[J,P]:=0; MRVA[J,P]:=0; PMRVA[J,P]:=0; PPMRVAfJ,P]:=0; RZYA[J]:=0; PRZYA[J]:=0; PPRZYA[J]:=0; RYXA[J,P]:=0; PRYXA[J,P]:=0; PPRYXA[J,P]:=0; RXVA[J,P}:=0; End; End;

251. QYAl.:=PI/4; PQYA1.:=0; PPQYA[1}:=0; MRYA[1]:=0; QYA[2]:=0; PQYA[2]:=0; PPQYA[2]:=0; MRYA[2}:=1; QYA[3]:=0; PQYA[3]:=0; PPQYA[3]:=0; MRYA[3]:=l;End; Procedure See{(T:Real)}; Begin

252. Assign(FOUT/FOUT.TXr); Reset (FOUT);1. ClrScr;п1с1п('Координаты произвольных точек ЧТЧ на оси связанной );

253. Writeln('c основанием системы координат');1. Writehi('T=,,T:i6:4);1. WritelnC RY'j;1. For i:=l to 3 Do Begin1. Writeln(RYA1.:16:4);1. End;1. Writelnf RX RV);

254. For i:=l to 3 Do Begin For p:=l to 5 Do Begin

255. Writelnf ',RXA I,P.: 16:4,RVA [I,P]: 16:4); End; End; Delay(200G);Writeln(T=',T: 16:4); Writeln(' UY');

256. For i:=l to 3 Do Begin Writeln(UYAfI.: 16:4); End;1. WritelnC UX UV'};

257. For i:=l to 3 Do Begin Forp:=l to 5 Do Begin

258. For i:=1 to 3 Do Begin Forp:=l to 5 Do Begin

259. WritelnC ',PRUXAI,P.:16:4,PRUVA[i,P]:16:4); End; End; Delay(2000); Writeln(TTpoeKiiroi векторов угловых ускорений на неподвижные оси'): Writeln('T=',T: 16:4); Writehi(' EY'); For i:=l to 3 Do Begin Writeln(EYA1.:16:4); End; WritelnC EX EV);

260. For i:=l to 3 Do Begin For p:=l to 5 Do Begin WritelnC ',EXAI,P.:16:4,EVAP,P]:16:4);

261. End; End; Delay(2000); Wn t eln('flpоекцш! векторов угловых скоростей на неподвижные оси*); Writeln(T=',T: 16:4); WritelnC PREY); For i:=l to 3 Do Begin Writeln(PREYA1.: 16:4); End; Delay(2000);1. WritelnC PREX PREY);

262. For i:= 1 to 3 Do Begin For p:=l to 5 Do Begin

263. Writeln(' ',PREXAI,P.:i 6:4,PREVA[I,P]: 16:4);

264. End; End; Delay(2000); Writeln('BeKTopa скоростей точек ЧТЧ1); Writeln(T=',T:l 6:4); WritelnC VY);

265. For i:=l to 3 Do Begin Writeln(VYA1.:16:4); End;

266. Delay(2000); WritelnC vx VV);

267. For i:=l to 3 Do Begin For p:=l to 5 Do Begin

268. WritelnC ',VXAI,P.:16:4,WA[I,P]:16:4);1. End; End; Delay(2000);

269. Уп1е1п('Проскцни векторов уг ловых ускорений на неподвижные оси1); Write!n('T=',T: 16:4); Writeln(' WY'); For i:=1 to 3 Do Begin Writeln(VYA1.: 16:4); End; Delay(2000); Writeln(' WX WV);

270. For i:=l to 3 Do Begin For p:=l to 5 Do Begin WritelnC VVXAI,P.: 16:4,VVA[I,P]: 16:4);

271. End; End; Delay(2000);} End; Begin END. UNIT GNCOS;1.TERFACE

272. USES FUNCT,U TYPE,NCOS 1 ,NCOS2,PNCOSl,PNCOS2; Procedure GNC(T:Real);

273. PLEMENTATION Procedure GNC(T:Real); Begin1. NCI(PZ,T,CZ);

274. FillChar(PCZA,Sizeof(PCZA),0);1. NC1(QY,T,CY);1. PNC1(PQY,T,PCY,CY,QY);

275. GETC2(PCV,iPC-V); PNC2(PQV,TiPCV,CV)QV); PUTC2(CV,iCV); PUTC2(PCV,iPCV); End; Begin End. UNIT KOORD; INTERFACE

276. USES FUNCT,UTYPE,DNCOS,PDNCOS; Procedure KRD; IMPLEMENTATION Procedure KRD; Begin

277. Fori:=lto3Do Begin Form:=Ito3Do Begin UYA1.:=UYAI.+CYA[M,I,M,3]*PQYA[M]; PRUYA[I]:=PRUYA[I]+DYZA[M,I,M,0]*PQYA[M];

278. PREYA1.:=PREYAI.+DYZA[M,I,M,0]*PPQYA{M]+PDYZA[M,I,M,0]*PQYA[M}; L0:=L0+DZYA[I,M,O,3]*MRYA[M}; End;

279. RYA1.:=RYAI.+RZYA[I]+LO; L0:=0; End; Fori:=Ito3Do Begin Form:=lto3Do Begin

280. EYa1.:=EYaI.+DZYa[M,I,0,3]*PREYa[M]; End; End;

281. Fori:=lto3Do Begin Forp:=Ito5Do Begin Form:=lto3Do Begin UXaI,P.:=UXa[I,P]+DYLa[M,I,M,P,3]*PQYa[MJ+CLa[M,I,P,M,P,3]*PQXa[M,P];

282. FillChar(C 1A ,SizeOf(C 1 A),0);

283. C1A1,1,0,!.:=!; CI A[2,2,1,2}:=1; CI A[3,3,2,3]:=!;

284. Procedure NC2(B:TPB;T:Real;C2:TPC2); Begin

285. FillChar(C2A ,SizeOf(C2 A),0);1. For P:=l to 5 Do1. Begin

286. USES CRT,Graph,KOORD.UTYPE; Procedure OUT; Procedure OUTSCR;

287. PLEMENTATION Procedure OUT; Begin1. Append(FOUT);

288. Writeln(FOUT,' Координаты произвольных точек ЧТЧ на оси'); Writeln(FOUT,'связанной с основанием сисгемы координат'); Writeln(FOUT,'T—,Т: 16:4); Writeln(FOUT,' RY');

289. For i:=l to 3 Do Begin Writeln(FOUT,RYAfI.: 16:4); End; Writeln(FOUT,' RX RV');

290. For I to 3 Do Begin For p:= 1 to 5 Do Begin Writeln(FOUT,' \RXAI,P.: 16:4 ,R VA[I,P]: 16:4); End; End; Writchi(FOUT);

291. Writeln(FOUT,TIpoeiaDani векторов yi ловых скоростей на неподвижные оси'); Writeln(FOUT,'T=',T: 16:4); Writeln(FOUT,' UY');

292. For i:=l to 3 Do Begin Writeln(F0UT,UYA1.:16:4); End;1. Writeln(FOUT,' UX UV);

293. For i:=1 to 3 Do Begin For p:=1 to 5 Do Begin Writeln(FOUT,' ',UXAI,P.:16:4,UVA[I,P]:16:4); End; End; Writeln(FOUT); Writeln(FOUT, 'Проекщш векторов угловых ускорений на неподвижные оси); Writeln(FOUT,'T=',T: 16:4); Writeln(FOUT,' PRUY');

294. For i:=l to 3 Do Begin Writeln(FOUT,PRUYA1.:16:4); End; Writeln(FOUT,' PRUX PRUV');

295. Fori:=l to 3 Do Begin For p:=l to 5 Do Begin Writeln(FOUT,' ',PRUXAI,P.:16:4,PRUVA[I,P]: 16:4);1. End; End; Writeln(FOUT);

296. Writeln(FOUT, 'Проекции векторов угловых скоростей на неподвижные оси1); Writeln(FOUT,'T=',T: 16:4); Writeln(FOUT,' EY); For i:=l to 3 Do Begin Writeln(FOUT,EYAI}:16:4); End; Writeln(FOUT,' EX EV);

297. For i:=l to 3 Do Begin For p:=l to 5 Do Begin

298. Writeln(FOUT,' ',EXAI,P.:16:4,EVA[I,P]:16:4); End; End;

299. Writeln(FOUT); WriteIn(FOUT,'T=r,T: 16:4); Writeln(FOLJT,' PREY); For i:=I to 3 Do Begin Writeln(FOUT,PREYA1.: 16:4); End;

300. Writeln(FOUT,' PREX PREV);

301. For i:= 1 to 3 Do Begin For p:=1 to 5 Do Begin Wiiteln(FOUT,' ',PREXAI,P.: 16:4,PREVA[I,P]: 16:4);

302. End; End; Writeln(FOUT); Writeln(FOUT,'BeKTopa скоростей точек ЧТЧ); Writeln(FOUT,T=',T:16:4); Writeln(FOUT,' VY);

303. For i:=l to 3 Do Begin Writeln(FOUT,VYA1.:I6:4); End; Writeln(FOUT,' VX W);

304. For i:=1 to 3 Do Begin For p:=l to 5 Do Begin

305. Writeln(FOUT,' ',VX AI,P.: 16:4, WA [I,P]: 16:4);1. End; End; Writeln(FOUT);

306. Writeln(FOUT,'T—,T: 16:4); Writeln(FOUT,' WY); For i:=l to 3 Do Begin Writeln(FOUT,WYA1.: 16:4); End; Writeln (FOUT7 WX WV);

307. Fori:=l to 3 Do Begin For p:=l to 5 Do Begin

308. Writeln(FOUT,' ', WXAI,P.: 16:4, WVA [I,P]: 16:4);

309. End; End;END; Procedure OUTSCR; Begin

310. Writeln(RYA 1.: 16:4); End; WritelnC RX RV);

311. For i:= 1 to 3 Do Begin For p:= 1 to > Do Begin

312. WritelnC ',RXAI,P.: 16:4,RVA[I,P]: 16:4); End; End; ReadKey; Writeln; Wriieln('ripocKTUin векторов утловых скоростей на подвижные оси); Writeln('T=,,T: 16:4); Writeln(' UY ); For i:=l to 3 Do Begin Writeln(UYA1.:16:4); End; WritelnC UX UV);

313. For i:=1 to 3 Do Begin For p:=l to 5 Do Begin

314. WritelnC ',UXAI,P.: 16:4,UVA[I,P]: 16:4); End; End; Writeln; Writeln('1 проекции векторов утловых скоростей на неподвижные оси); Writeln('T=',T:16:4); Writeln(' PRUY); For i:=l to 3 Do Begin WriteIn(PRUYA[I3:16:4); End; WritelnC PRUX PRUV);

315. For i:=1 to 3 Do Begin For p:=1 to 5 Do Begin WritelnC ',PR UXAI,P.: 16:4,PRUVA[I,P]: 16:4);

316. End; End; ReadKey; , Writeln; WntclnCripoeKnuH векторов утловых скоростей на неподвижные оси); Writeln('T=',T:16:4); WritelnC EY); For i:=1 to 3 Do Begin Writeln(EYA 1.: 16:4); End; WritelnC EX EV);

317. For i:=l to 3 Do Begin For p:=l to 5 Do Begin

318. WritelnC ',EXAI,P.: 16:4, EVA[I,P]: 16:4); End; End; Writeln;

319. Writeln('T=',T:16:4); WritelnC PREY); For i:=l to 3 Do Begin

320. Writeln(PREYA1.: 16:4); End; WritelnC PREX PREV};

321. For i:= 1 to 3 Do Begin For p:=1 to 5 Do Begin WritelnC ',PREXAI,P.: 16:4,PREVAfI,P]: 16:4);

322. End; End; ReadKey; Writeln; Writeln('BeKTopa скоростей точек ЧТЧ'); Writeln('T=',T: 16:4); WritelnC VY');

323. For i:=l to 3 Do Begin Writeln(VYA1.:16:4); End; WritelnC VX VV');

324. For i:=l to 3 Do Begin For p:=l to 5 Do Begin WritelnC ',VXA I,P.:16:4,WA[I,P]:16:4);

325. End; End; Writeln; WritelnC Проекции векторов угловых ускорений на неподвижные оси1); Writeln('T=',T: 16:4); WritelnC WY'); For i:=l to 3 Do Begin Writeln(WYAl.: 16:4); End; WritelnC WX WV);

326. For i:=l to 3 Do Begin For p:=l to 5 Do Begin WritelnC ',WXAI,P.:16:4,WVA[I,P]:16:4);

327. End; End; SetGraphMode(GetGraphMode); END; END.1. UNIT PDNCOS; INTERFACE

328. USES FUNCT,UTYPE,GNCOS,DNCOS;1. Procedure PDNC;1.PLEMENTATION1. Procedure PDNC;1. Begin

329. GETC2(CX,iCX);GETC2(CL,iCL);GETC2(CN,iCN);GETC2(CV,iCV);

330. GETC2(PCX,iPCX);GETC2(PCL,iPCL);

331. GETC2(PCN,iPCN);GETC2(PCV,iPCV);

332. GETC2(DLN,iDLN);GETC2(DXN,iDXN);

333. GETC2(PDXL,iPDXL);GETC2(PDLN,iPDLN);

334. GETC2(PDNV,iPDNY);GETC2(PDXN,iPDXN);

335. GETC2(PDLV4PDLV);GETC2(PDXV,iPDXY);

336. PDYLAIJ^,'p',N.:'=PDYLA[I,J,K,P,N]+PDYXA[I,M,K,P,3]*CLA[M,J,P,0,P,N]+DYXA[I,M,K>P,3]*PC LA[M,J,P,0,P,N];

337. PDZLAI!J)K,P,N.:=PDZLA[I!J,K,P,N|+PDZXA[IIM(K!P,3],,!CLA[M,J)P!0)P,N]+DZXA[I>M,K!P,3I*PCL

338. P'DYNAI,'J,K,P,N.:=PDYNA[I,J,K,P,N]+PDYLA[I,M,K,P,3]*CNA[M,J,P,0,P,N]; PDXVA[I,J,P,K,P>N]:=PDXVA[I,J,P,K)P,N]+PDXNA[I,M!P,K,P)3]*CVA[M!J,PJ0,P,N]+DXNA[I,M)P1K ,P,3]*PCVa[M,J,PAP,N];

339. PDZNAI,J,K,P,N.:=PDZNA[I,J,K,P,N]+PDZLA[I,M,K,P,3]*CNA[M,J,P,0,P,N]; PDYYAfI,J,K,P,N]:=PDYVA[I,J,K,P,N]+PDYNA[I,M,K,P,3]*CVA[M,J,P,0,P,N]+DYNA[I,M,K,P,3]*PC

340. GETC2(PDVN,iPDVN); For k:=0 to 3 Do Begin Begin1. VAM,J,P,0,P,N.;

341. PDZVaI)J)K!PjN.:=PDZVa[I,J,K)P;N]+PDZNa[I,M)K1P13]*CVa[M,J)P)0!P!N3+DZNa[I,M,K,P,3]*PC VA[M,J,P,0,P,N];

342. End; End; End; End; End; PUTC2(PDXL,iPDXL);PUTC2(PDLX,iPDLX); PUTC 2(PDLN ,iPDLN); PUTC 2(PDNL,iPDNL); PUTC2(PDNV,iPDNV);PUTC2(PDVN,iPDVN); GETC2(PDNX,iPDNX); GETC2(PDVL,iPDVL); GETC2(PDVX,iPDVX);

343. Fori:=lto3Do Begin Forj:=l to 3 Do Begin Forp:-lto5Do Begin Forn:=0to3Do PDNXAJ,I,P,N,P,K.:=PDXNA[I,J,P,K,P,N]; PDVLA[J,I,P,N,P,K]:=PDLVA[I,J,P,K,P,N]; PDVXA[J,I,P,N,P,K]:=PDXVA[I,J,P,K,P,N];

344. Procedure PNCl(PA:TPA;T:Real;PCl :TPC1 ;C1 :TPC1 ;A:TPA); IMPLEMENTATION

345. Procedure PNCl(PA:TPA;T:ReaI;PCl:TPCl;Cl:TPCl;A:TPA); Begin1. Fork:=0 to 3 Do Begin1. Begin

346. PCI A3,3,0,1.:=PC1 A[2,2,0,1] PCI A[3,3,1,2}:=PC1 A[l,l,l,2] PC1A[2,2,2,3]:=PC1A[1,1,2,3]

347. PCI A2,3,0,1. PC1A[3,1,1,2] PCI A[I,2,2,3]-PCl A3,2,0,l. =-PCl A[l,3,l,2] =-PCIA[2,1,2,3]

348. Forj:=l to 3 Do Begin For 1 to 3 Do Begin

349. Fori:=lto3Do Begin Forj:=lto3Do Begin Fork:=0to3Do Begin For n:=() to 3 Do Begin PCI AI,J,N,K.:=PC I A[j,i,K,N]; End; End; End; End; End; BEGIN END. UNIT PNCOS2; INTERFACE1. USES FUNCT,UTYPE,NCOS2;

350. Procedure PNC2(PB:TPB;T:Real;PC2:TPC2;C2:TPC2;B:TPB); IMPLEMENTATION

351. Procedure PNC2(PB:TPB;T:Real;PC2:TPC2;C2:TPC2;B:TPB); Begin

352. FillChar(PC2 A ,SizeOf(PC2A),0); For P:=l to 5 Do Begin-PBAI,P.*sin(BA[I,P]); =-PBA[2,P]*sin(BA[2,P]); =-PBA[3,P]*sin(BA[3,P]); =PBA[I ,P]*cos(BA[l ,P]); =PBA[2,P]*cos(BA[2,P]);

353. PBA3,P.*cos(BA[3,P]); PC2A[i,2,P,2,P,3]:=-PC2A[2,l,P!2,P,3]; End; Begin Forj:=lto3Do Begin Forp:=lto5Do Begin Fork:=

354. PC2A2,2,P,0,P,1. PC2A[1,1,P,1,P,2] PC2A[1,1,P,2,P,3] PC2A[3,2,P,0,P,1] PC2A[1,3,P,1,P,2] PC2A[2,I,P,2,P,3] For i:=l to 3 Do Do

355. PC2AI,J)P,0,P,2.:=PC2A[iJ)P)0,P,2]+PC2A[I,K,P,0,P,l];i!C2A[K,J,P,l,P>2]+C2A[I,K,P,0,P,lFPC2A[K,J,P,1.P.2.;

356. PC2AI,J,P,1,P,3.:=PC2A[I,J)P,I,P,3]+PC2A[I,K,P,1,P,2]*C2A[K,J,P,2,P,3]+C2A[I)K]P)1,P,2]*PC2A[K,J,P,2,P,3.;

357. PC2AI,J,P,0,P,3.:=PC2A[I,J,P,0,P,3]+PC2A[I,K,P,0,P,2]*C2A[K,J,P,2,P,3]+C2A[I,K,P,0,P,2]+PC2A[K,J,P ,2,P,3]; End; End; End; End;

358. Fori:=lto3Do Begin Forj:=lto3Do Begin Fork:=0to3Do Begin Forn:=0to3Do

359. PC2AI,J,P,N,P,K.:=PC2A[J,I,P,K,P,N]; End; End; End; End; End; End; BEGIN END. UNIT PPBB; INTERFACE Uses TPY; Procedure BB; IMPLEMENTATION Procedure BB; Begin

360. Bl,l,l,2.:=Cos(U[2]); B[1,2,0,1]:=-B[2,1,O,1];

361. PB1,I,0,I.; PB[1,1,1,2]; PB[2,1,0,1]; PB[2,1,1,2];

362. PPB1,1,0,1. PPB[2,2,0,1] PPB[1,1,1,2]-PPU1.*Sin(Ul.)-(PU[l]*PU[l])*Cos(U[l]); =PPB[1,1,0,1];-PPU 2.*Sin(U[2]V(PU [2]*PU[2])*Cos(Uf2T);

363. PPB2,2,1,2.:=PPBf 1,1,1,2];

364. PPB2,l,0,l.:=PPU[l]*Cos(U[l])-(PU[l]*PU[l])*Sin(U[l]); PPB[1,2,0,1]:=-PPB[2,1,0,1];

365. PPB2,1,1,2.:=PPU[2]*Cos(U[2])-(PU[2]*PU[2])*Sin(U[2]); PPB[1,2,1,2]:=-PPB[2,l ,1,2];

366. Fori:=lto2Do Begin Forj:=lto2Do Begin Form:=l to 2 Do Begin Bi j,0,2.:=B[ij,0,2]+B[i,m,0, l]*B[m j, 1,2];

367. PBy,0,2.:=PB[i,j,0,2]+PB[I,M,0,1 ]*B[M,J, 1,2]+B[I,M,0, If PB[M, J, 1,2];

368. PPBij,0,2.:=PPB[ij,0,2]+PPB[I,M,0,l]*B[M,J,l,2]+2*PB[I,M,0,l}*PBtM,J,l,2]+B[I,M

369. USES FUNCT,UTYPE,DNCOS,PDNCOS,KOORD; Procedure PRSPD; IMPLEMENTATION Procedure PRSPD; Begin

370. FillChar(VY A ,Sizeof(VYA),0); FillChar(VXA ,Sizeof(VXA),0); FfflChar(VVA,Sizeof(VVA),0); FillChar(WYA,Sizeof(WYA),0); FillChar(WXA ,Sizeof(WXA),0); FillChar(WVA ,Sizeof(WVA),0); FillChar(FA ,Sizeof(FA),0>; LZERO;

371. Fori:=lto3Do Begin Forj:=lto3Do Begin Fork:=lto3Do Begin

372. Fori:=lto3Do Begin Forp:=lto5Do Begin Forj:=l to 3 Do Begin

373. VXAI,P.:=VXA[I,P]+PRZXA[I,P]+L9; WA[I,P]:=VVA[I,P]+PRZVA[I,P]+L12; WXA[I,P]:=WXA[I,P]+PPRZYA1.H-L10; WVA[I,P]:=WVA[I,P]+PPRZYA[I]+L11; LZERO; End;{p} End;{i} End; BEGIN END. UNIT TPY; INTERFACE Type

374. TB=Array 1.3Д.3,0.1,1.2. of Real;

375. TAB=Array 1.2,1.2,1.2,1.2. of Real;

376. TQR=Array 1.2.1.4. of Real;

377. TQV=Array I .2,1 .6. of Real;

378. TQW=Array 1.2,1.8. of Real;1. TA=Array 1.2. of Real;1. TM=Array 1.4. of Real;

379. TM 1 =Array 1 .6. of Real;1. TKP=Array 1.8. of Real;1. Point Type=Recordx,y:integer;end;constrn=150;1. Var1. B,PB,PPB:TB;1. KP,KPB,KPE:TKP;1. RPM,VPM,WPM:TA;1. QRP:TM;1. QVP:TM1;1. QWPrTKP;1. QR:TQR;QV:TQV;QW:TQW;

380. R,V,W,Q,PV,PPV,U,PU,PPU,ZU,ZPU,ZPPU,F,UA,UO,UTM,UTP:TA; A,PA,PPAtPC,PPC,PPD:TAB; AA,S1,S2,S3,KK,RP,VP,WP,RPO,VPO,WPO,RR,W,WW,T,TO,TT,TL,L2,Z1,Z2;Z3,MXU,MXPU,MXP PU,KP0,tl,t2:Real;

381. TB=Array 1.3,1.3,0. 1,1.2. of Real;

382. TAB=Array 1 .2,1 .2,1 .2,1 .2. of Real;

383. TQR=Array 1.2.1.4. of Real;

384. TQV=Array 1 .2,1 .6. of Real;

385. R,V,W,Q,PV,PPV,U,PU,PPU,ZU,ZPU,ZPPU,F,UA,UO,UTM,UTP:TA; A,PA,PPA,PC,PPC,PPD:TAB; AA,S1,S2,S3,KK,RP,VP,WP,RP0,VP0,WP0,RR,W,WW,T,T0,TT,TL,L2,Z1,Z2,Z3,MXU,MXPU,MXP PU,KP0,t 1 ,t2;Real;

386. Пример задания собственной методики ЛФК

387. Задача: наклоняем туловище вперед, разводим руки в стороны, подгибаем колени.1. UNIT FUNCT;

388. TERFACE USES winCrt,UTYPE; Procedure FUN(T:Real); Procedure Scc{(T:Real)};

389. PLEMENTATION Procedure FUN(T:Real); Begin

390. Forj:=l to 3 Do Begin For p:= 1 to 5 Do Begin Case Nmcl of 1: {Методика 1} Begin End; 2: {Методика 2} Begin End;3: {Собственная методика ЛФК} Begin

391. Q Y A 1 .:=0; {наклоны туловища} PQYA[l]:=0{cos(t)}; PPQYA[l]:=0{-sm(t)}; MRYA1.:=0.1;

392. QYA2.:=0; PQYA[2]:=0; PPQYA[2]:=0; MRYA[2]:=0.1;

393. QYA3.:=sin(t); PQYA[2]:=cos(t); PPQ Y A [2]:=-sin(t); MRYA[3]:=0;

394. QXAl,2.:=sin(t);{pyKHB стороны}1. PQXAl,2.:=cos(t);1. PPQXA1,2.:=-sin(t);1. MRXA1,2.:=0.1;1. MRXA2,2.:=-0.1;1. MRXA3,2.:=0.1;

395. QXAl,4.:=sin(t); PQXA[1,4]:=cos(t); PPQXA[1,4]:=-sin(t);

396. Пример расчета по собственной методике ЛФК

397. Соординаты произвольных точек ЧТЧ на осп связанной с основанием СК

398. Лектора скоростей точек ЧТЧ г= 2.0000 УУ 0.0000 0.0000 -0.0474ух уу

399. П4. Исходный текст программы динамического анализа и синтезасистемы1. Program DPrivod;1. Uses WinCRT; Type

400. N,t,tt,tO,ddt,dt,sm,ss,t 1 ,t2,s 1 ,s2,s3,s4,fr,cs:Real; i j,k,l,m,a,p,q,b,r4v:Intcger;ll,S,ro,E2,pp,u,pu,QGl,QG2,ol,E,Om,ff2,FF,JJ,Rol:TL; mm,G:TM;

401. E3,Tet,QFl,QPl,QP2,BE2{,JJ}:TE; QE1 ,QE2,BOM2,BEl ,BE22,BE:TQ; QOM1 ,QOM2,BOMl,BOM22,BB:TQQ; Y,PS:TY; C:TC;

402. QTil,BOm,BU,BOmO,BUO,qy:TTil;

403. RooOm,POm,FOm,YOm,FU{,ffs}:TP;x:TMat;1. QOmI2:TTil;1. Q2,qq,qp,as,atr,aob:T18;pz,kpy ,kpp,fsin,yz,bs:T 181;1. P2,F,FY,fTs:T181;1. DP:Text;1. DS:Filc of real;1. DH:Filc of Integer;

404. Assign(DP,'c:\bp\bpexc\up\DPriv.txt'); Rcwritc(DP);

405. A ssign{ DS, 'c:\bp\bpcxc\iip\DSint. dat Rcwritc(DS);

406. JJ2,l.:=l/3*(mm[l]*Sqr(0.11));JJ[3,13:=l/3*(mm[l]*Sqr(0.11»; JJ[l,2]:=l/2*(mm[2]*Sqr(0.1));JJ[2,2]:=l/3*(mm[2]*Sqr(0.1)); JJ[3,2]:= 1 /3*(mm[3]*Sqr((>.1));

407. For k:=l to 3 Do Tetijik.:=(2*E2tij]-l)*JJ[i,k];t:=tO; {начало времени}

408. Fillchar(YOm,sizeof(YOm),0);

409. FillChar(FOm,SizeOf(FOm),0);FillChar(QOm2,SizeOf(QOm2),0); Fillchar(Y,sizeof(Y),0);

410. FillChar(FU,SizeOf(FU),0);FillChar(Q2,SizeOf(Q2),0);

411. FillChar(QGl,SizeOf(QGl),());FillChar(QG2,SizeOf(QG2),0);

412. FillChar(QFl,SizeOf(QFl),0);FillChar(QPl,SizeOf(QPl),0);

413. FiUChar(QP2,SizeOf(QP2),0);FiHChar(BE2,SizeOf(BE2),0);

414. FillChar(QEl,SizeOf(QEl),0);FillChar(QE2,SizeOf(QE2),0);

415. FfflChar(BOM2,SizeOf(BOM2),0);FiHChar(BEl,SizeOf(BEl),0);

416. FillChar(BE22,SizeOf(BE22),0);FfflChar(QOMl,SizeOf(QOMl),0);

417. FillChar(QOM2,SizeOf(QOM2),0);FfflChar(BOMl,SizcOf(BOMl),0);

418. FillChar(BOM22,SizeOf(BOM22),0);FiîlChar(BE,SizeOf(BE),0);

419. FillChar(BB,8izeOf(BB),0);FillChar(Rol ,SizeOf(Ro 1),0);

420. FÜlChar(QTM,SizeOf(QTü)>0);FmChar(P2,SizeOf(P2),0);

421. For b:=l to 3 Do For q:=l to 3 Do Begin Y9+3*(b-í)+q.:=ii[q,b];end;

422. Fillch ar (C, sizeof(C), 0);

423. For a:=l to 3 Do Forp:=l to 3 Do For i:=l to 3 Do Forj:=l to 3 Do Cij,a,p,a,p.:=E2[ij]; For a:=l to 3 Do Begin

424. C2,2,a,2,a,3.:=cos(Y[9+3*(3-l)+3]);C[3,3,a,l ,a,3]:=l;End;c0.}For a:=l to 3 do For i:=l to 3 do For j:=l to 3 Do с[у,(з-1),3,а,0]:=Е[у]; {57} For a:=l to 3 Do For i:=l to 3 Do Forl:=l to 3 Do

425. Form:=l to 3 Do Ci,l,a,0,a,2.:=C[i,l,a,0,a,2]+C[i,m,a,0,a,l]*C[m,l,a,l,a,2]; {63} For a:=l to 3 Do Form:=l to 3 Do Forj:=l to 3 Do

426. For 1:=1 to 3 Do Cmj,a,l,a,3.:=C[mj,a,l,a,3]+C[ra,l,a,l,a,2]*C|lj,a,2,a,3]; {61} For a:=i to 3 Do Fori:=l to 3 Do Forj:=l to 3 Do

427. For 1:=1 to 3 Do Cij,a,0,a,3.:=C[ij,a,0,a,3]+C[i,l,a,0,a,2]*C[lj,a,2,a,3]; {64} For a:=l to 3 Do For p:=0 to 3 Do For q:=0 to 3 Do For i:=l to 3 Do For j:=l to 3 Do

428. Cij,a,q,a,p.:=C[j,i,a,p,a,q]; {65} For a:=2 to 3 Do For p:=0 to 3 Do For q:=0 to 3 Do For i:—1 to 3 Do For j:=l to 3 Do For 1:=1 to 3 Do Begin

429. Cij,(a-l),p,a,q.:=C[ij,(a-l),p,a,q]+C[i,l,(a-l),p,(a-l),3]*C[lj,a,0,a,q];end; {68} For a:=3 to 3 Do Forp:=0 to 3 Do For q:=0to 3 Do For i.-l to 3 Do For j:=l to 3 Do For 1:=1 to 3 Do Form:=l to 3 Do

430. Cij,(a-2),p,a,q.:=C[ij,(a-2),p,a,q]+Cti,l,(a-2),p,l,3]*C[l,m,(a-l),0,(a-l))3]*C[mj,a,0,a,q]; {132} If lv=0 then begin

431. QE2i,p)k1b.:=QE2[i,p)kIb]-Hmii|k]*E3[iIp>q]*B[q,b];

432. For k:=1 to 3 Do For b:=1 to 3 Do For i:= 1 to 3 Do For p:=1 to 3 Do For q:= 1 to 3 Do Begin For 1:=1 to 3 Do Begin

433. BOMli,p,q,k,b.:=BOMl[i,p,q,k,b]+E2[k,b]*E3[l,p,l]*Tet[l,q,b];End; BOMl[i,p,q4í)b}:=BOMl[i>p)q4í)b]+QOMl[i,p,q[Jk,b];End; {104} Fork:=l to3DoForb:=l to 3 Do Fori:=l to3DoForp:=l to3Do BE22[i>p,k,b]:=QE2[i,p,k,b|+E2|k,b]*BE2[iIp,b];

434. For k:=i to 3 Do For b:=l to 3 Do Fori:=l to 3 Do For p:=l to 3 Do For q;=l to 3 Do BOM22i,p,q4c,b.:=QOM2[i,p,q,k,b]+E2[k,b]*BOM2[i,p,q,b]; {125} Fork:=l to 3 Do For b:=l to 3 Do For i:=1 to 3 Do Forp:=l to 3 Do If k>b then Begin

435. BEli,pJi,b.:=0;BE22[i,p,k,b]:=0;End; {126 }For i:=l to 3 Do For b:=l to 3 Do For q:=l to 3 Do Begin Forp:=l to 3 Do Begin

436. BBi,p,q,k!b.:=BB[i,p,q,k,b]+E3[m,q,p]*BE|])ni,k,b];End; BB[i!p,q,k,b}:=BOMlI],p,q)k,b]-BB[i,p)q,k,b};End; {161} Fork:=l to 3 Do For j:=l to 3 Do Begin

437. Forj:=l to 9 Do Begin FOm1.:=FOmi.+BOmO[ij]*RooOm[j]; FU[i]:=FU[i]+BUO[ij]*YOm[j];End; End; For i:=l to 9 Do Begin Forl:=l to 9 Do Begin

438. For j:=i to 9 Do Begin QOmI2i,l.:=QOmI2[i,l]+BOmO[ij]*QTil|j,l]; End;End;End; {178} For i:=l to 9 do Begin

439. F1.:=FOmi.;F[9-H]:=FU[i];P2[i]:=POM[i];P2[9+i]:=0;End; For i: = l to 9 do For 1:=1 to 9 do

440. For q:=l to 3 do begin s2:=s2+BOm22i,p,q,k,b.*OmEp,b}*Om[q,b];end;end;end; iT2[i,k]:=QG2[i,k]+sl-s2;sl:=0;s2:=0;end;end; {120}For p:=1 to 3 do begin

441. For k:=l to 3 do begin sl:=sl+ff2jp,k.;end; For q:=l to 3 do begin

442. For b:=l to 2 do begin s2:=s2+BE22p,q,2,b.*e[q,b];end; For b:=l to 3 do begin s3:=s3+BE22[p,q,2,b]*c[q,b];end; s4:=s4+BE22{p,q,l,l]*e[q,l]+s2+s3;end; FFfp,l]:=-sl+s4;sl:=0;s2:=0;s3:=0;s4:=0;end; {119}Forp:=l to 3 do begin

443. Fork:=l to3 do begin sl:=sl-t-ff2p,k.;end; Forb:=l to 3 do begin s2:=s2+BE22jp,q,2,b]*e[q,b]; s3:=s3+BE22jp,q,3,b]*e[q,b];end; s4:=s4+s2+s3;

444. FFp,2.:=sl+s4;sl:=0;s2:=0;s3:=0;s4:=0;end; {118}Forp:=l to 3 do begin For b:=l to 3 do begin For q:=l to 3 do begin si :=sl+BE22[p,q,3)b]*e[q,b];end;end; FF(p,3]:=-fr2ip,3]+sl;sl:=0;end; {Write into file for sintez} For i:=l to 6 do

445. WritelniYM^Yfi.^,' '.Yri+e.^'.Yp+^iS^,' ,(Yr,i+12)'l=,,Yi+12]:5:2); For i:=l to 3 do begin For k:= 1 to 3 do begin

446. Writeln('e',i,k,1=',e[i,k.:5:2,' VOmega[,!i>k,]='1Om[i,k}:5:2>' ','U[,,i,k,]=,,ii[i,k]:5:2, ' VF[',i,k,']=',FF[i,k]:5:2);end;end; Writcln(DP,t=',t:5:2); For i:=l to 6 do

447. Writeln(DP,Y',i,l=',Y1.:5:2,' VYr>i+6,'|=',Y[i+6.:5:2; 7Y[',i+i2)1=\Y[.+]2]:5:2); For i:=1 to 3 do begin Fork:=l to 3 do begin

448. Writeln(DP!'e',iik,.=',e[i>k]:5:2,' '.'OmcgaC.i.k/l^'.Omti.kjxS^,' ,s'U['1i>k,]=,,u[i,k]:5:2;7F',i)k,'.=',FF[i,k]:5:2);end;end;2: t:=t-dt;1. t>tt then goto 1; end. {SINTEZ}

449. For i:=1 to 18 do begin Pz1.:=3.5;kpYi.:=l;kpP[i]:=l;yz[i]:=3.25;End;

450. П5. Исходный текст программы точностного анализа динамических параметров

451. П6. Исходный текст пакета прикладных программ для программно-аппаратного комплекса определения положения конечности человека1. Program Obj3;

452. Function GetPalette:PPalette;virtual;end;1. TNb=object(T Application)

453. Procedure InitStatusLine;virtual;

454. Procedure InitMenuBar;virtual;

455. Procedure GetEvent(var event: TEvent);virtual;1. Procedure FileOpen;1. Procedure Work;1. Procedure Finish;1. Procedure WindMes;1. Procedure AddParametr;1. Procedure Switch;1. Procedure RBfile;

456. Procedure HandleEvent(var Event:TEvent);virtual; end;

457. PWorkWin=ATWorkWin; TWorkWin=object(TWindow) Constructor Init(Bounds:TRect); end;

458. DataType=record Name: string; Age: string; note: string; Path: string; FileName: string; pi: string; prpl: string; maxpl: string;end;

459. PInterior= л TInterior; TInterior=object{TScro11er) Constructor Inilfvar Bounds:TRect;hs,vs:PScrollBar); Procedure ReadFile;End; Function TMyWind.GetPalette:PPalette; const

460. NewColors=# 19# 17# 11#13; N evvPalette: string4. =newcolors; begingetpalette:=@NcwPalette;end; Procedure TNb.InitStatusLine; var1. R:TRect; Begin

461. GetExtent(R); R.A.Y:=pred(R.B.Y); StalusLine:=New(PStaiusLinesInit(R, NewStatusDef(0,$FFFF,

462. NewStatusKey('~Alt-x~ , Выход',kbA!i X, cmquit, NewStatusKey('~Fl~ Помощь',kb F1 ,cmHelp,nil)) ,nil)))1. End;

463. Procedure TNb.InitMenuBar; var r:TRect; Begin

464. GctExtent(r); R.B.Y:=succ(R.A.Y);

465. MenuBar:=New(PMenuBar,Init(R,(NewMenu( N ewSub Menu('~ M Измерение', 1,

466. NewMenu(NewItem('~ 1 , Ввод параметров',",0, {cmAdPar} cmMeas,hcNoContext,

467. Newltem('~2~/ Просмотр параметров',",0,cmMeas,hcNoContext,}niI)), NcwSub Mcnu('~V~/ Просмотр', 2,

468. NewMenu(NewItem('~ I Графическое изображение',",0,cmSeeGr,hcNoContexi,

469. Newltem('~2~/ Числовые данные',",0,cmRF,hcNoContext,nil))), NewItera('~A~/ Анализ',",0,cmAnalis,4, NewItem('~P~/ О программе',",0,cmSaveFile,3,nil)))))))); work;1. End;

470. Procedure TNb.GetEvent(var EVent :TEvent); var a:real; Begin

471. TApplication.GetEvent(EVent); If Event.Command=cmHelp then begincase gethelpctx ofl.rhlpffle(l);2:rhlpfile(2);3:rhlpffle(3);4:rhlpfile(4); end;1. Redraw;InitEvents;end;1. End;

472. Control:=DeskTopA.ExecView(inWin);if Control=cmOK then begin with data do beginfflename:=bfflenameA.dataA;name: =bnameA .data A;age:=bageA.dataA;note:=bnoteA.dataA;1. GetDate(yr,mh,d,w);1. Get Time(h ,m,c,cc);if filename=" then filename:='z';

473. Assign (f 1 ,'c:\bp\bpexe\mishkaY+fflename);writ ein (filename);1. Rewrite (fl);1. Append(fl);1. WriteLn(f 1,");1. WriteLn(f 1,'Имя',name);

474. WriteLn(f 1,'Возраст',age);

475. WriteLn(f 1,'Дополнительные сведения',note);

476. WriteLn(fI ,'Дата проведения измерения',у,':',mh,':',d);

477. WriteLn(fl,'Время начала проведения измерения',h,':',m,':',с); WriteLn(fl,"); end; end else exit;r.assign(l 5,3,65,18);

478. Control:=DeskTopA.Exec View(in Win); if Control=cmOK then with data do beginpl:=bplA.dataA;prpl:=bprplA .data A;maxtime:=bmaxtimeA. data A;maxpl:=bmaxplA .data A;maxprpl:=bmaxprplA .data A;1. Append(fl); WnteLn(fl,");

479. WriteLn(fl, 'Длина плеча' (m):',pl);

480. WriteLn(f 1,'Длина предплечья (m):',prpl);

481. WriteLn(fl, 'Максимальный угол отведения руки назад,град',тахр1);

482. WriteLn(f 1, 'Максимальный угол разгибания локтевого сустава '.maxprpl);

483. WriteLn(fl, 'Максимальное время проведения измерений' (c):',maxtime); WriteLn(fl,"); close(fl); Switch ;measurement(filename,maxpl,maxprpl); redraw-;InitEvcnts;

484. Txt : ^Подключите датчики, установите переключатель в положение «Измерение» и нажмите «переключатель установлен»'; r.assign( 15,3,65,14);

485. Control :=DeskTop Л. Exec View(in M cs);if Control=emOK then beginr.assign(l 5,5,65,12);

486. Mes:=New(PDialog,Init(r,'Начало измерений1));-with InMesA dobeginr.assign(9,2,41,4);1.sert(ne\v(PButton,Init(R,'Начало измерений',cmOK,bH)cfault)>);r.assign(l 5,4,35,6);1.sert (new(PButton,Init(R,'Bbixo^.cmCancel,bfNormal)));1. SelectNext(True);end;

487. Uses CRT,graph,dos,oftle,typeM,strings; Procedure Measurement(k,p,pr:string); procedure rfile {(hfmteger)}; Procedure Grf(a,b:real); Procedure Stat Image;procedure SeeGraph;

488. Procedure MouseGotoXY(var x,y:Integer): procedure Attcn;constmousepresent :Boolean=false; HorRat:Integer=26; VerRat: Integer=26; MouseVisibIe:BooIean=True;1. Type

489. TU=array1.2. of Real; t=array [1.2,1.32] of word; tul=array[1.50] of real; DataType=record Name:string; Age: string; note:string; Path:string; FileNanie:string; end;

490. Yar reg:registers; a,b,x,y,xx,yy:integer; l:char;sosl ,sos2,sos3,sos4:string7.; dr,md: Integer; b\tel ibyte2:byte; ScrCurMask:t; fl,ft:text;h,m,c,cc,c0,cc0:word;xdl ,xd2,ydl ,yd2,figr,psigr,xl ,y 1 ,x2,y2:integer:e,wn,fi,psi,cs,sn,cs 1 ,snl :real;u:tu;

491. Procedure Statlmage; beginsetcolor({ll}15); OutTextXY(0,33,'u 1 *); Out TextXY (0,53,^2'); OutTextXY(0,73,t'); SetText Style(0,0,2); setcolor(3);1.ne(l 30,400,630,400);1.ne(l 30,400,130,40);end;

492. Procedure MouseGotoXY(var x,y:Integer); var reg:registers;beginwith reg do ax:=$04; end; {MouseGotoXY}procedure Atten;begin

493. SetTextStyle(0,0,2); setcolor(13);outtcxtxy(400,300,'Внимание!');

494. Set Text Style(0,0,1); setcolor(l 5); end;

495. Procedure Measurement(k,p,pr:string); label 1,2;var mil ,uu2:tuI; i,a,pp,prp,bpred:integer;b:real; Begin1.pGraphData;

496. Str(-ul.:2:2,sosl); Str(-u[2]:2:2,sos2); Str(c,sos3); Str(cc,sos4);

497. Wntc Ьп('Ввсдате имя файла '); read(kk);if kk=" then kk:='z'; assign(fl ,'c:\mishka\'+kk); Reset(fi);

498. SetGraphMode(GetGraphMode); {i:= 1;} ClcarDevice; SetFillStyle(0,0); setcolor(l 3);

499. Международной программы "Здоровая семья".1. В. А. Юсупов1. УТВЕРЖДАЮ 1-й проректор1. ЗАКЛЮЧЕНИЕоб использовании результатов диссертационной работы Овсяницкой Л.Ю. вучебном процессе ЮУрГУ

500. Начальник учебного отдела ЮУрГУ /V £.¿¿Йб^Ортаев М. А

501. Зав. каф. «Приборостроение» д.т.н., профессор42.Х*^ Лысов А.Н.

502. Профессор каф. «Приборостроение», д.т.н. Щипицын А.Г.

503. Доцент каф. «Приборостроение», к.т.н. Коваленко В.В.

504. УТВЕРЖДАЮ Проректор по учебной работе Уральской государственной1. ЗАКЛЮЧЕНИЕоб использовании результатов диссертационной работы Овсяницкой Л.Ю. вучебном процессе УГМАДО

505. Зав. каф. Социальной медицины и управления здравоохранением,1. Начальник учебной части1. Л.В. Челяевад.м.н., проф., член-корр. РАЕН d Зав. учебной частью^аф. СМиУЗ1.

506. A.M. Дюкарева ТА. Григорьева