Система управління міні-аераторами

Добрий день, шановний читач, ваша увага приділяється проекту розробки системи управління датчиками для міні-походів.
Завдання управління – рух повітряної кулі по лінії. Також впроваджена проста система дистанційного керування.
Об'єкт управління – міні-аержавна компанія, розроблена в кафе EIM, TTI SFU.


Малкa 1 - Загальний вигляд міні-сходу.

Проект спрямований на: розвиток технічної системи бачення для виявлення лінії (траєкторії); розвиток регулятора курсу, що враховує фактори положення лінії та кут нахилу лінії відносно повітряного корабля; розвиток регулятора висоти; розвиток системи дистанційного керування.

1,1 км Розробка сенсорної системи управління базується на міні-airship, розробленому на кафедрі ЕІМ.
До міні-арабства входить оболонка на загальнодоступних компонентах, а саме різноманітні фольги.

Апаратна частина міні-airship складається з
  • - одномісна дошка комп'ютера малиновий пі;
  • - ширококутна веб камера Genius WideCam 1050;
  • - ультразвуковий датчик висоти hc-sr05;
  • - два електродвигуни;
  • - відхилення від тяги двигунів;
  • - підсистеми живлення.
обертання міні-повітряності навколо вертикальної осі здійснюється різними витяжками двигунів. Регулювання висоти повітрювання здійснюється шляхом відведення вектора тяги двигунів по вертикальній осі.
Двигуни Авіакомпанії мають можливість встановити максимальну швидкість обертання 3200 об/хв. Напруга двигуна 7.4 вольт. Двигуни відокремлюються від центру повітрювання по 25 см, а розташовані в нижній частині повіту.

2. Технічна система зору
2.1. Структурна схема технічної системи зору

Малкa 2 - Структурна схема технічної системи зору міні-airship.

Система технічного бачення складається з апаратних і програмних частин. Апаратна частина підключена до програмної частини за допомогою дротового з'єднання, де передається вже сформований сигнал MJPG.

У комплекті є веб камера.

Програма включає:
  • - драйвер камери для отримання відео зображень формату MJPG і налаштування параметрів камери;
  • - модуль обробки зображень.
2.2. Враховуючи обраний метод обробки та алгоритм визначення місця розташування рядка (який буде обговорюватися в наступному розділі), в реалізації програмного забезпечення визначено наступні підтаски:
  • - налаштувати внутрішні параметри відеокамери;
  • Отримати зображення з камери;
  • Перетворення зображення з формату MJPG у формат HSV;
  • - організувати пошук місця перетину за кольором;
  • реалізувати алгоритм визначення координат точки перетину,
  • фільтрує невикористий сигнал;
  • впроваджувати інтеграцію блоку STZ з блоком регулювання напрямку.
Отримання зображення з камери та перетворення у формат HSV доведено до бібліотеки opencv.

2.3. Як ви знаєте, пряма лінія може бути складена через будь-які дві точки в просторі. У цьому випадку технічна система зору міні-airship поставлено завдання з визначенням лінії укладеного. Першим етапом обробки зображень буде пошук цих двох точок, через які була встановлена наша лінія.
Визначте напрямки інтересу до нашого образу, щоб знайти ці точки. Оптимальне розташування зони інтересу стане інтервалом між 1/3 від вертикальної частини рами і 2/3. як показано на малюнку 4 з блакитними лініями.



Малкa 3 - Оптимальне розташування зони інтересу.

Критерій оптимальності розташування зони інтересу полягає в тому, що нижня частина зони інтересу є перпендикулярно дну міні-airship, а верхня не на краю каркаса, що мінімізує спотворення отриманого зображення зони.
Висота кожної зони - 10 пікселів.
Точка перетину з лінією визначається за узгодженням пікселів на даній колір. Кольоровий простір системи бачення HSV.
2 етапи алгоритму з кожною зоною відсотків.

