Русский   English
 

Реферат за темою випускної роботи

Зміст

Вступ

Комп'ютерне зір є однією з найбільш перспективних напрямків в робототехніці. Завдяки можливостям стереозрения, робототехнічні пристрої може:

  1. Оцінювати перешкоди на своєму шляху.
  2. Знаходити необхідні об'єкти серед безлічі предметів.
  3. Ідентифікувати суглоби людини.
  4. Отримувати координати необхідного об'єкта і багато іншого.

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

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

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

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

Мета роботи – створення алгоритму планування траєкторії для опорно-рухового апарату антропоморфного робота. Як задає пристрою буде використано відносне положення суглобів правої руки.

3. Вибір датчика для захоплення руху

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

3.1 Kinect

Спочатку, розробники ставили перед собою завдання створення безконтактного ігрового контролера, який став би хорошим доповненням до ігрової консолі Xbox 360 [1]. На малюнку 3.1 представлений зовнішній вигляд пристрою.

Зовнішній вигляд Kinect for Xbox 360

Малюнок 3.1 – Зовнішній вигляд Kinect for Xbox 360


Однак зараз, Kinect більше асоціюється як пристрій, який вже мало пов'язано з ігровою індустрією.

На малюнку 3.2 зображено локальне розташування складових частин сенсора.

Розташування робочих органів сенсора

Малюнок 3.2 – Розташування робочих органів сенсора


З малюнка 3.2 маємо наступні складові частини[2]:

  1. IR Emitter – інфрачервоний проектор.
  2. LED – світлодіод. Необхідний для індикації справності сенсора і ПО.
  3. Color Camera – RGB‑камера:
    • 30 кадрів в секунду при роздільній здатності 640х480;
    • 12 кадрів в секунду при дозволі 1280х960.
  4. IR Depth Sensor – інфрачервона камера.
  5. Microphone Array – мікрофонна решітка. Складається з 4‑х мікрофонів.
  6. Мотор.

Мотор дозволяє повертати тіло щодо заснування на ± 27 °

3.2 Asus Xtion Pro

На малюнку 3.3 представлений зовнішній вигляд сенсора з розташуванням його основних частин[3].

Зовнішній вигляд сенсора Asus Xtion

Малюнок 3.3 – Зовнішній вигляд сенсора Asus Xtion


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

4. Принцип дії основних вузлів датчика

Для написання відповідної програми для Kinect Xbox 360, необхідно спершу розібратися з принципом дії основних елементів.

4.1 Підключення та підготовка до роботи

Для підключення даного сенсора, необхідна наявність спеціального перехідника (малюнок 4.1).

Необхідний перехідник для підключення до ПК

Малюнок 4.1 – Необхідний перехідник для підключення до ПК


З огляду на те, що ПЗ, на якому працює комп'ютер і сам контролер, є продуктами однієї компанії. Тому, Microsoft випустила повну підтримку свого продукту Kinect for Windows SDK[4].

Варто відзначити, що існують також і інші бібліотеки, що дозволяють запрограмувати сенсор як це необхідно (OpenNI, OpenKinect, KinectPy, Coding4Fun[5]).

4.2 Принцип дії камери глибини

В основному, камеру глибини використовують для виділення об'єктів і отримання інформації про відстані до них. Варто відзначити, що найбільш важливим з основних елементів датчика є саме камера глибини (малюнок 4.2).

Отримання координат об'єкту

Малюнок 4.2 – Отримання координат об'єкту


4.3 Отримання інформації про суглоби людини і побудова карти скелета

Коли користувачеві необхідно отримати дані про скелет, то йому буде потрібно відкрити окремий потік для обробки і отримання необхідної інформації[6]. Якщо отримано запит на отримання інформації про скелет користувача, воно починає запитувати необроблені дані з камери глибини.

В результаті виконання алгоритму, датчик отримує дані про суглобах тіла людини і дозволяє працювати з ними (рисунок 4.3).

Приблизна карта скелета

Малюнок 4.3 – Приблизна карта скелета


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

5. Передача даних з програми, написаної на C# в Matlab

