Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Системы очувствления и адаптивные промышленные роботы

..pdf
Скачиваний:
12
Добавлен:
12.11.2023
Размер:
16.86 Mб
Скачать

Рис. 5.16. Простое задание для робота

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

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

Пример. Пусть один из фрагментов операции сборки, которую выполняет ро­ бот, заключается в выборке детали из накопителя и транспортировке ее в сборочное приспособление, и пусть р х, р 2, р3, р4 — имена точек позиционирования, которые должен обойти манипулятор в процессе исполнения (рис. 5.16), В начальный момент времени манипулятор находится в состоянии х0 (рис. 5.17, а), а регулятор (рис. 5.17, б) — в состоянии г0. В этом состоянии регулятор генерирует сигнал р х, который, будучи принят манипулятором, переводит его в состояние х х.

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

Ш а г 1. Выборка описателей точки позиционирования р х (напомним, что мани­ пулятор мы считаем обученным, поэтому эти описатели уже имеются в памяти в той или иной форме).

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

Ш аг 3 . Планирование траектории,вычисление управлений и выдача их на при­ воды подвижных сочленений.

Ш аг 4 . В случае прихода захвата манипулятора в целевую точку р х — генера­ ция на выходе символа g , подтверждающего успешное выполнение задания.

Далее задание выполняется аналогично: взаимосвязанная работа двух автоматов обеспечивает последовательный перевод захвата в точки р ъ р 2, р3, /?4, p lt ...

Логическое управление адаптивным роботехническим комплек­ сом. Все рассмотренные выше задачи управления могли быть решены стандартными способами. Например, формулировка задания на

Рис. 5.17. Автоматы, обеспечивающие обход манипулятором

точек pif р2, ряpi'

а — «обученный» манипулятор как объект управления;

б — регулятор

одном из языков управления движением манипулятора может вы­ глядеть так:

LI: move Р1;

move Р2;

move РЗ;

move Р4;

goto L1;

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

1 5 3

 

Рис. 5.18. Схема управляющей логической сети

 

ментов, но и сложностью задачи,

 

решаемой робототехническим ком-

Мг)

плексом.

 

 

 

Пусть i-й активный элемент

 

имеет описание

 

 

Тогда, интерпретируя активный

 

элемент

как объект

управления,

 

построим

конечный

автомат

Rt — [URt> X Ri, Y Ri>

фу?.},

 

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

