Роботы, их самовоспроизведение и печать чертежей

робототехника

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


сборка

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

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

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

Но зачем? Конечно, был интерес и чисто научный. Однако практическое использование роботов, делающих себе подобных, определяется только экономической целесообразностью; если они дают в конечном счете экономию общественного времени, то их следует применять, если не получается — надо пока отказаться от самовоспроизведения. Дело в том, что робот, как любая машина (впрочем, как и любой биологический объект), имеет ограниченный ресурс — г, конечное время жизни. Бессмертных автоматов тоже нет… А значит, когда робот, созданный для вполне конкретной работы, использует часть своего ресурса на изготовление себе подобных, то тем самым он сокращает ту часть своей жизни, что предназначена для выполнения основной работы.

Из этого очевидного обстоятельства следует не совсем тривиальный вывод. Оказалось, что если для изготовления робота требуется выполнить несколько одинаковых технологических операций (например, завинтить десять винтов) и эти операции могут делать и человек, и робот, то оптимально или все поручить человеку или все роботу. Все или ничего — середина вредна!

График

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

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

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

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

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

манипулятор

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

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

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

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

Сегодняшний робот содержит около тысячи деталей, и мало надежд на то, что будущие роботы будут проще. Современные сборочные автоматы выполняют технологические операции не наверняка, а с некоторой вероятностью. Например, для автоматов по сборке электроламп она равна 0,99. Это высокая вероятность — всего один процент брака. Надо иметь в виду, что сборочные автоматы или на класс точнее собираемых ими устройств, или подгоняются, настраиваются перед работой. Поскольку при самовоспроизведении роботов ни того, ни другого сделать будет нельзя, вероятность правильной сборки их будет еще меньше. Но все же предположим, Что вероятность выполнения роботом каждой отдельной технологической операции равна 0,99. Какова при этом будет вероятность собрать годного робота?

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

робот

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

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

Робот

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

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

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

Лего робот

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

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

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

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

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

Робот

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

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

Автор: В. Чадеев.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *