Обратная связь

Принцип обратной связи: от станков и роботов к биомеханике.

Станок: одна степень свободы

Предположим, нам надо спроектировать промышленного робота, т. е. механическую руку, которая должна что-то делать, заменяя человека. Обычно — перемещать деталь или инструмент. Насколько сложную механику мы должны заложить в эту руку? Конечно, это зависит от той операции, которую она должна уметь выполнять. И очень сильно это зависит от степени стандартности этой операции. Пусть, скажем, эта рука заканчивается дрелью и она должна сверлить одинаковые дырки в одинаковых деталях. Если эти детали кто-то (другой робот или человек) помещает всегда в одно и то же место, то в простейшем случае нам нужен даже не робот, а то, что называется «станок с ЧПУ» (с числовым программным управлением).

Оператор станка фиксирует очередную деталь в зажиме станка, станок опускает головку со сверлом на нужную высоту, до соприкосновения с деталью, начинает сверлить, проходит сверлом на нужную глубину и наконец поднимает сверло обратно. Все эти операции заранее запрограммированы в станке настройщиком. Всё, что требуется от механики станка, это передвижение сверла по прямой на нужные расстояния с нужной скоростью. Это одна степень свободы. (Про степени свободы см.: Королёв Е. В. «Биомеханика: степени свободы».)

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

Робот: несколько степеней свободы

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

Помните, в четвёртом эпизоде «Звёздных войн» робот R2-D2 (тот, который был похож на моющий пылесос) высовывал из пуза какую-то фитюлину, точь-в-точь зажим для сверла, вставлял её в разъём на стене, зачем-то бешено вращая в обе стороны (ловил резьбу?) и так подключался к сети? Слава богу, разъёмы для людей всё-таки проще устроены. Киношники, конечно, сильно облегчили ему задачу, воткнув розетку на нужной высоте. Интересно, как бы он стал выкручиваться, если бы розетка была повыше.

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

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

Человек: слишком много степеней свободы

Теперь посмотрим на руку человека. Как показано в статье «Биомеханика: степени свободы» рука человека без учёта движений пальцев (скажем, рука со сжатым кулаком) имеет семь степеней свободы. Например, это движение удара молотком, зажатым в кулаке. Если мы включаем пальцы руки — например, беря что-то, — то количество степеней свободы быстро растёт.

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

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

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

Человек: слишком много мышц

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

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

Но изначально оно работает и без нас. И хорошо, что нам не приходится над этим думать. Только с нашими двумя глазами работают 24 мышцы: 1) шесть пар мышц, поворачивающих глазные яблоки, 2) две пары мышц, управляющих хрусталиками, 3) две пары мышц, расширяющих и сужающих зрачки и 4) две пары мышц, открывающих и закрывающих веки. Причём работают эти мышцы синхронно. Наши два глаза в большинстве случаев работают как один орган. Хоть мы и можем зажмурить один глаз, но повернуть левый глаз налево, а правый направо и вверх, как хамелеон, всё-таки не можем. Хороши бы мы были, если бы всем этим хозяйством приходилось управлять усилием воли.

Но мозгу всё-таки приходится как-то управлять всем этим. Может ли он заранее рассчитать точное движение? Очень сомнительно, учитывая количество мышц, задействованных в движении, и количество степеней свободы у нашего скелета. Можно провести простейший эксперимент: выберите какую-либо точку в пределах досягаемости вашей руки, закройте глаза и попадите в эту точку указательным пальцем. Вы можете увидеть, что попадаете вы в неё не слишком точно. Если у вас хорошо получается это с указательным пальцем, попробуйте мизинец или безымянный. Сделав это несколько раз с одной и той же точкой, вы, возможно, станете лучше попадать в неё. Что-то это не очень похоже на точный предварительный расчёт. Что же это за расчёт, который надо повторять несколько раз, чтобы он стал точнее?

Человек: мышцы вместо рычагов

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

В робототехнике всё равно приходится учитывать всякого рода реактивные силы: инерцию, трение. Ни один двигатель не может разогнаться до заданной скорости мгновенно, тем более, если он должен двигать достаточно тяжёлые части механизма. Точно так же и остановка механизма происходит не мгновенно. Поэтому всякое движение у робота проходит три условные стадии: разгон, равномерное движение, торможение. Чтобы робот не промахивался каждый раз, всё это приходится учитывать в его программе.

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

Решение: обратная связь

Как же нам удаётся совершать точные движения несмотря на все описанные сложности?

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

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

Сенсорные системы и коррекции

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

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

Для этого у нас есть мышечно-суставная чувствительность, или проприоцепция. Это сенсорная система, которая позволяет нам знать (чувствовать) положение частей нашего тела. Именно она обеспечивают бо́льшую часть коррекции наших движений. Поэтому мы можем не смотреть на свои ноги при ходьбе, можем почесать в затылке, который мы вообще никогда не видим (только в зеркале), можем причёсываться или бриться без зеркала и т. д. Сюда же можно отнести и вестибулярную систему, которая помогает нам чувствовать положение нашего тела в пространстве (точнее, в гравитационном поле Земли).

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

Вспомните, как неприятно ощущение «отлёжанной» руки при пробуждении. Рука кажется совсем чужой. Если мы закроем глаза, то не сможем понять положение руки: мы её просто не чувствуем.

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

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

Автоматизированные движения

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

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

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

Бернштейн в книге «О ловкости и её развитии» приводит хороший пример из «Анны Карениной» Толстого. Там есть эпизод, когда вместе косят барин, склонный к крестьянскому труду (Левин), и старик-крестьянин. Левин уже довольно хорошо автоматизировал эти движения и чувствовал, как будто коса ходит сама. Трудности у него начинались, когда приходилось изменять эти движения и «окашивать кочку или невыполотый щавельник». Он ощущал это как сбой в привычных движениях. А старик всё это делал легко, всё время смотря перед собой. Его автоматизированный навык заключал в себе гораздо больше возможностей для постоянной коррекции.

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