Когда на Парижской выставке демонстрировалась «электрическая собака», идея обратной связи еще не была сформулирована. Игрушка служила исключительно для демонстрации явления фотоэлектрического эффекта и не связывалась с серьезными попытками моделировать хотя бы самые простые особенности поведения живого организма.
Прошло еще двадцать лет, и вот в 1950 году английский физиолог Грей Уолтер демонстрирует электромеханических «животных» — черепах. По сравнению с одним из своих ближайших предков — «электрической собакой» — черепахи Уолтера прошли значительно больший путь «эволюционного развития». Помимо фотоэлемента, они были оснащены механическим контактом в форме переднего буфера, включающим задний ход при наезде на препятствия. Таким образом, кроме «зрения», они обладали еще и «осязанием». Благодаря оригинальной логической схеме и конструкции тележки, оснащенной двумя электродвигателями — ходовым и рулевым, игрушка была способна воспроизводить ряд движений, как бы моделирующих поведение животного. В отличие от «электрической собаки» она не только двигалась к «пище» — свету, но могла, двигаясь по сложной траектории, «искать» пищу, объезжать препятствия, на которые натыкалась.
Черепахи Уолтера вызвали подражание; семья электрических «животных» стала быстро плодиться. Их свойства и поведение варьировались, они оснащались устройствами выработки условных рефлексов. В течение нескольких лет «животных» строили ученые, потом студенты, потом школьники. В большинстве случаев авторы игрушек стремились уже не столько к внешнему сходству и не к тому, чтобы продемонстрировать возможность современных средств автоматики. Главная цель состояла в том, чтобы наиболее удачным образом промоделировать простейшие схемы поведения животного.
Подробные описания подобных «кибернетических» игрушек имеются практически во всех научно-популярных книжках по кибернетике и научно-популярных журналах. Поэтому вряд ли имеет смысл здесь повторять их. В последние годы увлечение этими игрушками стало проходить. Однако, несмотря на то, что непосредственного приложения в автоматостроении они не получили, нельзя считать, что время и труды, потраченные на их проектирование и постройку, затрачены впустую. Эти механические модели поведения живых «автоматов» были, наверное, необходимым этапом на пути создания автоматов будущего, и им вполне можно отвести местечко на верхней полке.
В подтверждение сказанному в 1962 году появилось сообщение, что в США построен макет манипулятора, непосредственно управляемого вычислительной машиной, обладающего свойством целесообразного «поведения» при взаимодействии с внешним миром. Поскольку этот макет является, очевидно, первым техническим устройством подобного типа, имеет смысл о нем рассказать настолько подробно, насколько это возможно, используя опубликованные материалы.
Идея построить такой манипулятор была высказана в конце 1958 года двумя американскими математиками и инженерами Клодом Шенноном, в частности немало времени занимавшимся «поведением» механических животных, и Марком Минским, специалистом в области так называемой интеллектроники — одной из молоденьких родственниц кибернетики.
В 1960 году молодой швейцарец Генрих Эрнст, аспирант Массачусетского технологического института, взялся за реализацию этой идеи под руководством ее авторов. В конце 1961 года макет был построен и прошел первые испытания.
Этот манипулятор представляет собой механическую руку, обладающую семью степенями свободы: двумя поступательными движениями в направлениях, показанных прямыми стрелками, тремя вращательными движениями — в соответствии с дуговыми стрелками. Непосредственно сам схват, состоящий из двух «пальцев», может выполнять еще два движения: 1) открытие — закрытие и 2) поворот относительно оси, сочленяющей его с вертикальной трубой.
Схват «очувствлен» и обладает «зрением» и «осязанием». В передней части каждого из пальцев расположено по «глазу» — фотодиоду, реагирующему на тени, отбрасываемые зачерненными объектами. Верхняя, нижняя и наружная грани каждого из пальцев оснащены контактными датчиками, работающими в двоичном коде: включен — выключен. Эти датчики сигнализируют о том, что рука наткнулась на объект нерабочими участками. Аналогичный датчик установлен в нижней части схвата; он включается, когда рука касается стола или пола.
На внутренней грани и переднем торце каждого пальца расположено по восемь датчиков, работающих уже не в двоичном коде, а генерирующих сигнал, величина которого пропорциональна силе нажатия на этот датчик.
Шесть датчиков собирают информацию о том, какие участки пальцев участвуют в схватке и с какой силой пальцы хватают объект. Два датчика, расположенные по бокам «глаза», регистрируют силу сопротивления объекта и получают косвенную информацию о том, что этот объект собой представляет.
И наконец, еще семь датчиков, для каждой из семи степеней свободы, обеспечивают обратную связь, сигнализируя о том, как механизмы отрабатывают программы действия.
Вся информация, собираемая рукой в процессе ее действия, передается в вычислительную машину. Там она обрабатывается и используется в процессе выработки программы, необходимой для выполнения поставленной задачи, например… собрать рассыпанные по полу кубики и сложить их в коробку. Эта программа поступает в исполнительные двигатели и механизмы, осуществляющие движения во всех подвижных сочленениях. Рука движется, собирает информацию, и… весь круговорот начинается сначала.
Электронно-механическое «существо» обладает подобием скелета и подобием мышц, подобием рецепторов и подобием мозга! Чем не зародыш Ирапожиса? Но к действию он еще не готов.
Поручая ребенку собрать кубики в коробку, вы должны быть уверены, что он вас правильно поймет. Он должен знать, что такое кубик и что такое коробка. Другими словами, ребенок может выполнить задание при условии, что его внутренний мир приведен в соответствие с окружающей средой и отражает ее настолько правильно, насколько это необходимо, чтобы правильно с ней взаимодействовать.
Автомату мало иметь «псевдоживотную» структуру. Его тоже нужно оснастить «внутренним миром», правильно отражающим среду, в которой он действует. Только сопоставляя свои «внутренние представления» с информацией, собираемой его «органами чувств», он может моделировать разумное поведение.
Сбор кубиков был первым заданием руке Эрнста и пока единственным, описанным в опубликованных материалах. Вот примерная последовательность операций, связанных с выполнением этого задания и сформулированных в программе, введенной в вычислительную машину, управляющую рукой:
1. Рука начинает поисковое движение с целью найти коробку. Коробка выше и больше кубиков, и, очевидно, это обстоятельство было отражено во «внутреннем мире» автомата и помогало ему искать коробку, отличая ее от кубиков.
2. Найдя коробку, автомат определяет ее размеры, абсолютное положение, положение по отношению к схвату, запоминает эту информацию, которая понадобится при складывании кубиков в коробку.
3. Затем рука отправляется на поиск кубиков. Наткнувшись на кубик, она определяет его положение и размеры для того, чтобы правильно ориентировать схват относительно кубика.
4. Рука схватывает кубик и несет его к месту расположения коробки; она движется до тех пор, пока не наткнется на коробку.
5. Определяется правильное расположение кубика относительно коробки, после чего кубик опускается в коробку.
6. Рука отправляется туда, где она нашла предыдущий кубик, и откуда отправляется на поиск следующего кубика.
В процессе поиска кубиков рука периодически совершает контрольные движения, чтобы убедиться, что поиск ведется достаточно низко над столом. Если она в процессе поиска ударяется о стол, то поиск прекращается, и рука выбирает правильное положение по вертикали.
В этой программе не нашли отражения многие «недоразумения», которые могут возникнуть в процессе действия руки. Так, в частности, в процессе сбора кубиков она может неудачно зацепить кубик, столкнуть коробку кубиком, вторично натолкнуться на коробку и прочее. Тогда в работу руки должен вмешаться оператор и «перевести руку на ручное управление».
Мы описали только внешние признаки «поведения» этого автомата, нашедшие отражение в программе. Но, конечно, сама программа содержит гораздо больше подробностей. Так, в частности, в ней расписан порядок поиска; указано, что в процессе сбора кубиков следует двигаться определенным образом; указано, что делать, когда замыкается тот или иной контакт; как в том или другом случае поворачивать схват. Другими словами, в программе сбора кубиков все «поведение» руки и ее необходимые реакции при взаимодействии с внешним миром записаны не так, как записаны пункты 1, 2, 3… и т. д., а гораздо подробнее и, конечно, как обычно, числами, только числами — языком, понятным управляющей цифровой машине.
Ребенку очень просто поручить собрать кубики, на которых наклеены изображения цветов или грибочков; он знает, что такое цветок или грибочек. Ребенку можно показать изображения гаек, цифр, космических ракет, обложку книги; он затем легко соберет кубики с такими изображениями. Мозг человека, как губка, «впитывает» картины внешнего мира и обладает поразительной способностью к запоминанию, различению и сопоставлению явлений двух миров: внешнего и внутреннего.
Сбор и складывание кубиков — элементарная операция, посильная ребенку. Автомат Шеннона, Минского и Эрнста овладел одной из бесчисленных разновидностей подобной операции. Это, конечно, пока очень немного, но это больше того, что может сделать сегодня любой автомат, претендующий на моделирование «поведения» живого существа, непосредственно взаимодействующего с внешним физическим миром.
Поэтому рука Эрнста по праву может занять место на верхних полках этажерки автоматов.
Мы уже говорили, что этот автомат умеет видеть и различать только кубики и коробку, разложенные на светлой поверхности. Чтобы облегчить ему эту задачу, они были даже специально окрашены в черный цвет.