Русский   English
ДонНТУ   Портал магістрів

Зміст

Вступ

У сучасному світі технології розвиваються величезними масштабами. Такий стрімкий розвиток відкриває нові можливості для людства. Бурхливо розвивається і набуває нового значення для суспільства сфера технологій, повʼязана з віртуальною реальністю. Віртуальна реальність є технічно створеним світом, переданим людині за допомогою відчуттів, таких як зір, дотик, слух. Все це складається з двох частин: програмної і апаратної. В останні роки в апаратної частини намітився прорив, тобто зʼявилися нові пристрої, такі як VR‑шолом, рукавички і цілі костюми захоплення рухів. В даний момент великого поширення такі пристрої мають в ігровій сфері. Але можливе застосування та в більш соціально важливих сферах. Хорошим прикладом є навчання молодих фахівців в медичній сфері, особливо в хірургії. Використання рукавичок захоплення рухів може сильно допомогти в навчанні інтернів. Наприклад, досвідчений хірург провів операцію в таких рукавичках і всі його рухи рук записалися. Після цього, молодий фахівець може спробувати повторити операцію і при допущенні будь‑яких помилок йому буде просигналізував. Природно, до всього цього необхідне спеціальне програмне забезпечення. Також рукавички захоплення рухів можуть застосовуватися в сфері, повʼязаній з інвалідами. Наприклад, людина не може сам переміщатися по будинку і для полегшення його життя йому видають рукавиці та спеціальне роботизовані пристрій, за допомогою якого людина зможе виконувати певні справи по дому (щось перемістити, викопати, прибрати). А самі рукавички будуть служити органом управління цим пристроєм, тобто за допомогою різних жестів людина буде ним керувати.

1. Актуальність теми

Актуальність теми полягає в тому, що рукавички захоплення рухів є дуже корисним і прогресивним винаходом. І не мало важливим є завдання вивчити підходи до створення даного пристрою, а також до роботи з датчиками, що застосовуються в рукавичці, обробці сигналів з датчиків і візуалізації отриманих даних і виборі мікроконтролера для керування всім пристроєм.

2. Мета і задачі дослідження

Метою дослідження є створення зразка рукавички захоплення рухів з можливістю зареєструвати і візуалізувати отримані дані.

Основні задачі дослідження:

  1. Аналіз існуючих типів конструкцій рукавичок.
  2. Аналіз і вибір мікроконтролера для розроблювального пристрою.
  3. Вибір датчиків для рукавички.
  4. Аналіз і вибір фільтрів для отриманих даних.
  5. Створення 3D моделі для візуалізації.

3. Огляд досліджень та розробок

CaptoGlove [1] (див.мал.1) є рукавичкою, яка має можливість точно розпізнавати широкий спектр рухів і рук і пальців. Всі ці рухи перетворюються в команди управління і можуть передаватися на безпосередньо підключені пристрої, такі як ПК, VR гарнітури, розумний будинок, а також телефони та планшети на операційних системах iOS / Android. Дана рукавичка має вбудований Bluetooth‑модуль, трьохосьовий гіроскоп, акселерометр і магнітометр, барометр, 5 датчиків, здатних сприймати рух пальців по осі вигину, 1 датчик тиску для кінчика великого пальця, здатний сприймати тиск від 100 г до 10 кг, а також встановлений набір передових алгоритмів для різних умов експлуатації.

Зовнішній вигляд рукавички CaptoGlove

Малюнок 1 – Зовнішній вигляд рукавички CaptoGlove.

Hi5 VR Glove [2] (див.мал.2) – це рукавичка до складу якої входять 9‑DOF IMU датчики для 5 пальців і тильного боку долоні. Також в рукавичці є вібраційна зворотний звʼязок. Рукавичка є автономною і харчується від акумулятора, якого вистачає на 7 годин використання. Передача даних здійснюється за допомогою радіо модуля, при цьому затримка не перевищує 5 мс. Дальність передачі становить 5 м. В рукавичці передбачено автоматичне перемикання каналів, щоб уникнути радіочастотних перешкод.

Зовнішній вигляд рукавички Hi5 VR Glove

Малюнок 2 – Зовнішній вигляд рукавички Hi5 VR Glove.

