О компьютерном синтезе структурных схем замкнутых кинематических цепей

УДК 621.01: 681.3

О КОМПЬЮТЕРНОМ СИНТЕЗЕ СТРУКТУРНЫХ СХЕМ

З АМКНУТЫХ КИНЕМАТИЧЕСКИХ ЦЕПЕЙ

А. В. Степанов

Рассмотрены различные подходы к решению задач компьютерного синтеза структур замкнутых кинематических цепей.

Various approaches to the decision of problems of computer synthesis of the closed kinematics chains structure are considered.

Ключевые слова: кинематическая цепь, компьютерный синтез, цепи Грюблера.

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

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

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

Таблица 1

Решение задачи синтеза плоских замкнутых кинематических цепей

Число звеньев 4 б 8 10 12 14

Число цепей Грюблера 1 2 1б 230 б58б 3181б2

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

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

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

W = 3п - 2p.

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

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

к = п, 0 < п < 2, 0 < п < Е(а),

' = к-1, к - 2, 4,

к к

пз =п - 4-У(' - 2)п, п=4+У (' - зм,

'=4 1=4

к-'

п - 4-У(к - г -1) • пк-г+1

где а =----------г=------------------

' ' - 2

Решения системы должны удовлетворять следующим требованиям:

к к

У П = п; У' • п = Зп - 4; П' > 0

'=2 '=2

о = 3, 4, ..., к).

Здесь: к = п/2 - число геометрических элементов самого сложного звена цепи; п - чётное число (п > 4).

Несмотря на значительное число формул, целочисленные решения получают, как это показано в тексте статьи, путем подбора, изменяя количество звеньев самого сложного звена цепи. Далее приведены решения системы для значений п = 8, 10, 12, 14 и 16 с использованием, как ни странно, системы (2). А вот о самом алгоритме поиска целочисленных решений - ни слова.

Чуть ранее автор статьи [2] пишет: «Исследования в области структурного синтеза замкнутых кинематических цепей нуждаются в дальнейшей разработке. Во многих публикациях даётся только краткое и неполное описание предлагаемых методов, не раскрыты все этапы синтеза (вследствие чего не представляется возможным воспроизведение описываемых в них подходов и результатов), не обсуждаются вычислительные проблемы, возникающие при компьютерной реализации алгоритмов, часто исследования ориентированы на синтез кинематических цепей только с определённым числом звеньев, отсутствует какая-либо систематизация найденных цепей».

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

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

Функциональность приложения обеспечивается одной единственной процедурой, представляющей собой программную реализацию счетчика, работающего по основанию п+1 и имеющему k разрядов. Ранее пояснялось, что п - общее число звеньев цепи, k - число геометрических элементов самого сложного звена цепи. Из множества состояний счетчика отбираются только те, которые удовлетворяют соотношению (1). Ниже на рисунке 1 приведен исходный код процедуры, а на рисунке 2 - окно работающего приложения. При общем количестве звеньев от

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

щим числом звеньев равным 18. Число всевозможных вариантов равно 105.

procedure TForm1.Button1Click(Sender: TObject);

var W,tau,n,i,sumzv,sump,dvap,kolvar: byte; ni:array[1..20]of byte; stroka:string; begin

pl2lb2.Visible:=False;

Memo1.Lines.Clear;

kolvar:=0;

W:=4;

n:=StrToInt(pl1CB1.Text); tau:=n div 2; if (n mod 2)<> 0 then begin

pl2lb2.Visible:=True;

exit;

end;

for i:=1 to 10 do ni[i]:=0;

ni[1]:=n;

dvap:=3*n-W;

repeat

sumzv:=0;

for i:=1 to tau-1 do

sumzv:=sumzv+ni[i];

if sumzv=n then

begin

sump:=0;

for i:=1 to tau-1 do

sump:=sump+(i+1)*ni[i];

if sump=dvap then

begin // регистрация решения

kolvar:=kolvar+1;

stroka:=";

Memo1.Lmes.Add('вариант'

+IntToStr(kolvar));

for i:=1 to tau-1 do

stroka:=stroka+'n['+IntToStr(i+1)+']=' +IntToStr(ni[i])+’ ’; Memo1.Lines.Add(stroka); stroka:=";

end; // регистрация решения end;

ni[1]:=ni[1]+1; // переносы

for i:=1 to tau-1 do

if ni[i]=(n+1) then

begin // переносы в счетчике

ni[i]:=0;

ni[i+1]:=ni[i+1]+1;

end; // переносы в счетчике

until ni[tau]>0;

end;

Рис. 1. Исходный код процедуры

№

_2_

_з_

_4_

_5_

_6_

_7_

_8_

_9_

_10

21

Л

_13

.11

Л

л

л

Л

Л

20

21

22

23_

21

25

26

27

28

29

Л

11

Л

зз

34

35

36

37

38

39

40

41

42

_43

44

45

46

47

48

49

50

51

52

53

Таблица 2

Состав звеньев для получения замкнутых кинематических цепей с числом звеньев п = 18

«2

Пэ

14

«4

«5

«6

«7

«8

«9

12

10

10

11

11

10

11

10

11

12

10

11

12

12

13

10

10

11

12

10

11

12

11

12

13

13

10

11

12

13

12

13

14

13

14

10

11

12

10

4

0

0

0

0

0

0

5

1

0

0

0

0

0

6

2

0

0

0

0

0

7

8

3

0

0

0

0

0

8

6

4

0

0

0

0

0

9

4

5

0

0

0

0

0

2

6

0

0

0

0

0

0

7

0

0

0

0

0

6

1

0

0

0

0

0

7

9

1

0

0

0

0

8

7

2

0

0

0

0

9

5

3

0

0

0

0

3

4

0

0

0

0

1

