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

Smart Pen:последний проект для ECE5725

Введение

В настоящее время для получения результатов рукописного ввода люди часто полагаются на емкостный сенсорный экран, стилус или другие подобные устройства. Они функциональны и точны, но не всегда гибки. Наш проект объединяет Raspberry Pi с IMU для создания продукта, который может отслеживать движение и очень быстро генерировать траекторию. Мы разработали систему, которая не нуждается в какой-либо конкретной поверхности или других средствах ввода для поддержки, и она отвечает только на IMU и его датчики. При подключении IMU к Raspberry Pi, когда устройство IMU перемещается, данные датчика будут передаваться от IMU к Raspberry Pi. Затем с помощью нашей программы и алгоритма восстановите движение ИДУ. Движение будет записано и сохранено в Raspberry Pi. С PyGame движение также может отображаться на TFT-экране Raspberry Pi. С помощью небольшой и удобной кнопки функция записи может начинаться и заканчиваться очень гибко. Пользователи также могут прикрепить наше устройство к другим вещам, чтобы отслеживать свои движения. Таким образом, наше устройство представляет собой работоспособное решение для отслеживания рукописного ввода, отслеживания движений и т. Д.

Цель

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

Мы используем Raspberry Pi и Inertial Measurement Unit в качестве основных компонентов нашего проекта. Также PyGame используется для отображения траектории на Raspberry Pi.

Калибровка IMU

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

Используя самодельную калибровочную таблицу (Рисунок XX), мы фиксируем imu в 6 положениях и записываем показания. Данные калибровки, собранные в этих шести положениях, следующие:

Данные ускорения после калибровки следующие (Ax, Ay, Az - данные после калибровки, а ax, ay, az - необработанные данные):

Sensor Fusion для необработанных данных

Расчет кватерниона:

Кватернион - это представление ориентации и вращения объекта, и вычислить вращение вектора легче, чем углы Эйлера. Транзакция между кватернионом и углом Эйлера показана ниже:

q =cosθ2 + sinθ2cosα⋅i + sinθ2cosβ2⋅j + sinθ2cosγ⋅k

q =λ + P1i + P2j + P3k

Вращение кватерниона:

Для фиксированного вектора V, скоординированного в кадре XYZ, он может быть представлен в кватернионе:

V =0 + Vxi + Vyj + Vzk

Если рамка поворачивается на q, становится X’Y’Z ’, координата V в X’Y’Z’ может быть представлена ​​как:

V ′ =0 + V′xi ′ + V′yj ′ + V′zk ′

Тогда V =q∘V′∘q − 1

Однако использования необработанных данных, сгенерированных гироскопом, по-прежнему недостаточно, из-за несоосности, упомянутой в части калибровки, необходимо учитывать вектор силы тяжести, полученный акселерометром. Функция «UpdateIMU» используется для вычисления ошибки между вектором силы тяжести, вычисленным гироскопом, и вектором силы тяжести, измеренным акселерометром. Эта функция была запущена 2000 раз на начальном стационарном этапе без движений и вращений и с использованием обратной связи для вычисления ошибки. Функция показана ниже:

 123456789 
 def UpdateIMU (self, Gyr, Acc):if np.linalg.norm (Acc) ==0:warnings.warn («Величина акселерометра равна нулю. Обновление алгоритма прервано.») return else:Acc =np.array (Acc / np.linalg.norm (Acc)) v =np.array ([[2 * (self.q [1] * self.q [3] - self.q [0] * self.q [2])], [2 * (self.q [0] * self.q [1] + self.q [2] * self.q [3])], [self.q [0] ** 2 - self.q [1] ** 2 - self.q [2] ** 2 + self.q [3] ** 2]]) 

Переменные «Acc» и «v» являются нормализованным вектором силы тяжести, вычисленным акселерометром и гироскопом, тогда угловое отклонение (ошибка) между двумя векторами может быть представлено с помощью их взаимного произведения:

 1 
 error =np.cross (v, np.transpose ([Acc]), axis =0) 

Вычисленную ошибку также можно интегрировать для обновления показаний гироскопа с использованием цикла отрицательной обратной связи PI (вот почему нам нужно запустить эту функцию 2000 раз, чтобы цикл PI мог сойтись):

 12 
 self.IntError =self.IntError + errorRef =Gyr - np.transpose (self.Kp * error + self.Ki * self.IntError) 

Затем кватернион можно было бы вычислить по скорректированным данным гироскопа:

 1234 
 pDot =np.multiply (0.5, self.quaternProd_single (self.q, [0, Ref [0,0], Ref [0,1], Ref [0,2]])) self. q =self.q + pDot * self.SamplePeriod; self.q =self.q / np.linalg.norm (self.q); self.Quaternion =self.quaternConj (self.q); 

Подробнее:Smart Pen:финальный проект для ECE5725


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

  1. Идеи проектов на основе датчиков для студентов последних курсов инженерного факультета
  2. 10 лучших тенденций интеллектуального производства на 2021 год
  3. Умное освещение как основа умного города
  4. Журнал проекта для FirePick Delta, MicroFactory с открытым исходным кодом
  5. Строим, вперед! Робот - легкий стартовый проект для детей
  6. Health Band - умный помощник для пожилых людей
  7. Модернизация умного дома для современной жизни
  8. Поиск окупаемости умного производства
  9. Ультратонкий сенсор для умных контактных линз
  10. Как выбрать проект для автоматизации