Для передачі даних буде використаний послідовний порт зв'язку. Буде потрібно сформувати дані (кут завдання для робота) і відправити їх на плату STM32F407VE. Для того, щоб сформувати пакет даних і відправити його по послідовному порту, слід підключити простір імен System.IO.Ports[7]. Дане простір імен дозволяє форматувати і працювати з послідовним портом.

6. Реалізація голосового управління

З огляду на необхідність безпосереднього управління роботом за допомогою оператора, з'явилася задача реалізації управління поведінкою пристрої і програми в цілому віддалено. Датчик Kinect має мікрофонну грати, що дозволяє добре розпізнавати голосові команди.

Для реалізації голосового управління за допомогою Kinect слід виконати кроки:

  1. Зробити датчик записуючим пристроєм за замовчуванням.
  2. Підключити бібліотеку в Visual Studio для розпізнавання голосових команд (в даному випадку використовувалася рідна бібліотека Microsoft Speech Platform[8]).
  3. Ініціалізувати обробник для голосових команд.

7. Створення призначеного для користувача інтерфейсу для вибору режиму роботи

Для роботи з пристроєм і формування завдання на робота, необхідно було створити призначений для користувача інтерфейс, що дозволяє спростити роботу з датчиком і зробити управління більш інтерактивним (малюнок 7.1).

Вітальне вікно при запуску програми

Малюнок 7.1 – Вітальне вікно при запуску програми


8. Створення моделі в MSC Adams

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

Основою MSC.ADAMS[9] є високоефективний препроцесор і набір решателей. Препроцесор забезпечує як імпорт геометричних примітивів з багатьох CAD систем, так і створення твердотільних моделей безпосередньо в середовищі MSC.ADAMS.

На малюнку 8.1 зображена імпортована модель в середу Adams.

Зовнішній вигляд імпортованої моделі

Малюнок 8.1 – Зовнішній вигляд імпортованої моделі


Задавши вихідні дані для кожної деталі, вирішувач, вбудований в Adams, розрахує необхідні моменти інерції і визначить центр мас. Далі, потрібно вказати з'єднання між деталями. У середовищі є такі варіанти з'єднань. На малюнку 8.2 наведено приклад додавання зв'язку типу Revolute Joint.

Встановлення зв'язку між деталями

Малюнок 8.2 – Встановлення зв'язку між деталями


Коли всі з'єднання встановлено, слід вказати закон руху для кожного суглоба робота.

Відпрацювання завдання на присідання

Малюнок 8.3 – Відпрацювання завдання на присідання
(анімація: 14 кадрів, 7 циклів повторення, 368 кБайт)


Висновки

В результаті розробки алгоритму планування траєкторії, було поставлено завдання реалізації даного принципу на практиці, написання відповідного програмного забезпечення для об'єднання основних вузлів, необхідних для роботи. Розглянуто принцип моделювання в середовищі MSC Adams, а також, додавання зв'язку з пакетом Matlab. Це дозволило об'єднати сильні сторони двох засобів і отримати якісний результат моделювання.

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

  1. Официальная страница Kinect. [Электронный ресурс]. – Режим доступа: https://azure.microsoft.com/ru-ru/services/kinect-dk/
  2. Технические характеристики контроллера Kinect. [Электронный ресурс]. – Режим доступа: https://3dnews.ru/594561
  3. Официальный сайт Asus Xtion Pro. [Электронный ресурс]. – Режим доступа: https://www.asus.com/ru/3D-Sensor/Xtion_PRO_LIVE/
  4. Библиотека Kinect for Windows SDK [Электронный ресурс]. – Режим доступа: https://www.microsoft.com/en-ie/download/details.aspx?id=40278
  5. Библиотека Coding4Fun [Электронный ресурс]. – Режим доступа: https://archive.codeplex.com/?p=c4fkinect
  6. Основы отслеживания данных тела человека [Электронный ресурс]. – Режим доступа: https://habr.com/ru/post/151296/
  7. Библиотека для работы с последовательным портом в C# [Электронный ресурс]. – Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/api/system.io.ports.serialport?view=netframework-4.8
  8. Библиотека для реализации голосового управления [Электронный ресурс]. – Режим доступа: https://www.microsoft.com/en-us/download/details.aspx?id=27225
  9. Официальный сайт продукта MSC Adams [Электронный ресурс]. – Режим доступа: https://www.mscsoftware.com/product/adams