УДК 681.3: 621.01
А.В. Степанов
ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ ТЕХНОЛОГИЯ КОМПЬЮТЕРНОГО СИНТЕЗА СТРУКТУРНЫХ СХЕМ ПЛОСКИХ ШАРНИРНЫХ МЕХАНИЗМОВ
По мнению специалистов по теории механизмов и машин формирование структурных схем плоских шарнирных и-звенных механизмов можно осуществлять тремя способами [1]:
1) непосредственный синтез и-звенных механизмов на базе соответствующей математической модели;
2) получение и-звенных механизмов из и-звенных замкнутых кинематических цепей Грюб-лера;
3) формирование и-звенных механизмов из стойки, входного звена и групп Ассура.
В данной статье рассматривается компьютерная технология, относящаяся к первому из способов, который до настоящего времени практически не разработан. Основная причина этого кроется в том, что получение математической модели, основанной на парадигме процедурноориентированного подхода, которая корректно отображала бы все шаги процесса синтеза в форме уравнений, неравенств, логических условий, и других зависимостей, описываемых в структурной теории механизмов в словесной форме, сопряжено с существенными трудностями. Более того, при больших значениях общего числа звеньев такая модель станет неработоспособной по двум причинам. Первая из них состоит в том, что количество разнообразных ситуаций, возникающих в процессе формирования графических образов структурных схем, нелинейно увеличивается при увеличении количества звеньев механизма, что требует применения новых изощренных алгоритмов. Вторая же - в том, что при автоматическом построении структурных схем, содержащих несколько замкнутых структур, могут получаться такие изображения, состоящие из множества пересекающихся прямых, которые невозможно будет привести к понятному виду.
Задачу автоматизированного компьютерного поиска полного многообразия структурных схем плоских рычажных механизмов позволяет решить использование объектно-ориентированного подхода.
Объектно-ориентированный подход (ООП) -это совокупность компьютерных технологий, использующих объектно-ориентированные методы. Понятие “объектно-ориентированные методы”, в свою очередь, является очень обширным. В частности оно может означать объектноориентированное проектирование, анализ, программирование, объектную технологию и др. [2], то есть фактически целую философию разработки систем и представлений знаний на базе современ-
ных достижений в технике проведения компьютерного моделирования.
При использовании ООП рассмотрение любой сложной системы (и не только сложной) предполагает применение техники декомпозиции. Известны две технологии декомпозиции: алгоритмическая декомпозиция и объектно-ориентированная декомпозиция.
Алгоритмическая декомпозиция сродни получения математической модели динамики системы и в настоящей статье не рассматривается.
С точки зрения ООП каждый элемент системы, при выполнении определенной последовательности операций преобразования данных, изменяет свое состояние и передает эти сведения другим элементам системы. Изменение образа и состояния элементов системы приводит к развитию системы в целом, определяя ее жизненный цикл. Элементы системы, обладающие самостоятельным поведением, называют объектами.
Объекты позволяют нам воспринимать реальный мир (или небольшую часть его) с поведенческой стороны, мысленно моделировать их состояние и поведение, а также воспроизводить их взаимодействие в компьютере с помощью программных средств. Благодаря этому на первом этапе можно отвлечься от вопросов программной реализации объекта и сконцентрировать внимание на вопросах имитации их поведения, эволюции и взаимодействия в процессе проведения вычислительного эксперимента. Процесс представления предметной области в виде совокупности взаимодействующих объектов называют объектноориентированной декомпозицией.
При использовании объектно-
ориентированного подхода создаваемая система, в данном случае структурная схема механизма, должна быть представлена в виде совокупности объектов, каждый из которых имеет свой жизненный цикл, и формы взаимодействия с другими объектами в процессе построения системы. Разработанные алгоритмы и процедуры должны служить не столько для получения данных, на основе которых может быть в дальнейшем построена структурная схема, сколько для реализации самого процесса пошагового построения структурной схемы кинематической цепи.
В теории механизмов и машин считается, что любая механическая система структурно состоит лишь из звеньев и кинематических пар, какой бы сложной она ни была. Проведенная объектноориентированная декомпозиция структурных схем различных механических систем с точки зрения
их компьютерного синтеза позволила выявить следующие основные объекты:
• звенья - условные графические обозначения деталей или нескольких соединенных между собой деталей, движущихся как единое целое, представляющие собой отрезки прямых или многоугольники;
• контуры - “проволочные” многоугольники, определяющие топологию групп соединяемых между собой звеньев;
• стороны - ломаные линии, ограниченные свободными кинематическими парами, каждый из отрезков которых является стороной того или иного звена цепи;
• кинематические пары - графические элементы различного вида, с помощью которых звенья соединяются между собой.
Для описания объектно-ориентированной технологии определимся с терминологией, используемой далее.
Существует довольно значительное количество определений самого термина “технология”. Обратимся к большой советской энциклопедии [3].
Технология (от греч. 1есЬле - искусство, мастерство, умение и ... логия), совокупность приемов и способов получения, обработки или переработки сырья, материалов, полуфабрикатов или изделий осуществляемых . и т.д.
Таким образом, в данной статье рассматривается совокупность приемов и способов автоматизированного или автоматического получения полного многообразия структурных схем механических систем (на примере плоских механизмов). Их математическое описание, разработанные алгоритмы и программные средства позволят заявить о разработке метода компьютерного синтеза многовариантных структур механических систем.
Уместно подчеркнуть еще раз, что формирование вариантов структурных схем производится “напрямую” без использования промежуточных знаковых систем, таким образом, что любое промежуточное состояние формируемой структуры может быть выведено как графическое изображение на экран компьютера.
При компьютерном варианте решения задачи все множество вариантов получаемых структурных схем условно разбивается на два подмножества: структуры с изменяемыми замкнутыми контурами и без таковых. По ходу изложения материала понятие контур будет иметь два различных значения, правильно воспринимаемых по окружающему контексту. Первое определение было дано ранее. Приводим второе определение.
Изменяемым замкнутым контуром будем называть замкнутую совокупность некоторого числа звеньев (более трех), внутри которой нет такого рода совокупности. Поскольку технология
формирования структурных схем без изменяемых замкнутых контуров является модификацией тех-
нологии формирования структурных схем с контурами, здесь рассматривается технология формирования структур, имеющих в своем составе один или несколько изменяемых замкнутых контуров.
Совокупность некоторого числа одинаковых или различных по сложности звеньев, соединенных между собой на любом этапе формирования структурной схемы, будем называть фрагментом (рис. 1). Развитие любого фрагмента производится путем добавления имеющихся в наличии звеньев, каждое из которых привносит в цепь некоторое количество кинематических пар. Таким образом, элементарным шагом описываемой технологии является добавление очередного звена к построенному ранее фрагменту кинематической цепи.
Структурная схема с одним или несколькими изменяемыми замкнутыми контурами представляется, в свою очередь, условно состоящей из двух частей: гнезда контуров и периферийной части. В первую очередь формируется гнездо контуров, а затем добавляется периферийная часть.
Гнездо контуров представляет собой фрагмент структурной схемы, содержащий один или несколько изменяемых замкнутых контуров, внешние стороны которого образуют полигональную модель без всякого рода ответвлений.
Периферийная часть представляет собой “всякого рода” ответвления от гнезда контуров, присоединяется к свободным кинематическим парам звеньев гнезда и содержит, в основном, поводки и некоторое количество более сложных звеньев, оставшихся в наличии после формирования гнезда контуров. Пример расчленения структурной схемы на части представлен на рисунке 2.
Если на построение гнезда контуров использованы все звенья, то периферийная часть может отсутствовать.
Образование гнезда контуров предполагает использование гнезда-предка, представляющего собой гнездо с количеством контуров на единицу меньшим количества контуров формируемого гнезда. К примеру, для формирования двухконтурных гнезд используются, как основа, гнезда с одним изменяемым замкнутым контуром, для формирования трехконтурных гнезд - двухконтурные и т. д.
Любой фрагмент структурной схемы имеет некоторое количество сторон. Сторона фрагмента представляет собой ломаную линию, заключенную между свободными кинематическими парами. Ломаная линия состоит из прямолинейных участков, каждый из которых является стороной одного единственного звена структурной схемы, т.е. любая сторона звена может быть участком только одной из сторон фрагмента (рис. 3).
Основная технологическая операция формирования вариантов структурных схем - наслаивание. Наслаивание представляет собой операцию поочередного присоединения некоторого количества соединенных между собой звеньев к каждой
из сторон сформированного ранее фрагмента кинематической цепи. Таким образом, наслаивание возможно тогда, когда уже существует некий усеченный фрагмент структурной схемы.
а) Ь) с)
НА<3>
Рис. 1. Графическая иллюстрация понятия “фрагмент ”
части
Потребное количество звеньев, необходимых для построения кинематической цепи, рассчитывается с использованием универсальной структурной системы профессора Дворникова Л.Т. [4]. Это может быть осуществлено вручную либо с помощью компьютерной программы [5].
Минимально возможным фрагментом структурной схемы, с которого может начинаться операция наслаивания, является т - угольник [1], поскольку это единственное звено кинематической цепи, сложность которого совпадает с количеством кинематических пар, привносимых им в цепь.
После того, как на некоторой виртуальной плоскости построено первое звено - получился элементарный фрагмент зарождающейся структурной схемы. Вместе с этим появились новые объекты - это стороны. Количество таких объектов соответствует числу сторон первого звена. Каждая из сторон имеет всего один участок, представляющий собой одну из сторон т - угольника.
Присоединяя к стороне т - угольника некоторое количество соединенных между собой звеньев, получают замкнутый контур требуемой слож-
ности. Образуется новый, более сложный фрагмент цепи, имеющий некоторое количество сторон - одноконтурное гнездо. Присоединяя к сторонам полученного фрагмента некоторое количество соединенных между собой звеньев, оставшихся в наличии, получают двухконтурное гнездо и т. д.
После построения гнезда контуров производится ревизия оставшихся в наличии звеньев. Если остались неиспользованными звенья сложнее поводка, то производится развитие структурной схемы, присоединением очередного сложного звена к полученному гнезду. Наслаивание звеньев производится до тех пор, пока в номенклатуре оставшихся в наличии звеньев будут только поводки.
На финальной стадии построения структурной схемы генерируются различные варианты распределения поводков между свободными кинематическими парами и производится их присоединение к полученному в результате развития фрагменту.
Всякий раз при добавлении звена к существующему фрагменту структурной схемы некоторые из сторон удлиняются, и, может быть, зарождаются новые стороны. Когда очередное добавляемое звено в совокупности с другими образует изменяемый замкнутый контур, одна из сторон фрагмента прекращает свое существование. Таким образом, у каждого объекта есть свой собственный жизненный цикл.
Стороны фрагмента - это виртуальные объекты. Каждый из участков стороны идентифицируется номером соответствующего звена и номерами двух его смежных вершин. Сам фрагмент - тоже виртуальный объект. То же самое можно сказать о любом другом объекте структурной схемы. На очередном шаге формирования структурной схемы может появиться новая сторона - новый виртуальный объект со своим жизненным циклом.
Кинематические пары также являются объектами. При программном развитии варианта структурной схемы виртуальных объектов, соответствующих кинематическим парам, попросту нет. Однако при очередном соединении звеньев между собой появляются ссылки на то, в каких местах фрагмента они незримо присутствуют. Эти ссылки нужны для того, чтобы при отображении структурной схемы эти, уже реальные, объекты появились именно в тех местах, где это нужно.
На каждом из этапов полноценная структурная схема представляет собой развивающийся фрагмент, проходящий полный жизненный цикл, от момента его зарождения до момента присоединения к фрагменту последнего звена.
Не все из зарождающихся фрагментов пройдут полный жизненный цикл. Не все из полученных структурных схем будут пополнять своеобразную базу данных. Некоторые из вариантов будут отвергнуты на разных этапах и по различным причинам.
Таким образом, в процессе автоматизированного синтеза каждого из вариантов структурных схем будет моделироваться развитие некоторой системы, состоящей из набора объектов. Системой в нашей задаче является структурная схема, содержащая звенья и кинематические пары, а также контуры и стороны,. После окончания жизненного цикла одной из структур начинается жизненный цикл другой структуры. Другими словами, компьютерная система реализует процесс организации жизненного цикла множества вариантов структурных схем, от момента их зарождения до прекращения существования или помещения в соответствующую базу данных. Мощность множества зарождающихся структур определяется числом сочетаний всех параметров, которыми может быть охарактеризована структурная схема.
Любой фрагмент и структурная схема кинематической цепи в целом, являясь виртуальным объектом, может превратиться в реальный объект путем привязки относительных координат вершин ее звеньев, построенных на виртуальной плоскости, к фактическим координатам графического экрана.
Описанная технология получения структурных схем может осуществляться либо с использованием компьютерных средств (программно), либо “вручную” самим исследователем. Для примера рассмотрим вариант структурной схемы, содержащей два изменяемых замкнутых контура: пятиугольный и четырехугольный, при заданном общем числе звеньев, равном семи, и количестве вершин наиболее сложного звена цепи, равного трем. Последовательность выполнения операций на каждом из этапов формирования структурной схемы представлена на рисунке 4.
При автоматизированном синтезе программный комплекс должен иметь генератор гарантированно полного многообразия вариантов, артефактов, ситуаций. построитель гнезд контуров, модуль развития структурной схемы, модуль присоединения поводков, модуль формирования структур без изменяемых замкнутых контуров и, конечно, набор вспомогательных процедур.
Генератор многообразия используется на разных этапах формирования структурной схемы и служит для получения гарантированно полного многообразия вариантов реализации изменяемого замкнутого контура, вариантов распределения поводков между свободными кинематическими парами, вариантов соединения звеньев между собой при синтезе структур без изменяемых замкнутых контуров. Принцип работы генератора основан на формировании отрезка натурального ряда чисел с помощью программного счетчика, работающего в той или иной системе счисления. С помощью процедур кодирования и декодирования это дает гарантию того, что ни один из потенциально возможных вариантов не будет пропущен.
Количество потенциально возможных вариан-
тов развития структурных схем, также как и количество структур, прошедших полный жизненный цикл, чрезвычайно велико. Достаточно сказать, что при общем числе звеньев кинематической цепи более десяти, количество получаемых полноценных структурных схем исчисляется тысячами, десятками тысяч и более. Количество потенциально зарождающихся вариантов и того больше.
Для сокращения вычислительных затрат необходимо наложить на этот процесс некоторые ограничения, отбрасывающие неперспективные варианты развития структуры. Благодаря этому система обретет некоторый “интеллект” и будет развиваться не хаотично, а целенаправленно. Поскольку ограничения могут предъявляться на различных этапах формирования структурной схемы, фильтрацию вариантов можно осуществить лишь с помощью распределенного фильтра, блоки которого размещаются в нужных местах программы.
Очевидно, что первый из блоков такого фильтра должен отбрасывать те потенциально возможные варианты, для реализации которых не хватает ресурсов.
Этапы объектно-ориентированной технологии формирования структурной схемы:
1) построили т - угольник и получили элементарный фрагмент цепи, содержащий три стороны
2) к одной из сторон т - угольника присоединили четыре звена и получили пятиугольный замкнутый контур или одноконтурное гнездо; поскольку стороны идентичны - другие стороны не будут приниматься во внимание
3) к одной из сторон одноконтурного гнезда присоединили еще одно треугольное звено, образовался второй - четырехугольный изменяемый замкнутый контур и одновременно с этим двухконтурное гнездо
4) произвели развитие структурной схемы,
присоединив к гнезду оставшееся в наличии треугольное звено
угольного звена добавили оставшиеся в наличии поводки
ния, необходимый для реализации объектноориентированной технологии формирования структурных схем с изменяемыми замкнутыми контурами, представлен в таблице.
Состав программного обеспечения, обеспечивающего формирование структурных схем с изменяе-
тать свыше трех десятков компьютерных процедур, основными из которых являются:
Analog - установление изоморфности полученной структуры
BezKont - формирование структурных схем без контуров
Centr - центрирование изображения DobUtSt - добавление участка к сторонам фрагмента
Fsp - получение формализованного символьного представления фрагмента
GetKadr - чтение кадра из стековой области памяти
Koder - установление количества видов артефактов и их кодирование
Kontur - отбраковка неприемлемых вариантов реализации контуров
Konturn - формирователь гнезда контуров Korrekt - корректировка положения вершин звеньев
Lin- отбор реализуемых вариантов структур без контуров
Mnogo - построение многоугольника Para - вывод изображения кинематической пары
Povodki - размещение поводков PushKadr - запись
Razmer - определение размеров изображения Repa - перерисовка изображения Ris - рисование звена
Stik - замыкание изменяемого замкнутого контура
SvoPar - регистрация свободных кинематических пар
UFixSt - установление фиксированных сторон фрагмента
UniGen - универсальный генератор многобра-
зия
UniStor- определение уникальности сторон фрагмента
VarPov - отбор вариантов размещения поводков
Vivod - вывод графического изображения фрагмента на экран
ZapisVer - запись вершин многоугольника.
Программирующему специалисту понятно, что в конкретной реализации программного обеспечения для решения задачи поиска полного многообразия структурных схем плоских рычажных механизмов набор процедур может быть иным. Однако приведенный здесь список компьютерных процедур соответствует отдельным элементарным актам реализации описанной технологии.
______мыми замкнутыми контурами___________
Программа расчета параметров структурных схем при заданных условиях Универсальный генератор гарантированно полного многообразия вариантов
Формирователь гнезда контуров
Модуль развития структурной схемы
Модуль присоединения поводков
Распределенная система фильтров
для отбраковки неприемлемых вариантов
Вспомогательные (сервисные) процедуры
Для программной реализации объектноориентированной технологии пришлось разрабо-
СПИСОК ЛИТЕРАТУРЫ
1. Пейсах Э.Е. О структурном синтезе рычажных механизмов. Теория Механизмов и Машин., 2005, № 1, Том 3, с. 77-80
2. Грэхем, Иан. Объектно-ориентированные методы. Принципы и практика. 3-е издание.: Пер. с англ. - М.: Издательский дом Вильямс, 2004. - 880 с.
3. Большая советская энциклопедия. (В 30 томах) Гл. ред. А.М.Прохоров., изд. 3-е, Т 25, М:. Стру-нино - Тихорецк, 1976, 600 с.
4. Дворников Л.Т. Начала теории структуры механизмов. СибГГМА, Новокузнецк, 1994. - 102 с.
5. Степанов А.В. Решение универсальной структурной системы проф. Л.Т.Дворникова. Вестник КузГТУ № 3-’07, 2007, с. 43-47
□ Автор статьи:
Степанов Александр Васильевич,
-канд.техн.наук, доц., зав каф.. прикладной информатики (Сибирский государственный индустриальный университет, г. Новокузнецк)
УДК 681.3: 621.01
А.В. Степанов
О ПОРЯДКЕ ПРИМЕНЕНИЯ ПАРАМЕТРОВ ПРИ АВТОМАТИЗИРОВАННОМ СИНТЕЗЕ СТРУКТУРНЫХ СХЕМ
В работе [1] была описана объектноориентированная технология синтеза структурных схем плоских рычажных механизмов. Разработка программного обеспечения для реализации этой технологии должна начинаться с четкого определения порядка применения вспомогательных переменных, а также параметров, которыми характеризуется любой вариант структурной схемы.
Ведущими параметрами, необходимыми для синтеза структур, являются: общее количество звеньев и сложность применяемого т - угольника. Задавая указанные параметры, получают номенклатуру и числа виртуальных звеньев необходимых для создания множества вариантов структур кинематических цепей.
Поскольку имеющиеся в наличии звенья можно соединить между собой различным образом, получается множество вариантов структур, несмотря на то, что прародителем этого множества является всего-навсего одно звено - т - угольник. Если множество структурных схем изобразить в виде графа, то получим корневое ориентированное дерево, так как существует единственная вершина у0 такая, что indeg(v0) = 0, и существует путь из V0 в каждую другую вершину дерева [2]. Вид такого дерева показан на рис. 1. Правда, для представления графа в виде дерева он должен быть повернут на 180°.
Каждая из геометрических фигур, изображенных в виде овалов, представляет собой подмножество вариантов, объединенных каким-то общим признаком. От корня графа берут начало два смежных ребра, заканчивающиеся вершинами. Одна из вершин представляет собой множество вариантов структурных схем, не содержащих изменяемых замкнутых контуров, другая - множество структурных схем, содержащих в своем составе то или иное количество контуров.
Из-за отсутствия соответствующих графических возможностей, ориентированное дерево разбито на части - этажи. На рисунке 1 представлен один этаж этого дерева, содержащий множество вариантов одноконтурных схем, распадающееся на подмножества, отличающиеся сложностью применяемого контура, которые, в свою очередь, распадаются на подмножества, отличающиеся вариантом его реализации.
Левые стрелки в нижней части рисунка показывают, что каждый из одноконтурных фрагментов структурных схем порождает подмножество вариантов развития структурной схемы, каждый из которых является основой для синтеза менее мощного множества вариантов, отличающихся способом размещения оставшихся в наличии поводков между свободными кинематическими парами.
Если из заданного количества звеньев могут быть созданы структурные схемы с двумя контурами, то каждая правая стрелка является основой для пристраивания еще одного этажа дерева, представляющего собой набор множеств, выделенных штриховой линией. Максимально возможное количество применяемых замкнутых контуров определяет количество “этажей” представленной древовидной структуры.
Получение одного единственного варианта структуры кинематической цепи эквивалентно прохождению пути от корня графа по смежным ребрам к последней из вершин, представляющей собой полноценную структурную схему.
Очевидным является тот факт, что при формировании двухконтурных схем, необходимо вновь построить все варианты контуров, которые были сформированы для одноконтурных структур. При формировании структурных схем с тремя контурами необходимо вновь формировать фраг-