Любым техническим устройством, без которых жизнь в современном мире кажется уже невозможной, мы управляем посредством физических интерфейсов. И если многообразие самих устройств уже не поддается учету, то интерфейсы при сравнении окажутся, в принципе, удивительно однообразными. Все они (если не учитывать устройства отображения информации) состоят из стандартных элементов (манипуляторов). Это кнопки, рычаги, различные ползунки, «крутилки» и «возилки» (мышки, сенсорные пэды и экраны).
Так вот, все существующие манипуляторы построены на принципе отслеживания движения точки в рабочем пространстве. Примером элементарного линейного манипулятора может служить обыкновенный переменный резистор, где вдоль линейного проводника (размерность равна 1) перемещается «точечный» ползунок (размерность 0). Итоговая размерность манипулятора 1 + 0 = 1.
Перейдем к плоскостным манипуляторам, самые распространенные из которых – компьютерные мышь и тачпэд (тачскрин). Здесь по рабочей плоскости (размерность равна 2), в случае мыши – это коврик, а в случае тачпэда (тачскрина) – его сенсорная поверхность, перемещается точечный объект (размерность 0) – чувствительный элемент мыши или точка соприкосновения стилуса (пальца) и сенсорной поверхности. Не вдаваясь в подробности конструкции конкретных устройств, можно сказать, что формула размерности манипулятора в этом случае 2 + 0 = 2.
Гораздо менее распространены 3D-манипупуляторы, где рабочее пространство трехмерно, а перемещается в нем, опять же, «точечный» объект, например, рабочий конец рукоятки 3D-джойстика. В этом случае справедлива формула 3 + 0 = 3. Интенсивно разрабатываемые в последнее время пространственные интерфейсы с видеозахватом движений тоже можно отнести к этому классу.
Но почему бы, например, не разложить рабочее пространство 2D-манипулятора таким образом: 2 = 1 + 1 и перемещать один линейный элемент относительно другого, неподвижного?
Соответственно принципу относительности (не путать с теорией относительности
), точка пересечения этих элементов будет перемещаться по плоскости, осями координат которой и будут являться элементы.
На практике самым простой реализацией интерфейса 1 + 1 = 2 будет система из двух линейных проводников, один из которых подвижен относительно второго. Я назвал эту систему 2D-реохордом.
Если помните из школьного курса физики, на заре электротехники, еще во времена Эдисона, применялся такой прибор – реохорд. Он состоит из проволоки высокого удельного сопротивления и скользящего по нему контакта (второй контакт закреплен на одном из концов проволоки). То есть, это – прадедушка самого распространенного в наше время электрорегулятора – переменного резистора (дедушка – реостат, где провод намотан на каркас).
Так вот, идея до смешного проста: берем два провода, один из которых закреплен, второй – подвижен. Получаем реохорд в квадрате: относительно каждого провода второй служит скользящим контактом. «Струна» и «смычок» служат осями координат общей для них плоскости. Все отличие от имеющихся решений в области 2D манипуляторов (самый распространенный – планшет) – перемещающийся объект привязан к началу координат, а оси движутся относительно него. Что, принимая во внимание принцип относительности, одно и то же.
Посредством 2D-Реохорда мы будем иметь возможность плавно манипулировать двумя параметрами управляемого прибора.
Упрощенная схема 2D-Реохорда представлена на Рисунке 1.
Рисунок 1. | Упрощенная схема 2D-Реохорда. |
При включении устройства во время отсутствия контакта в точке «а» по схеме на Рисунке 1 на выходах ОУ устанавливается напряжение, близкое к 0 В. Затем при создании контакта в точке «а» (соприкосновение подвижной струны Rc-d и неподвижной струны на корпусе Rc-d) по цепи VC – Rс-а – Ra-е начинает протекать электрический ток, сила которого определяется источником стабильного тока І1. На инвертирующий вход DA1.1 поступает напряжение
U1 = І1 × Ra-е,
на неинвертирующий вход
U2 = І1 × (Rс-а + Ra-е),
а результирующее выходное напряжение
OUT1 = K1 × І1 × Rс-а,
где K1 – коэффициент усиления DA1.1.
На неинвертирующий вход DA1.2 поступает напряжение
U1 = І1 × Ra-е,
а результирующее выходное напряжение
OUT2 = K2 × І1 × Ra-е,
где K2 – коэффициент усиления DA1.2. Таким образом, выходное напряжение на OUT1 прямо пропорционально длине участка (с-а) подвижной струны, а на OUT2 – прямо пропорционально длине участка (а-е) неподвижной струны.
Для упрощения конструкции устройства, а именно «смычка», можно видоизменить схему в соответствии с Рисунком 2, при этом подвижная струна соединяется с устройством только одним проводом, но в холостом режиме DA1.1 будет входить в насыщение, и в результате, как показала практика, труднее будет бороться с последствиями дребезга контакта в точке «а», который, к сожалению, неизбежен.
Рисунок 2. | Упрощенная схема 2D-Реохорда с подключением «смычка» одножильным проводом. |
По этой же причине нежелательно значительно снижать силу тока источника I1; оптимальным мне показалось значение 10 – 25 мА, хотя это зависит от конкретных условий.
Полная принципиальная схема 2D-Реохорда приведена на Рисунке 3. В качестве струн использовались отрезки нихромовых проводов диаметром 0.2 – 0.3 мм и длиной 200 – 500 мм. ОУ выбраны низковольтные, rail-to-rail как по входу, так и по выходу. В первых опытных приборах использовались обычные ОУ, но при этом схема неоправданно усложнялась. VR2 служит для подстройки усиления усилителя постоянного тока на DA1.2, а VR1 – для общего масштабирования путем регулировки силы тока источника тока на транзисторе Q1. Конденсаторы С2, С3, С4 сглаживают дребезг контакта.
Рисунок 3. | Полная принципиальная схема 2D-Реохорда. |
Практическое применение 2D-Реохорд нашел в конструкции ЭМИ «Rheolin» («Реолончель»), где 2D-Реохорд подключен к MIDI-USB контроллеру, собранному на Arduino-micro. Процесс звукоизвлечения можно посмотреть на Видеоролике 1.
На Видеоролике 2 демонстрируется трехструнный вариант Реолончели.
Теоретически возможны конфигурации N-размерных интерфейсов по формулам 1 + 1 + 1 = 3, 2 + 1 = 3. (Кстати, попробуйте представить и изобразить, как они будут выглядеть – это будет неплохая разминка для пространственного воображения
).
Но мы эти этапы перепрыгнем, и поиграем с конфигурацией… 2 + 2 = 4. Да-да, будем работать в 4-мерном пространстве! Правда, пространство это будет виртуальное, и, если мы планируем, например, управлять перемещением реального объекта, четвертый параметр можно будет использовать, скажем, для управления вращением в какой-либо плоскости.
Наиболее перспективной моделью 4D- и даже 5D-манипулятора, как мне представляется, будет 5D-мышь (Видеоролик 3).
4D-конроллер мне представлялся делом далекого будущего: изготовить выпуклую сенсорную поверхность – операция не для кустарных условий домашней мастерской. Но как-то наткнулся на описание гибких пленочных сенсоров, и, как оказалось, они были доступны для заказов на Амазоне.
Конечно, с помощью гибких сенсоров 4D-мышь не соорудишь, но, выгнув оба сенсора, придав им «полуцилиндрическую» форму, можно достигнуть того же результата – при непараллельном взаиморасположении сенсоров при соприкосновении возникает точечный контакт. То есть, система из двух цилиндрических поверхностей топологически эквивалентна системе из сферической и плоской поверхностей.
В результате экспериментов была выбрана оптимальная кривизна сенсорных поверхностей (при малой кривизне точка контакта превращалась в контактное пятно, и точность позиционирования недопустимо падала, а большая кривизна приводила к ложным срабатываниям без контакта).
Рисунок 4. | Общий вид «компромиссной модели» 4D-манипулятора. |
На Видеоролике 4 можно наблюдать процесс управления виртуальным объектом (кубом) в пространстве с помощью 4D-манипулятора. Конечно, в таком виде 4D-манипулятор существенно менее удобен, чем гипотетическая 4D-мышь. Но, даже просто уменьшив размеры сенсоров, особенно подвижного, получаем эргономически более приемлемые модели (Рисунки 4 и 5).
Рисунок 5. | Общий вид 4D-манипулятора с ковриком минимального размера. |
На Видеоролике 5 можно посмотреть использование 4D-манипулятора компромиссной конфигурации в 2D-графике. «Лишние» размерности отвечают за размер и цвет кисти. А гипотетический вариант специализированного графического 4D-манипулятора (4D-кисть для планшета) представлен Видеороликом 6.
Загрузка видеороликов
- Реолончель (Rheolin) в режиме имитации Терменвокса
- Трехструнный вариант Реолончели
- 5D-мышь. Сенсорные поверхности расположены как на коврике, так и на рабочей (нижней) поверхности мыши
- Процесс управления виртуальным объектом (кубом) в пространстве с помощью 4D-манипулятора
- Применение 4D-манипулятора в 2D-графике
- Гипотетический вариант специализированного графического 4D-манипулятора
Материалы по теме
- Datasheet Microchip MCP602