1,1 км Визначення відповідності заданим кольором відбувається в масиві, ширина якого - ширина кадру, отриманої з камери. Кожен елемент масиву є середнім 10 пікселів у стовпці зони інтересу. Це в середньому колір шуму, що надходить з камери. У масиві є 3 лінії, кожен відповідних каналів HSV. На виході ми отримуємо одновимірний масив, в якому значення "1" вказується адреси пікселя, що відповідають заданим кольором, значення "0" вказує на адреси пікселя, які не відповідають зазначеним кольором.
для(x=0; ximageData + y2*); r=data[offset + 2]; b=data[offset]; s[y2-35]=b; [y2-35]=g; [v2][v2][v2][v]][h+s[10][h+s][h+s][h+s][h+s][h+s][h][h]+h][h][h+h][h+h[h][h][h+h][h][h][h+h+h];[h[h[h][h][h][h]+h+h]+h[h[h[h][h[h][h[h[h[h][h[h[h][h][h][h][h][h][h[h][h][h][h[h]
2. Визначення лівого і правого кордону зони перетину.
На вхідному масиві заповнюється два масиви однакового розміру. Зателефонуйте їм st1 і st2. Алгоритм заповнення масиву реалізується циклом, в якому змінна лінійно збільшена, якщо елемент вхідного масиву в питанні 1 і зменшується доцільно, якщо елемент у питанні 0 і записується в наступний елемент масиву ST1. Для формування масиву st2, масив введення переглядається з кінця. В результаті масиви st1 і st2 можуть бути графічно представлені як такі (рис. 5).


Малкa 5 - Графічне представлення масивів st1 і st2.

Корисний сигнал – найширший район визначення кольору. Шум невеликий помилковий позитив, який можна спостерігати на малюнку 7. Географічні координати х максимального елемента червоного графіка (st1) - права сторона лінії перетину зони відсотків. Географічні координати х максимального синього елемента графа (ст2) знаходяться лівою стороною лінії, яка переходить на зону інтересу.
Список
подвійна сума=1; подвійний підсум2=1; для (x=0; xПісля утворення масивів st1 і st2 розраховується максимальні елементи масиву, а центр зони перетину. Нанесення всіх описаних дій до другої зони перетину, на виході ми маємо координати точок, через які лінія проходить.
Використання загального методу, визначення зони довіри в наступному кадрі, відповідно до стану об'єкта в попередньому стані, оскільки цей метод показав прийнятні результати шуму в вихідних параметрах. Також використання цього методу не зменшить навантаження процесора, так як ми маємо справу тільки з багаторазовою силою двох масивів з шириною 176 пікселів, роздільною здатністю всього отриманого зображення становить 176x144 пікселів.

3. Направлення контролера 3.1. Структурна схема регулятора в системі управління частинами
Малкa 4 - структурна схема регулятора напрямку.

Програмне забезпечення складається з:
- нечіткий регулятор; - математичний модуль розрахунку лінійного обертання; - програмне забезпечення PIM. Апаратна частина Малинового пі складається з bcm2835 процесора, що з'єднує Gpio висновки на основі результатів програмного забезпечення PWM.

Застосування обладнання складається з:
- L293DNE драйвери двигуна - прямий електродвигун. Структурна схема регулювання напрямку складається з програмної частини на основі нечітких регуляторів. Алгоритм дефасифікації є алгоритмом Мамдані.
Використання програмного забезпечення PWM пов'язано з відсутністю апаратного PWM в одному платному комп'ютері з малиновим пі.
Драйвер двигуна використовується для посилення сигналу PWM.

3.2. Розробка нечітких контролерів.3.2.1. Визначення вводів і виходів створеної системи. Так як для точного проходу міні-airship по лінії необхідно враховувати як відхилення лінії від осі повітряного корабля, так і обертання відносно тієї ж осі, відповідно, параметри введення регулятора встановлюють змінну відхилення (OTCL) і обертання (POV). Вихідні змінні регулятора будуть параметри вихідного сигналу PWM у процентному співвідношенні. Вихід змінного впливу на лівий двигун призначений як (LEV), правий двигун, відповідно (ПРАВО)

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

Малкa 5 - Умови вихідної змінної LEV і ПРАВ.

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

Рис. 6 - Therm OTCL і POV.

3.2.3. Для розробки бази правил необхідно розробити лінгвістичні змінні (терміни) з простими підходами.

Малкa 7 - Розробка умов.

OTCL 1 - жорсткий лівий.
OTCL 2 зліва.
OTCL 3, центр.
OTCL 4 праворуч.
OTCL 5, жорсткий вправо. ПОВ 1 - жорсткий лівий.
POV 2 пішов.
ПОВ 3, центр.
ПОВ 4 вправо.
POV 5, жорсткий вправо. LEV 1 дуже слабкий.
LEV 2 слабкий.
LEV 3 є середнім.
ЛЕВ 4 - дуже сильний
LEV 5 дуже сильний. Право 1 дуже слабкий.
Право 2 слабкий.
ПРАВА 3 є середнім.
ПРАВА 4 - сильно
ПРАВА 5 - дуже сильно У зв'язку з цими назвами, враховуючи, що міні-airship управляється різницею тяги на двигунах.
блок правила:
Якщо зліва сильний, зліва дуже слабкий і правий дуже сильний.
Якщо ви йдете зліва, лев слабкий. І правий сильний.
Якщо центр вимкнено, то лев середній. І справа середня.
Якщо ви повернете прямо, лев сильний і правий слабкий. Якщо справа, лев дуже сильний. І ПРАВА дуже слабка.
Якщо зліва сильний, зліва дуже слабкий. І ПРАВА дуже міцна.
Якщо зліва, лев слабкий. І правий сильний.
Якщо справа, лева сильна і права слабка.
Якщо це справа, лев дуже сильний. Можна відзначити, що для вхідної змінної POC немає підключення середніх значень. Це пов'язано з тим, що при правильній спрямованості поздовжньої віссі повітряного корабля відносно лінії і відхилення від неї, середньостроковий термін натягував вхідні значення двигунів до середини, що невірно в цьому положенні повітря.

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

3. 2.4. Аналіз процесу нечіткої системи
Проаналізувати процес роботи. Побудовано кореляційні портрети регулятора. Ось Y є входом VOC, вісь X є вхід VOC. Колір пікселя відповідає вхідної змінної кожного двигуна, білий - мінімальний, чорний - максимальний.

Малкa 8 - Кореляційні портрети вихідного значення нечіткий системи для лівого і правого мотора, перетин кореляційних портретів.

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



4. У Регулятор висоти 4.1. Структурна схема регулятора
Малкa 9 - Структурна схема регулятора висоти.

Програмне забезпечення складається з:
PI регулятора на нечіткої логіці; математичний модуль розрахунку дистанцій; програмне забезпечення PIM; Апаратна частина Малинового пі складається з bcm2835 процесора, що з'єднує Gpio висновки на основі результатів програмного забезпечення PWM.

Реалізація обладнання складається з
Сервопривід, зміни вектора тяги двигунів; Ультразвуковий датчик HC-SR05. 4.2. Розробка нечітких регуляторів 4.2.1. Визначення входів та виходів створеної системи
Введення параметра нечіткої частини регулятора є помилкою від бажаної висоти. Вихідна змінна - пропорційна порція компонента гібридного регулятора.
Інтегрований компонент - вихід всієї системи і реалізується просто в якості кумулятивної змінної, відповідальної за позицію сервопривода.

4.2.2.1.2.00 Р Завдання для кожного з вхідної та вихідної змінної функції аксесуара з термометрами Ми встановлюємо умови виходу на поверхню, керовані рівномірним розподілом умов. Нелінійність виходу нечіткої системи надається умовами змінної вводу.

Малкa 10 - Умови вихідного змінного струму

Умови внесення змінної помилки з висоти показано на малюнку нижче.

Рис. 11 - Умови вхідної змінної HIGHT

4.2.3. Для розробки бази правил необхідно розробити лінгвістичні змінні (терміни) з простими підходами.

Малюнок 12 - Дизайн Терми

Висота 1 - сильний відхилення вниз.
Висота 2 - відхилення внизу.
Висота 3 - відсутність відхилення.
Висота 4 - відхилення вгору.
Висота 5 сильного відхилення вершини Exit 1 - висока позитивна
Вихід 2 позитивно
Вихід 3 - нуль
Вихід 4 негативний
Вихід 5 - Високий негативний
Відповідно встановити прямий зв'язок терміну.
блок правила:
ЯКЩО ЗДОРОВ'Я: Сильний відхилення вниз, Вихід: Висока позитивна
Якщо висота: відхилення вниз, то вихід: позитивний
Якщо висота: немає відхилення, то вихід: нуль
Якщо висота: відхилення вгору, то вихід: негативний
Якщо висота висока, то вихід високий негативний.

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

Передача сигналів натискання здійснюється через бездротовий Wi-Fi канал через протокол Ssh, в якому з наземної базової станції (PC) клавіатури передається на віддалений комп'ютер.
Відео потік передається таким же чином, тому що протокол Ssh дозволяє спостерігати екран пульта дистанційного керування.

6. Жнівень У лабораторії досліджено розроблену систему. Система зору визнає позицію лінії і передає координати точок перетину до блоку регулятора напрямку.


Робота технічної системи зору


Політ міні-airship

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

Малкa 13 - Посади вектора тяги і датчика висоти повітря. Надана висота 80 см.

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

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

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

Проведення тестів було записано на відео, а також колоду станів системи, що дозволило нам зробити висновки, сформульовані вище.

Джерело: habrahabr.ru/post/234609/