Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Сенсорная панель Walabot

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

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

Поскольку я хотел, чтобы это решение было как практичным в повседневном использовании, так и универсально доступным, я выбрал установку с наименьшими аппаратными затратами. Чтобы уравновесить простоту настройки и точность изображения, я реализовал базовый цикл настройки, который запускается каждый раз при запуске Walabot.

В этом руководстве рассматривается процедура настройки Raspberry Pi и управление курсором на главном компьютере.

Как это работает?

В основе проекта лежит клиент Raspberry Pi 3, который снимает показания с датчика Walabot Creator (спасибо, Walabot!), и хост-компьютер, которым в данном случае является мой ноутбук.

Общий поток пользователей выглядит следующим образом:

Демонстрация

В Прогресс

Настройка Pi

Во-первых, нам нужно настроить пи так, чтобы его можно было использовать и были установлены все необходимые библиотеки.

sudo apt-get update
Загрузки с компакт-диска
sudo dpkg –i walabot_maker_1.0.34_raspberry_arm32.deb

Таким образом, команды обновляют списки пакетов системы и устанавливают WalabotSDK

sudo apt-get dist-upgrade
перезагрузка sudo

Это обновляет установленные пакеты и перезагружает RPi.

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

Walabot Interfacing

И вот здесь на помощь приходит Walabot. Это трехмерный микроволновый датчик изображения, который может выполнять самые разные задачи, включая определение дыхания, способность видеть сквозь стены и обнаруживать несколько целей. Вы можете посмотреть их на их канале на YouTube!

Функциональность, которая действительно полезна для этого проекта, - это трехмерное радиочастотное зондирование, которое может определять координаты x, y и x цели. Кроме того, его способность динамической фильтрации, которая удаляет статические сигналы, может быть объединена с фильтрацией фиксированных отражателей, что позволяет вам точно отслеживать объект даже через другие материалы.

Однако есть одно предостережение при использовании такого мощного устройства - это высокое энергопотребление. Walabot использует 400-900 мА, что слишком много для стандартного USB-выхода Raspberry. Это можно решить, перейдя в /boot/config.txt и добавив следующую строку:max_usb_current =1, что увеличит максимальный ток до 1200 мА.

Обнаружение цели

Убедитесь, что Walabot обнаруживает только мой палец, когда я хочу, чтобы он был ключевым, иначе мой компьютер может случайным образом переместить курсор, возможно, даже за пределы. Для своего проекта я подключился к API Walabot с помощью функции GetSensorTargets () и отключил режим MTI (Идентификация движущейся цели), чтобы предотвратить фильтрацию сигнала пальца в течение более длительных периодов времени. Я установил радиус обнаружения (r) в моем проекте на максимум 10 см, чтобы арена располагалась в области непосредственно над Walabot. Это зависит от толщины материала.

Я попытался установить размеры арены в значениях x, y и z, но это лучше всего сработало только в профиле ближнего действия, который был доступен только в версии для разработчиков Walabot. Когда я попробовал это в режиме сканера по умолчанию, я получил почти нулевое обнаружение цели, вероятно, потому что режим сканера считывает радиально, а не через декартовы координаты. Таким образом, я установил стандартный профиль сканера, установил арену в радиальном направлении и преобразовал радиальные размеры в декартовы координаты.

Целевые объекты имеют параметры x, y, z и амплитуду, из которых я использовал только значения x и y. Поскольку ось Y проходит по длине Walabot, я перевел ее на ось X на экране, когда Walabot размещен горизонтально, как тачпад. Когда я сравниваю координаты с границами арены, я могу найти относительное расположение цели по отношению к арене и преобразовать это в относительное расположение курсора на экране хоста.

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

Чтобы определить, хочет ли пользователь переместить курсор, щелкнуть правой или левой кнопкой мыши, я использовал функции обнаружения нескольких целей Walabot. При перемещении будет 1 точка контакта, при щелчке правой кнопкой мыши - 2 точки соприкосновения, а при щелчке левой кнопкой - 3 точки. Кажется твердым, пора проверить это.

Ага! Это оказалось намного сложнее настроить. Изначально я планировал, что код будет щелкать соответствующие кнопки мыши, когда Walabot обнаруживает две или более целей, но в тот самый момент, когда пальцы входят в поле зрения, Walabot обнаруживает одну цель, таким образом перемещая мышь перед нажатием .

Сложный баланс максимизации площади арены без увеличения z-диапазона в центре Очевидное решение - уменьшить сам диапазон арены, что естественным образом уменьшает z-диапазон. Это имеет побочный эффект:тачпад становится слишком маленьким для использования. Другой путь, который я выбрал, заключался в том, чтобы вручную отфильтровать цели со слишком высоким z-атрибутом, который не работает, поскольку цель по оси Z по-прежнему регистрируется выше на краю, чем по центру. Амплитуда тоже не работает, так как сосредоточена вокруг наиболее чувствительной части модуля. Я решил вручную изменить значение z-параметра для всех целей, добавив абс (угол фи - 90 градусов) * множитель ко всем целям, но, к сожалению, параметр угла фи не является доступным параметром датчика цели. В конце концов, я мог решить эту проблему только с помощью изогнутой сенсорной панели, соответствующей кривизне диапазона обнаружения, или с помощью выпуска Walabot Developer Edition.

Подробнее:сенсорная панель Walabot


Производственный процесс

  1. Что такое VMC Machining?
  2. Сварка MIG против сварки TIG
  3. Рекомендации по высокопроизводительной швейцарской обработке
  4. Руководство по созданию прототипов с ЧПУ
  5. Понимание процесса изготовления вала
  6. Что такое пассивация нержавеющей стали?
  7. Приятель осанки с Walabot
  8. Сенсорная панель Walabot
  9. Счетчик туалета (на платформе Walabot)
  10. Walabasquiat:интерактивная генеративная художественная установка!