AcceleGlove [3] (див.мал.3) є рукавичкою зробленою фірмою AnthroTronix. Для розпізнавання рухів в даній рукавичці використовуються акселерометри. Акселерометри знаходяться трохи нижче кожного кінчика пальця і на тильній стороні руки. Коли рука користувача рухається, акселерометри можуть виявити тривимірну орієнтацію пальців і долоні по відношенню до земної гравітації. Виміряна з точністю до декількох градусів, ця інформація дозволяє програмам розрізняти навіть дуже незначні зміни положення рук. Акселерометри подають інформацію про місцезнаходження через легені дроти до друкованої плати, яка знаходиться на тильній стороні руки. Коли користувач робить жест, наприклад, стискає пальці разом або тримає відкриту долоню назовні, плата передає дані на компʼютер через USB‑кабель, підключений на верхній частині запʼястя рукавички. Рукавичка також отримує харчування через шнур, уникаючи потреби в громіздкому блоці батарей. AnthroTronix створила програмне забезпечення для розробки, що дозволяє користувачам адаптувати рукавичку до нових цілей. Користувач може створює нові функції для рукавички, записуючи жест і привласнюючи йому значення; програма може зберігати сотні жестів. Чутливість, з якої компʼютер розпізнає жести, може бути різною, тому вона може розпізнавати неакуратні, великі жести для додатка, такого як дитяча освітня програма, або дуже точні жести для робототехніки. Система також може приймати дані від двох рукавичок, одягнутих одночасно. Все раннє описані рукавички має високу вартість. Тому стоїть гостро питання в створенні більш доступної версії.

Зовнішній вигляд рукавички AcceleGlove

Малюнок 3 – Зовнішній вигляд рукавички AcceleGlove.

Рукавички даного типу розробляються не тільки комерційними компаніями, але і студентами і викладачами технічних вузів.

Рукавичка [4] (див.мал.4), розроблена в Талліннському технічному університеті, має 23 ступенями свободи. Основною метою проекту було розробити рукавичку тільки з інерційними датчиками. У рукавичці використовувалося 16 датчиків MPU6050, по 3 на кожному пальці і ще 1 на тильній стороні долоні. Як мікроконтролера використовувався STM32F413ZH. Передача даних здійснювалася по протоколу I2C з частотою 100 кГц. Так як всі модулі MPU6050 володіє одним тією ж адресою використовується мультиплексор 74HC4067. За допомогою даного мультиплексор має можливість розпізнавати датчики. Потім мікроконтролер передає дані на ПК за допомогою протоколу UART. Для обробки даних з датчиків використовувався комплементарний фільтр, який дозволяв нівелювати окремі недоліки акселерометра і гіроскопа. Також в даному проекті була створена 3D модель руки в програмному забезпеченні SolidWorks, і перенесена в Matlab Simulink для моделювання в реальному часі.

Зовнішній вигляд рукавички розробленої в Талліннському технічному університеті

Малюнок 4 – Зовнішній вигляд рукавички розробленої в Талліннському технічному університеті.

4. Розробка рукавички

4.1. Вибір датчиків

Основою для майбутньої інформаційної рукавички може служити будь‑яка тканинна рукавичка, в міру своєї доступності і низької вартості. Більш важливим є вибір датчика за допомогою якого будуть реєструватися руху руки і пальців. Як датчик можна використовувати такі варіанти:

  1. Тензорезистор;
  2. Інерційний вимірювальний блок (IMU);
  3. Датчик, що працює на променевому ефекті;
  4. Потенціометр.

Тензорезистор – це резистор, опір якого змінюється в залежності від величини його деформації. Цей пристрій можна використовувати в якості датчика вигину, тобто його можна застосовувати для відстеження згинання пальців. Також тензорезистор має високу точність вимірювань і простий конструкцією. Але в міру його високу вартість він не застосовувався в проекті.

Датчик, що працює на променевому ефекті, працює наступним чином: є трубка в якій на одному кінці поміщається світлодіод, а на іншому фоторезистор. Коли трубка має пряму форму опір має мінімальне значення. При згині трубки потік світла зменшується, внаслідок чого зростає опір. Цей датчик також не використовувалася в проекті в міру то, що його необхідно збирати самостійно, а наявні трубки є тугими і при згині пальців приносять дискомфорт.