условию U R . s Y E V UE (

£ Y R . Регулятор управляет поведе­

нием активного элемента,

принимая лишь информацию в виде сим­

волов его выходного алфавита. Для обеспечения согласованного управления совокупностью элементов введем еще ряд автоматов, называемых мониторами Л1?, которые связаны с некоторым выбран-- ным подмножеством регуляторов. Такая иерархическая управля­ ющая структура может быть надстроена вверх мониторами M kif

k = 1, 2 ... настолько, насколько это необходимо для эффективного управления комплексом. Так, на рис. 5.18 представлена логическая сеть, управляющая пятью активными элементами, при этом мони­ торы Щ и Afjj управляют группами из трех и двух элементов соответ­

ственно, а монитор М \ управляет всем комплексом в целом. Стрел­

ками на рисунке обозначены потоки информации, которой обмени­ ваются автоматы в процессе работы (эту информацию несут символы входных и выходных алфавитов). Обмен между мониторами М \ и AfJJ

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

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

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

154

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

СТЗ, работающая в режиме визуальной инспекции, также пере­ дает системе управления данные первого типа. Эти передаваемые данные, кодируемые, например, символами а и Ь, можно интерпре­ тировать так: а — предъявленная сцена содержит требуемый объект; b — предъявленная сцена не содержит требуемого объекта. Режим распознавания также обеспечивает передачу системе управления данных, принимающих конечное число значений, например: а — предъявлен объект А; b — предъявлен объект В, ...; у — предъявлен объект Y; г — предъявлен незнакомый объект.

Ко второму типу данных относятся, например, показания силомоментных датчиков, дальномеров, показания СТЗ, работающей в режиме вычисления геометрических характеристик объектов сцены (координаты центра тяжести, ориентация), и т. д. Про каждую со­ ставляющую этих данных можно сказать, что соответствующий при­ знак может принимать бесконечное число значений из некоторого промежутка (так, ориентация у объекта, предъявленного СТЗ, удовлетворяет условию у С (—я/2, я/2).

Процесс адаптации поведения робота, оснащенного системой очувствления, которая поставляет данные первого типа, также может быть рассмотрен в рамках теории конечных автоматов. Для этого необходимо интерпретировать систему очувствления как ко­ нечный автомат, выходной алфавит которого совпадает со значе­ ниями передаваемых признаков. Например, в рассмотренном выше случае работы СТЗ в режиме распознавания выходной алфавит соот­ ветствующего автомата имеет вид Y = (а, Ьу ..., у, г). Здесь, однако, есть одно весьма важное отличие, которое заключается в следующем. До сих пор функция вход—состояние—выход предполагалась одно­ значной в том смысле, что каждой паре вход—состояние соответ­ ствует единственный символ выходного алфавита. В рассматривае­ мом случае на выходе автомата, описывающего систему очувствления и находящегося в определенном состоянии, при фиксированном входе может появиться любой символ из некоторого подмножества симво­ лов выходного алфавита а, &,..., у, г. Такой автомат, у которого, в частности, каждому элементу выходного алфавита приписана некоторая мера, характеризующая вероятность его появления на выходе, называется стохастическим.

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

155

Рнс. 5.19. Адаптивный робототехнический комплекс: а — состав; б — пример задания

ным образом) перестраиваться в зависимости от состояния внешней среды.

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

Пример. Допустим, что адаптивный робототехнический комлекс (РТК) вклю­ чает два манипулятора, СТЗ, работающую в режиме визуальной инспекции, поворот­ ный стол и пресс (рис. 5.19, а ). Задача, выполняемая РТК, — сборка узла, состоя­ щего из двух деталей, которые находятся в накопителях. В общих чертах техноло­ гический процесс заключается в выполнении последовательности следующих опе­ раций.

Шаг 1. Взять деталь А из накопителя и перенести ее на сборочную позицию.

Шаг 2. Убедиться с помощью СТЗ в том, что деталь А действительно нахо­

дится на сборочной позиции в требуемом положении. В противном случае перейти на шаг 11.

Ш аг

3 .

Взять деталь Б из накопителя и перенести ее на сборочную позицию.

Ш аг

4 .

Убедиться с помощью СТЗ в том, что деталь Б действительно находится

на сборочной позиции в требуемом положении. В противном случае перейти на шаг 13.

Шаг 5 . Повернуть стол.

Шаг 6 . Запрессовать детали А и Б .

Шаг 7. Повернуть стол.

Шаг 8 . Убедиться с помощью СТЗ, что узел собран верно. В противном случае

перейти на шаг 15.

Ша г 9 . Перенести узел в тару готовых изделий.

Ша г 10. Перейти на шаг 1.

Шаг И . Взять деталь А и положить в тару брака.

Шаг 12. Перейти на шаг 1.

Шаг 13. Взять детали Б и А и положить в тару брака.

156

Рис. 5.20, Конечные автоматы, эквивалентные активным элементам, входящим в состав РТК

Ша г 14 . Перейти на шаг 1.

Ша г 15 . Взять узел и положить в тару брака.

Ша г 16 . Перейти на шаг 1.

Наличие системы очувствления в виде СТЗ придает РТК адаптивные свойства, которые заключаются в смене линии поведения в зависимости от состояния процесса сборки, которое СТЗ контролирует.

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

Ниже приведены описания активных элементов и их входной и выходной ал­ фавиты (в скобках указаны имена соответствующих автоматов).

Манипулятор 1 (ЛО. В ходн ой ал ф ави т : р х, р 2, Рз> Р4 . РеПоявление на входе автомата этих символов обеспечивает перевод захвата манипулятора в соответствую­ щую точку (рис. 5.19, б). В ы ходн ой а л ф а в и т : g x. Этот символ свидетельствует о до­ стижении захватом перечисленных выше точек. На рис. 5.20, а приведен граф пере­ ходов рассмотренного автомата.

Захват 1 ( G R X) . В ходн ой а л ф а в и т :о 1, сх. Каждый из этих символов обеспечивает открытие и закрытие захвата. В ы ходн ой а л ф а в и т : g g x. Свидетельствует о том, что захват манипулятора перешел в требуемое состояние. Соответствующий граф при­ веден на рис. 5.20, б . Мы выделяем здесь состояние захвата из числа описателей точки позиционирования, куда он, как правило, входит. Это обусловлено тем, что часто геометрические параметры точек позиционирования совпадают, а состояния захвата в ней разные (так бывает, например, при выполнении роботом транспортных операций, когда движение в одном направлении осуществляется при закрытом зах­ вате, а в противоположном — при открытом).

Манипулятор 2 ( А 2) В ход н ой а л ф а в и т : р3, р4, р7, р8, р9, р10. В ы ходн ой а л ф а ­

вит : g 2.

Некоторые элементы входных алфавитов А г и Л2 выбраны одинаковыми. Это сделано для простоты дальнейшего изложения: на самом деле одни не должны сов­ падать.

Смысл этих символов аналогичен символам входного и выходного алфавита ма­

нипулятора

1.

Граф переходов совпадает с графом, изображенным на рис. 5.20, а .

Захват

2

(G R 2). В ход н ой а л ф а в и т : о2, с2. В ы ходн ой алф авит : g g 2.

Система обозначений и граф переходов аналогичны соответствующим компо­ нентам захвата 1.

СТЗ (К)* В ход н ой а л ф а в и т : w Xy w 2, w 3. Эти символы инициируют обзор рабочего пространства системой технического зрения с целью обнаружения в нем 1-й детали,

157

Рис. 5.21. Схема логической сети, уп­ равляющей поведением РТК

2-й детали и собранного

узла

со­

ответственно.

В ы ходн ой

а л ф а ви т :

v t , v f, Выходной

сигнал

v t

свиде­

тельствует

о

нормальном

течении

процесса

сборки,

a

v f — об

от­

клонении от нормы (деталь от­

сутствует

в

месте

сборки

или

установлена

неправильно).

Граф

рис.

5.20, в.

 

 

обеспечивают

Пресс (Р). В ходн ой а л ф а в и т : и, d . Символы

входного алфавита

перемещение подвижного элемента пресса вверх

н вниз соответственно. В ы ходной

а л ф а ви т : р и , p d . Появление на выходе этих символов свидетельствует о нахождении

пуансона в требуемом положении.

Граф конечного автомата Р представлен на

рис. 5.20, г .

а л ф а в и т ; о). Появление символа ш приводит

Поворотный стол ( R ) . В ходн ой

к тому, что стол повернется на одну позицию. В ы ходн ой а л ф а в и т ; rt. Появление сим­ вола r t свидетельствует об окончании процесса поворота стола. Соответствующий граф приведен на рис. 5.20, д .

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

РТК.

На рис. 5.21 приведена схема логической сети, компоненты которой являются конечными автоматами. Регуляторы R x и R 2 управляют манипуляторами и их за­ хватами на основании полученной от них информации, а также команд монитора

M N ,

который осуществляет

согласованное управление всем комплексом

в целом.

Опишем теперь кратко работу некоторых из автоматов, входящих в состав

логической сети.

а л ф а в и т : g lt g g lt s tl7 o k l7 f l v Смысл

символов^, ggj

Регулятор (#i). В ходн ой

описан выше: они являются

выходными символами автоматов А г

и

Символы

s/i,

f l ± поступают на вход R t от монитора M N и означают следующее: s t1 — ко­

манда

запуска регулятора; о/г* — СТЗ подтвердила правильность

протекания сбо­

рочного процесса; f l x — первый этап сборки завершен неудачно. В ы ходн ой а л ф а ви т :

Р ъ Р ъ Рз> Pi* Рь> Р%у eui- Символы p lt ..., р6 обеспечивают перевод манипулятора в со­ ответствующие точки позиционирования (см. автомат А г). Символ еиг передается монитору, чтобы проинформировать его о том, что, начиная с этого момента, можно инициировать работу СТЗ с целью проведения визуальной инспекции рабочей сцены, поскольку деталь А установлена в сборочное приспособление и поле зрения видео­ датчика не заслонено захватом манипулятора.

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

Монитор (iWV). В ход н ой а л ф а в и т : s t0, e v lt v t , v f, .... Символ s t0 — это команда, источником которой является человек-оператор и который инициирует исполнение всего сборочного процесса. Все остальные символы принадлежат выходным алфави­ там соответствующих автоматов. В ы ходн ой а л ф ави т : $ tlt w lt s/2, ok1% со, ... Команды st-± и s^2 запускают исполнение сборки первым и вторым манипуляторами. Заметим, что, попав в состояние х4, монитор выдает сразу два управляющих символа, которые обеспечивают параллельное исполнение сборки двумя манипуляторами.

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

Реализация логического управления. Способы реализации логи­ ческого управления могут быть различными. Как известно, все

158

Рис. 5.22. Управляющие элементы логиче­ ской сети:

а — регулятор манипулятора; б — мо­ нитор

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

1 5 9

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

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

тов)

теряет

все свои

пре-

-------------------------------------------------------

имущества.

 

 

 

 

 

--------------

зтр.н

 

шу

Типичная программа \

УЖ-------------------

 

 

т у

STRUCT

POINT

 

 

 

реализующая

работу

ко­

ill

 

 

 

 

нечного

автомата,

пред­

STRUCT POINT

«NEXT;

 

ставлена

на

рис.

5.23.

STRUCT

. IN .

 

 

 

ill

 

 

 

Она написана на языке С

 

STRUCT

«IN ­

«NEXT1;

 

и обеспечивает

выполне­

 

STRUCT

.OUT.

 

 

ние

всех требуемых функ­

 

ill

 

.OUT.

 

 

STRUCT

*NEXT2;

ций

автомата,

если

соот­

 

LONG

INT

OUT-СИ;

ветствующим образом ини­

 

I NT

.

MOM.AT;

 

циализирована

структура

 

ill*T0.0UT;

 

 

LONG

INT

IN.CH;

 

данных (рис. 5.23, а). Про­

INT

 

*PNT.NX;

 

 

грамма

является

универ­

ill*T0.IN;

 

 

 

сальной

в том смысле, что

INT

3TAT;

 

 

 

INT

TIK;

 

 

 

обеспечивает программную

INT

NUMBER;

 

 

 

реализацию

почти

 

всех

ill;

 

 

 

 

автоматов (структура дан-

STRUCT

BLOCK

 

 

 

ных

у каждого

автомата

ill

 

 

 

 

инициализируется

инди­

INT

 

3I2 E .3 ;

 

 

видуально);

 

исключение

INT

 

*PNT_rR;

 

 

 

INT

 

*PNT_ENDJ

 

составляют

лишь

некото-

INT

 

BOBVC ];

 

 

 

 

 

 

 

 

 

 

