Сервомотор не имеет стандартного направления движения относительно движения джойстика управления, поэтому принято на пульте устанавливать переключатель, который позволяет выбрать, какое направление движения джойстика будет соответствовать тому или иному направлению движения сервомотора. Это явно модальное действие вступает в противоречие с привычными реакциями пользователя, как это обычно и происходит при наличии режимов. Следует сказать, что для управления несколькими разными летательными аппаратами зачастую используется один пульт. В каждом аппарате может быть установлено свое направление движения сервомоторов, от которого зависит поведение самолета в воздухе. При переключении управления между аппаратами оператор должен проверять положение переключателей, регулирующих направление движения сервомоторов, чтобы на перемещение джойстика летательный аппарат отвечал соответствующими действиями.
Почти невозможно научить пилота управлять прибором, когда направление движения сервомоторов заранее не известно. Например, представьте себе, что пилот, который готовится выполнить взлет дистанционно управляемого летательного аппарата, не знает о том, что переключатель направления наклона установлен в неверную позицию. Взлет является очень сложным маневром, требующим большого внимания. Обычно при взлете самолет спонтанно слегка заваливается влево или вправо в момент отрыва от земли, и опытный пилот автоматически подает небольшой сигнал на компенсацию этого заваливания. У хорошего пилота эта реакция настолько быстрая, что, наблюдая со стороны, можно вообще ничего не заметить. Если переключатель направления работы сервомоторов установлен в обратное положение, то заваливание, естественно, станет еще больше. В этом случае хорошо тренированный пилот сделает еще большее компенсирующее отклонение джойстика, тем самым только усугубляя заваливание. В конце концов, полет обычно заканчивается разрушением самолета, как только его крыло касается земли или когда самолет полностью переворачивается на спину. (Все эти события могут произойти за доли секунды.) Я еще не видел ни одного пилота, который смог бы быстро догадаться о возникшей проблеме и вовремя изменить свои реакции на обратные, чтобы безопасно закончить взлет. Такого рода крушения происходили при мне два раза, несмотря на обязательную проверку правильности положения переключателя, регулирующего движение управляющих плоскостей. Проверка положения переключателя, когда она выполняется десятки раз, тоже становится привычкой вплоть до того, что вы можете не заметить, действительно ли управляющие плоскости движутся в правильном направлении. (Если они не будут двигаться вообще, то, естественно, это сразу привлечет ваше внимание к наличию проблемы.) Тем не менее, во время таких проверок я сам довольно часто обнаруживал, что аппарат, который я собирался поднять в воздух, имел обратное направление движения сервомоторов. Однако, испытывая недостаток времени или отвлекаясь на другие дела, я, как и сотни других пилотов, не замечал эту неправильность.
Интересно отметить, что такая ошибка, как правило, не происходит при первом полете на новом аппарате, когда вы особенно внимательны к возможным проблемам. Только после того, как полеты на каком-то аппарате становятся «второй натурой» или просто привычным делом, она обычно и случается.
Этот пример демонстрирует случай, когда режим невозможно устранить. Режимы изначально присущи сервомоторам и джойстикам управления. Тем не менее, из данной ситуации есть выход. В качестве решения можно предложить следующее: поместить переключатель направления работы сервомоторов внутрь самого летательного аппарата, возможно, сделать его частью самих сервомоторов, и убрать этот переключатель с пульта управления. Обычно внутренняя часть корпуса самолета недоступна, поэтому переключатели могут устанавливаться в нужное положение при сборке аппарата. Правильность настройки будет проверяться сборщиками самолета, затем инспекторами и затем еще раз (как обычно) пилотом перед первым полетом. Хотя этот метод не устраняет полностью возможности крушения, но если первый полет выполнен успешно, то в дальнейшем проблема переключения сервомоторов уже не должна возникать на этом аппарате независимо от того, используется ли данный пульт для управления и другими летательными аппаратами. С точки зрения оператора, режим устранен.
Почти все пульты дистанционного управления моделями летательных аппаратов снабжены переключателями направления работы сервомоторов. Аварии из-за того, что пульт управления находится в неверном режиме, случаются нередко. Еще большие проблемы создает возможность устанавливать на пультах управления и другие режимы с помощью переключателей с длинными ручками, которые можно переставить в неверное положение случайно. В пульте управления, разработанном мною, все эти тумблеры сделаны таким образом, что перед тем как переставить их в другое положение, их ручки требуется сначала вытянуть из пульта (рис. 3.3). Поэтому у меня ни разу не было аварий из-за того, что какой-то тумблер был случайно сдвинут в неверное положение. Таким образом, иногда проблемы с режимами могут быть решены механическим путем.
Режимы также ограничивают диапазон действий пользователя. Если жест
Command↓ x↑
Бывают и небольшие диапазоны. Например, нижеприведенная последовательность позволяет в некоторых компьютерных играх открывать сундук с сокровищами, если только он находится в пределах видимости:
Command↓ h↑
Группирование команд по разным диапазонам, или, как мы это еще называем, по
В случаях когда интерфейс управляется с помощью другого компьютера, можно было бы подумать, что проблема наличия режимов снимается, поскольку машина может легко запомнить необходимое состояние интерфейса, просто-напросто внутренне синхронизируя его с собственным состоянием. Тем не менее, если интерфейс является модальным, и программа, управляющая этим интерфейсом, изначально не получает сведений о текущем состоянии интерфейса, – а это может произойти, если программа подключается после того, как система была запущена, – то для управления в каком-то из режимов системы программа должна быть оснащена средствами тестирования ее текущего состояния. В этом отношении особые трудности создают такие интерфейсные переключатели, для возвращения которых в исходную позицию требуется сделать подряд несколько переключений, изменив состояние системы (затем цикл повторяется сначала).
Случай, когда интерфейс управляется внешней программой, относится к вопросу разработки человеко-машинных интерфейсов, поскольку набор сохраняемых команд (называемый макросом), который может быть выполнен одним жестом, является рудиментарной формой компьютерной программы. Макрос не может установить такой переключатель в какое-либо из его допустимых состояний, если сам макрос сначала