Інерційних вимірювальний блок являє собою електронний пристрій, який вимірює і передає питому силу тіла, кутову швидкість, а іноді і орієнтацію тіла в просторі, використовуючи комбінацію акселерометрів, гіроскопів і магнітометрів. У проекті використовувалися модулі MPU6050 [5] і MPU9250 [6]. MPU6050 є мікро електромеханічної системою (MEMS) до складу якої входить трехосевой акселерометр і трехосевой гіроскоп. За допомогою даних пристроїв визначається лінійне прискорення і кутова швидкість, що в свою чергу дозволяє визначити положення в просторі. Також в модулі встановлено цифровий процесор руху (DMP), який дозволяє обробляти вихідні дані акселерометра і гіроскопа, тим самим зменшити роботу, виконувану мікро контролером, до якого підключений датчик. Загалом, робота таких датчиків виходячи з конструкції полягає в наступному: в нерухомому стані вантаж, який знаходиться на підвісах залишається в рівновазі, і ємність на обкладинках конденсаторів незмінна. Відхилення по будь‑якої осі веде до зміщення підвішеного вантажу в сторону, що спричинить за собою зміну відстані між обкладинками конденсатора, а отже, і ємності. Далі отримані дані посилюються, проходять через ряд фільтрів і надходять на вхід аналогово‑цифрового перетворювача (АЦП), який виробляє оцифровку даних, отриманих з конденсаторів. Після цього дані готові до відправки по одному з інтерфейсів передачі для подальшої обробки. Модуль може передавати дані за допомогою протоколу I2C. Модуль MPU9250 влаштований таким же чином, як і MPU6050 за винятком того, що в першому встановлений також трехосевой магнітометр. Передбачалося два варіанти розміщення датчиків:

  1. 6 датчиків (по одному на кожному пальці і один на тильній стороні долоні);
  2. 16 датчиків (на кожному пальці по 3 датчика, тобто на кожній фаланзі).

У першому варіанті датчик розташовувався б на кінчику пальця і доводилося б робити додаткові розрахунки для відображення руху всього пальця. У другому випадку для кожної степу свободи був би свій датчик.

Також в проекті знайшов застосування і потенціометр. Але для його використання потрібна була розробка додаткової конструкції.

4.2. Розробка конструкції для потенціометра

За допомогою, якої можна було б оцінити на який кут змістилася одна фаланга пальця щодо іншої. Зсув буде оцінюватися переміщенням ручки потенціометра. Конструкція (див.мал.5) була розроблена за допомогою програмного забезпечення Fusion 360 [7] і роздрукована на 3D принтері. Конструкція була роздрукована з ABS+ пластика, при друку використовувалося програмне забезпечення Repetier Host [8]. Конструкція складається з декількох частин: кріплення на зміщується фалангу пальця, 2 проміжних ланки і ланка кріплення на статичну фалангу.

Конструкція розробки за допомогою програмного забезпечення Fusion 360

Малюнок 5 – Конструкція розробки за допомогою програмного забезпечення Fusion 360.

4.3. Порівняння результатів показань потенціометра і датчика MPU6050

Також було проведено дослідження за допомогою якого оцінювалася точність показань модуля MPU6050 і потенціометра. Потенціометр і датчик кріпилися до валу, серводвігателя, який змінював кут від 0 і 90 градусів. Для фільтрації показань датчика використовувався комплементарний фільтр. Було знято три графіка для осі X, Y, Z (див.мал. 6–8). На підставі графіків був зроблений висновок. Що показання потенціометра точніше, і необхідне застосування інших фільтрів для датчика Маджвіка, Махоні або Калмана, а при застосуванні осі Z необхідно і зовсім застосування модуля MPU9250.

Графіки сигналів з потенціометра (помаранчевий колір) і датчика MPU6050 (синій колір) по осі Y

Малюнок 6 – Графік сигналів з потенціометра (помаранчевий колір) і датчика MPU6050 (синій колір) по осі Y.

Графіки сигналів з потенціометра (помаранчевий колір) і датчика MPU6050 (синій колір) по осі X

Малюнок 7 – Графік сигналів з потенціометра (помаранчевий колір) і датчика MPU6050 (синій колір) по осі X.

Графіки сигналів з потенціометра (помаранчевий колір) і датчика MPU6050 (синій колір) по осі Z

Малюнок 8 – Графік сигналів з потенціометра (помаранчевий колір) і датчика MPU6050 (синій колір) по осі Z.

4.4. Мікропроцесорна частина і середовище розробки програми управління