ill;

 

 

 

 

непосредственно с ными элементам и, т.

управляющей структуры (см. рис. 5.1< принимают

ется А. А. Дмитриев

Рис. 5.23. Программа, моделирую­ щая работу конечного автомата:

EXTERN

STRUCT

POINT

«DATA01C ];

EXTERN

STRUCT

BLOCK

DATA32)

EXTERN

STRUCT

BLOCK

DATA33;

EXTERN

STRUCT

BLOCK

ВАТАЭ4;

EXTERN

LONG

INT

ВАТАЭЭСЗ! 3:

EXTERN

INT

DATATMC 31 J;

EXTERN

INT

BATASTC311)

#BErINE

GRPNUM

32

 

#DErINE

NULL

9

 

SM.___ _

 

 

 

а — структура данных;

б — ин­

струкции

о)

160

— ■*./

# INCLUDE

“3TR.И"

 

«DEFINE

NUM.SU

1

MAIN О

ID

REGISTER

STRUCT

POINT

*A;

REGISTER STRUCT _IN.

*3;

REGISTER

STRUCT

-OUT.

*C;

INT

 

STATE;

 

 

 

^

A = DAT Ad К

NUN .3U 3;

 

 

 

В = A - >T 0 _ IN;

 

 

 

 

F 0 R < J ;>

 

 

 

 

 

 