5

0

0

0

0

8

8

0

2

0

0

0

0

9

6

1

2

0

0

0

0

4

2

2

0

0

0

0

2

3

2

0

0

0

0

0

4

2

0

0

0

0

5

0

3

0

0

0

0

3

1

3

0

0

0

0

1

2

3

0

0

0

0

2

0

4

0

0

0

0

0

1

4

0

0

0

0

7

0

0

1

0

0

0

8

8

1

1

0

0

0

0

9

6

2

1

0

0

0

0

4

3

0

0

0

0

2

4

0

0

0

0

0

5

0

0

0

0

9

7

0

1

0

0

0

5

1

1

0

0

0

3

2

1

0

0

0

1

3

1

0

0

0

4

0

2

0

0

0

2

1

2

0

0

0

0

2

2

0

0

0

1

0

3

0

0

0

6

0

0

2

0

0

0

4

1

0

2

0

0

0

2

2

0

2

0

0

0

0

3

0

2

0

0

0

3

0

1

2

0

0

0

1

1

1

2

0

0

0

0

0

2

2

0

0

0

2

0

0

3

0

0

0

0

1

0

3

0

0

0

8

9

0

0

0

0

0

9

7

1

0

0

0

0

5

2

0

0

0

0

3

3

0

0

0

0

1

4

0

0

0

0

6

0

1

0

0

0

№ «2 «з «4 «5 «6 «7 «8 «9

54 11 4 1 1 0 1 0 0

55 12 2 2 1 0 1 0 0

56 13 0 3 1 0 1 0 0

57 12 3 0 2 0 1 0 0

58 13 1 1 2 0 1 0 0

59 1 0 0 3 0 1 0 0

60 11 5 0 0 1 1 0 0

61 12 3 1 0 1 1 0 0

62 13 1 2 0 1 1 0 0

63 13 2 0 1 1 1 0 0

64 14 0 1 1 1 1 0 0

65 14 1 0 0 2 1 0 0

66 12 4 0 0 0 2 0 0

67 13 2 1 0 0 2 0 0

68 14 0 2 0 0 2 0 0

69 14 1 0 1 0 2 0 0

70 15 0 0 1 0 2 0 0

71 9 0 0 0 0 0 1 0

72 10 6 1 0 0 0 1 0

73 11 4 2 0 0 0 1 0

74 12 2 3 0 0 0 1 0

75 13 0 4 0 0 0 1 0

76 11 5 0 1 0 0 1 0

77 12 3 1 1 0 0 1 0

78 13 1 2 1 0 0 1 0

79 13 2 0 2 0 0 1 0

80 14 0 1 2 0 0 1 0

81 12 4 0 0 1 0 1 0

82 13 2 1 0 1 0 1 0

83 14 0 2 0 1 0 1 0

84 14 1 0 1 1 0 1 0

85 15 0 0 0 2 0 1 0

86 13 3 0 0 0 1 1 0

87 14 1 1 0 0 1 1 0

88 15 0 0 1 0 1 1 0

89 14 2 0 0 0 0 2 0

90 15 0 1 0 0 0 2 0

91 10 7 0 0 0 0 0 1

92 11 5 1 0 0 0 0 1

93 12 3 2 0 0 0 0 1

94 13 1 3 0 0 0 0 1

95 12 4 0 1 0 0 0 1

96 13 2 1 1 0 0 0 1

97 14 0 2 1 0 0 0 1

98 14 1 0 2 0 0 0 1

99 13 3 0 0 1 0 0 1

100 14 1 1 0 1 0 0 1

101 15 0 0 1 1 0 0 1

102 14 2 0 0 0 1 0 1

103 15 0 1 0 0 1 0 1

104 15 1 0 0 0 0 1 1

105 16 0 0 0 0 0 0 2

111

Номенклатура звеньев цепи

Расчет номенклатуры звеньев

Рис. 2. Окно работающего приложения

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

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

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

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

Э. Е. Пейсаха [2, 3].

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

1 2 3 4 5 6

1 0 1 0 0 1 0

2 1 0 1 0 0 1

3 0 1 0 1 0 0

4 0 0 1 0 1 0

5 1 0 0 1 0 1

6 0 1 0 0 1 0

Рис. 3. Топологическое описание цепи

Для случая рисунка 3 звенья пронумерованы сле- мер 1, а далее нумерация звеньев соответствует дующим образом. Левое двухпарное звено имеет но- стрелке. Шестое звено соединяет два трехпарных

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

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

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

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

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

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

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

Но это - предмет отдельной публикации.

Литература

1. Grubler, M. Gegtriebelehre. Eine Theorie des Zwanglaufes und der ebene Mechanismen [Текст] / M. Grubler. - Berlin: Springer-Verlag, 1917.

2. Пейсах, Э. Е. Структурный синтез замкнутых кинематических цепей (цепей Грюблера). Ч. 1 [Текст] / Э. Е. Пейсах // Теория механизмов и машин. Т. 6. - 2008. - №1. - С. 4 - 14.

3. Пейсах, Э. Е. Структурный синтез замкнутых кинематических цепей (цепей Грюблера). Ч. 2 [Текст] / Э. Е. Пейсах // Теория механизмов и машин. Т. 6. - 2008. - №2. - С. 3 - 17.

4. Степанов, А. В. Объектно-ориентированная технология компьютерного синтеза структурных схем плоских шарнирных механизмов [Текст] / А. В. Степанов // Вестн. КузГТУ. - 2007. - № 6 (64). - С. 105 - 110.

5. Степанов, А. В. Идентификация структурных схем плоских кинематических цепей с вращательными парами пятого класса [Текст] / А. В. Степанов // Вестн. КузГТУ. - 2008. - № 2 (66). - С. 75 - 78.

33