Як мікроконтролера, який обробляє і передає дані на ПК використовується STM32F407VE [9]. Вибір даного мікроконтролера обумовлений такими факторами: даний мікроконтролер має велику тактову частоту, тобто швидкість роботи, має додатковий процесор для вирішення математичних операцій, що необхідно в даному проекті, також має велику кількість пинов і має можливість програмуватися за допомогою бібліотеки Waijung в пакеті Matlab. Waijung бібліотека, є Simulink бібліотекою, яка може бути використана для легкої і автоматичної генерації C коду з імітаційних моделей MATLAB / Simulink для багатьох видів мікроконтролерів.

В даний час Waijung [10] був розроблений спеціально для підтримки сімейства STM32F4 мікроконтролерів (STM32F4 Target), які є Hi‑Performance & DSP MCU від STMicroelectronics.

Waijung Blockset підтримує 32‑бітові та 64‑бітові операційні системи.

Бібліотека Waijung володіє великим функціоналом:

Нижче наведено приклад програми (див.мал.9) з компліментарних фільтром для датчика MPU6050 створений за допомогою бібліотеки Waijung.

Приклад програми з компліментарних фільтром для датчика MPU6050 створений за допомогою бібліотеки Waijung

Малюнок 8 – Приклад програми з компліментарних фільтром для датчика MPU6050 створений за допомогою бібліотеки Waijung.

4.5. Візуалізація рухів руки

Також в пакеті Matlab в додатку Simulink за допомогою бібліотеки Simscape Multibody розробляється і майбутня 3D модель руки. Яка буде в реальному часі змінювати своє положення відповідно до реальної. Модель (див.мал.10) складається з блоків Solid, Rigid Transform, Revolute Joint, Mechanism Configuration, World Frame. Блоки Mechanism Configuration і World Frame необхідні для працездатності системи. У блоках Solid містяться 3D моделі: кістки руки. Блок Rigid Transform служить для перетворення системи координат. У моделі він був необхідний для суміщення фланг пальців. Блок Revolute Joint необхідний для того, щоб задати обертання однієї фаланги пальця щодо іншої. Сигнал на обертання надходить з мікроконтролера, а він в свою чергу отримує їх з датчиків, які перебувають на рукавичці. Також за допомогою цього блоку можна вивести відпрацьований переміщення на графіки. Нижче наведено приклад, який ілюструє рух вказівного пальця (див.мал.11).

Модель вказівного пальця створена за допомогою бібліотеки Simscape Multibody

Малюнок 9 – Модель вказівного пальця створена за допомогою бібліотеки Simscape Multibody.

3D модель вказівного пальця (анімація: 11 nbsp;кадрів, 7  циклів повторення, 259   кілобайт)

Малюнок 11 – 3D модель вказівного пальця
(анімація: 11 кадрів, 7 циклів повторення, 259 кілобайт)

Висновки

Необхідно провести аналіз якості фільтрації вихідних даних датчика за допомогою фільтра Маджвіка, Махоні, Калмана. А також провести дослідження щодо якості обробки даних цифровим процесором руху (DMP).

Перелік посилань

  1. CaptoGlove [Электронный ресурс]. – Режим доступа: https://www.captoglove.com/.
  2. Hi5 VR Glove [Электронный ресурс]. – Режим доступа: https://hi5vrglove.com/.
  3. Ручной интерфейс: Перчатки AcceleGlove [Электронный ресурс]. – Режим доступа: https://www.popmech.ru/gadgets/9285-ruchnoy-interfeys-perchatki-acceleglove/.
  4. Motion tracking glove for augmented reality and virtual reality [Электронный ресурс]. – Режим доступа: https://www.degruyter.com/view/j/pjbr.2019.10.issue-1/pjbr-2019-0012/pjbr-2019-0012.xml.
  5. MPU6050 [Электронный ресурс]. – Режим доступа: https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/.
  6. MPU9250 [Электронный ресурс]. – Режим доступа: https://www.invensense.com/products/motion-tracking/9-axis/mpu-9250/.
  7. Fusion 360 [Электронный ресурс]. – Режим доступа: https://www.autodesk.com/products/fusion-360/students-teachers-educators.
  8. Repetier Host [Электронный ресурс]. – Режим доступа: https://www.repetier.com/download-now/.
  9. STM32F407VE [Электронный ресурс]. – Режим доступа: https://www.st.com/en/microcontrollers-microprocessors/stm32f407ve.html.
  10. Waijung [Электронный ресурс]. – Режим доступа: http://waijung.aimagin.com/.