Ш

 

 

 

 

 

 

 

WT3E<

GPPNUN

+ N U M - S U ) ;

 

 

C L E F <

GRPNUM + NUM_SU>;

 

 

lr<( STATE - REC-IN<3>>

!- NULL

>

Ш

 

 

 

 

 

 

D A T A 00 CN UM . S U3

3->IN_CH;

 

A

■= STATE;

 

 

 

 

DATAS'TC NUM.SU 3 *

A->3TAT;

 

DATATML NUM.SWJ -

А->Т1Ю

 

B

■= A - >TO-IN;

 

 

 

ill

 

 

 

 

 

 

 

ai

 

 

 

 

 

 

 

Щ

 

 

 

 

 

 

 

R E C -O U K O .

 

 

 

 

REGISTER

STRUCT

.OUT.

*C;

 

ID

 

 

 

 

 

 

 

REGISTER

INT

*DEU;

 

 

 

REGISTER

INT

BODV;

 

 

 

WHILE* C !- NULL)

 

 

 

Ш

 

 

 

 

 

 

 

IF*C->N0M-AT < 0>

 

 

 

ID

 

 

 

 

 

 

 

DEU - C->NOM.AT

 

 

 

30DV

= C- >0UT_CH.i

 

 

 

*DE'J

-

BOD7;

 

 

 

ID

 

 

 

 

 

 

 

ELSE

 

 

 

 

 

 

 

ID

 

 

 

 

 

 

 

DATA00C

C->NOM-AT ]

C->OUT_CH;

3ETF< C->NOM_AT + GRPNUM);

 

111

 

 

 

 

 

 

 

C = C->NEXT2;

 

 

 

 

31

 

 

 

 

 

 

 

m

 

 

 

 

 

 

*/

--------------------------------------------------------------

 

 

 

 

 

 

RECwIN<B>

 

 

 

 

 

REGISTER

STRUCT

_ IN -

*B>

 

Hi

 

 

 

 

 

 

 

WHILE*

3->NEXTl »- 0>

 

 

ID

 

 

 

 

 

 

 

IF< <

DATA00CNUM.3W3

A 3->IH_CH>

« 3->IN_CH>

■> ID

[ REC-OUT < 3 - >TO_OUT> s

RETURN<3->PNT.NX>;

HI

HI

RETURN<0)j

 

 

31

.

ж/

/*------------------------------

 

6)

 

^ П'р I£. П. Попова. В- В. Клюева

\Сл\

Соседние файлы в папке книги