«Психология» роботов

Предположим, что мы попросили будущего робота, управляемого с помощью информационной структуры на основе «классной доски», пройти по коридору до третьей двери, войти через нее в комнату, найти там чашку и принести ее нам. Решение такой задачи будет представлять собой процесс, который во многом напоминает программу, написанную на одном из языков управления роботом-манипулятором (подобные языки очень сходны с Алголом или Бейсиком), с тем лишь исключением, что стандартная программа распознавания двери в нашем случае должна запускаться отдельно. Рассмотрим упрощенную запись программы такого рода:
МОДУЛЬ Пойти-Взять-Чашку
Запустить Распознаватель-Двери
с помощью соответствующих команд
(Найдя-Дверь Прибавить 1
к Номеру-Двери
Зарегистрировать (Положение-
Двери)
Зарегистрировать Исходное-Положение
Установить Номер-Двери в О
Пока Номер-Двери меньше 3
Следовать-Вдоль-Стены
Встать Лицом-к-Двери
ЕСЛИ Дверь-Открыта ТО Пройти-в-
Дверной-Проем ИНАЧЕ Открыть-
Дверь-и-Пройти-в-Проем
Задать Место-Чашки
исходя из результата Поиска-Чашки
Подойти к Месту-Чашки
Взять-Чашку-с-ее-Места
Подойти-к-Месту-Двери
Встать-Лицом-к-Двери
ЕСЛИ Дверь-Открыта ТО Пройти-в-
Дверной-Проем ИНАЧЕ Открыть-
Дверь-и-Пройти-в-Проем
Подойти к Исходному-Положению
Конец

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

Еще один подвижный робот— « разумную» движущуюся платформу — разработал в Университете Карнеги — Меллона Джим Кроули. Этот робот является прототипом интеллектуальной навигационной системы. Размещенный вверху рупор представляет собой вращающийся эхолокационный дальномер.
Сначала все идет как будто неплохо. Мы запустили программу — и робот начинает послушно ползти по коридору, считая двери. Он правильно распознает первую дверь. Вторая, к сожалению, украшена аляповатыми плакатами; к тому же освещение в этой части коридора тусклое, и наш экспериментальный распознаватель двери дает осечку — проходит мимо двери, не замечая ее. Программа движения вдоль стены тем не менее продолжает выполняться надлежащим образом, и робот следует далее по коридору, сбившись со счета дверей на единицу. Робот распознает третью дверь, в которую он должен войти, но, считая ее только второй, продолжает двигаться дальше. Следующую дверь он распознает правильно. Она открыта, и программа, полагая, что эта дверь — третья, поворачивает робот «лицом» к ней и управляет его заходом в комнату. Дверь — в действительности четвертая, — к сожалению, ведет на лестничную клетку, и бедный робот, не приспособленный к хождению по ступенькам лестницы, оказывается в смертельной опасности.
К счастью, в нашей системе параллельного программирования предусмотрен процесс, называемый Обнаружение-Уступа, который всегда находится в активном состоянии и служит для контроля данных о положении уровня опоры (земли); эти данные направляются на «классную доску» благодаря процессам визуального восприятия. Указанная программа, кроме того, запрашивает результаты контроля уровня земли с помощью эхолокаторов и ИК-датчиков ближней локации. Все эти данные объединяются (при работе в опасных зонах часто исходят из того, что вероятность появления уступа велика), вырабатывая количественный показатель вероятности понижения уровня земли в окружающем робот пространстве.
Сопутствующий процесс Обработка-Данных-об-Уступе, который также постоянно находится в активном состоянии, но имеет низкий приоритет, предназначен для регулярной проверки указанного вероятностного показателя; по результатам этой проверки он корректирует свой собственный приоритет. Когда значение переменной «вероятность уступа» становится достаточно большим, приоритет процесса Обработка-Данных-об-Уступе превысит приоритет текущего процесса (в нашем случае процесса Пойти-Взять-Чашку) и управление роботом переходит к процессу Обработка-Данных-об-Уступе. Правильно составленная программа (для такого процесса) заставит робот остановиться или резко замедлить движения, что повысит частоту измерений параметров уступа с помощью датчиков и отведет робот от уступа после четкого выявления и локализации последнего.
Следует отметить любопытную особенность подобной последовательности действий. Человек, который наблюдает за поведением робота, ничего не зная о его внутренних механизмах, может так истолковать эти действия: «Сначала робот решил пройти через открытую дверь, но затем заметил ступеньки и, растерявшись, забыл все, что ему надо сделать». Имея непосредственное отношение к тому, что в действительности происходит с роботом, мы можем поддаться искушению покритиковать этого поверхностного наблюдателя за подобные антропоморфные представления о действиях машины, в которых фигурируют понятия решимость, растерянность и забывчивость. Однако эта критика была бы несправедливой.
Свои «чувства» и «сомнения» робот выражает так же естественно, как и живое существо. Его действия представляют собой точную модель поведения существа, оперирующего неопределенной информацией в условиях опасного и изменчивого мира. Осьминога, преследующего свою жертву, могут точно так же отвлечь от погони признаки явной опасности. (Не следует забывать, что осьминог, как и позвоночные, имеет развитую нервную систему, сформированную, правда, по другому типу.) И все же большинство из нас без всяких колебаний признает, что за действиями даже простейших животных скрываются такие эмоции, как страсть, удовольствие, страх и боль.
Поведение позвоночного, моллюска и робота может служить иллюстрацией конвергентного характера эволюции. Во всех трех случаях подвижный образ жизни способствовал появлению существа, которое по-разному действует в различных условиях и обладает способностью быстро переключаться с одного типа поведения на другой при поступлении нечетких, искаженных шумами данных, которые могут быть ложно истолкованы.
Среди набора необходимых приемов, которыми должен овладеть движущийся робот, можно, в частности, назвать корректировку параметров. Механический манипулятор, действующий в неизменной среде, обычно имеет собственную кинематическую модель, параметры динамического управления которой устанавливаются по принципу «раз и навсегда». Движущийся робот, перемещающийся вприпрыжку в нашем далеком от идеального мире, по-видимому, всегда будет сталкиваться с различными неудобствами, как-то: накопление грязи на его деталях, износ шин, изгиб несущих конструкций и малозаметные сдвиги опорной рамы относительно заданного положения, обусловленные проскальзыванием. Все это снижает точность модели по сравнению с предполагаемой. Существующие программные средства, обеспечивающие преодоление визуально обнаруживаемого препятствия, позволяют, например, задавать фазу калибровки камеры, в ходе которой робот устанавливается точно перед прецизионной сеткой из калибровочных точек. В результате программа может выявлять функциональную зависимость, которая корректирует искажения в оптике телекамеры. Подобная корректировка дает возможность другим программам производить точные измерения углов обзора, несмотря на искажения в камерах. Имеющиеся сегодня программы весьма чувствительны к ошибкам калибровки, и сейчас разрабатывается метод, который позволит производить непрерывную калибровку камер непосредственно по изображениям, воспринимаемым при передвижениях робота в реальной, полной неожиданностей обстановке. При использовании такой процедуры столкновение с препятствием, вызывающее незначительное смещение одной из телекамер робота, уже не будет приводить к систематическим ошибкам в прокладываемом маршруте. По всей видимости, у животных также происходят аналогичные процессы, в ходе которых осуществляется непрерывная настройка практически всей нервной системы. Подобное приспособление к окружающим условиям, вероятно, предшествовало появлению более общих принципов обучения.
По-видимому, у роботов обнаруживаются зачатки «самосознания», хотя на сей счет пока нет единого мнения. Во все программы управления более совершенными движущимися роботами заложены «собственные представления» о непосредственном окружении робота, отличающиеся друг от друга степенью обобщения и точности. В процессе планирования движения эти модели внешнего мира учитываются при анализе различных вариантов будущих действий. Если такие программы имеют речевые интерфейсы (т. е. позволяют роботу устно общаться с оператором), то им можно задавать вопросы, на которые они от имени робота будут отвечать примерно так: «Я повернул направо, так как не был уверен, что могу пройти через отверстие слева». По существу, та же информация может быть представлена визуально на дисплее.